Class IERC20NamedClient

IERC20NamedClient

Description

Type-safe contract client for IERC20Named

Example

import { sepolia } from "viem/chains";

const client = createIERC20NamedClient({
chain: sepolia,
address: "0x1234..."
});

Hierarchy (view full)

Constructors

Properties

Methods

Constructors

Properties

abi: readonly [{
    inputs: readonly [];
    name: "InvalidAccount";
    type: "error";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Approval";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "from";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Transfer";
    type: "event";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        internalType: "address";
        name: "spender";
        type: "address";
    }];
    name: "allowance";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "decimals";
    outputs: readonly [{
        internalType: "uint8";
        name: "";
        type: "uint8";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transfer";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "sender";
        type: "address";
    }, {
        internalType: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}]
address?: `0x${string}`
chain?: Chain
reads: {
    allowance(allowanceArgs): Promise<bigint>;
    balanceOf(balanceOfArgs): Promise<bigint>;
    decimals(): Promise<number>;
    name(): Promise<string>;
    symbol(): Promise<string>;
    totalSupply(): Promise<bigint>;
}

Type declaration

ABI: readonly [{
    inputs: readonly [];
    name: "InvalidAccount";
    type: "error";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Approval";
    type: "event";
}, {
    anonymous: false;
    inputs: readonly [{
        indexed: true;
        internalType: "address";
        name: "from";
        type: "address";
    }, {
        indexed: true;
        internalType: "address";
        name: "to";
        type: "address";
    }, {
        indexed: false;
        internalType: "uint256";
        name: "value";
        type: "uint256";
    }];
    name: "Transfer";
    type: "event";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "owner";
        type: "address";
    }, {
        internalType: "address";
        name: "spender";
        type: "address";
    }];
    name: "allowance";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "spender";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "account";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "decimals";
    outputs: readonly [{
        internalType: "uint8";
        name: "";
        type: "uint8";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        internalType: "string";
        name: "";
        type: "string";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        internalType: "uint256";
        name: "";
        type: "uint256";
    }];
    stateMutability: "view";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transfer";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}, {
    inputs: readonly [{
        internalType: "address";
        name: "sender";
        type: "address";
    }, {
        internalType: "address";
        name: "recipient";
        type: "address";
    }, {
        internalType: "uint256";
        name: "amount";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [{
        internalType: "bool";
        name: "";
        type: "bool";
    }];
    stateMutability: "nonpayable";
    type: "function";
}] = ABI_FILE.abi
contractName: "IERC20Named" = ABI_FILE.contractName

Methods

  • Type Parameters

    • TFunctionName extends "symbol" | "name" | "allowance" | "balanceOf" | "decimals" | "totalSupply"

    Parameters

    • functionName: TFunctionName
    • Optional params: Omit<ReadContractParameters<readonly [{
          inputs: readonly [];
          name: "InvalidAccount";
          type: "error";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "spender";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "value";
              type: "uint256";
          }];
          name: "Approval";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "value";
              type: "uint256";
          }];
          name: "Transfer";
          type: "event";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              internalType: "address";
              name: "spender";
              type: "address";
          }];
          name: "allowance";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "spender";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "account";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              internalType: "uint8";
              name: "";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "recipient";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "transfer";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "sender";
              type: "address";
          }, {
              internalType: "address";
              name: "recipient";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }], TFunctionName>, "address" | "abi" | "functionName"> & {
          address?: `0x${string}`;
      }

    Returns Promise<{
            [K in string | number | symbol]: {
                [K in string | number | symbol]: AbiParameterToPrimitiveType<ExtractAbiFunctionForArgs<readonly [{
                    inputs: ...;
                    name: ...;
                    type: ...;
                }, {
                    anonymous: ...;
                    inputs: ...;
                    name: ...;
                    type: ...;
                }, {
                    anonymous: ...;
                    inputs: ...;
                    name: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }, {
                    inputs: ...;
                    name: ...;
                    outputs: ...;
                    stateMutability: ...;
                    type: ...;
                }], "view", TFunctionName, ContractFunctionArgs<readonly [(...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...), (...)], "view", TFunctionName>>["outputs"][K], AbiParameterKind>
            }[K]
        } extends types
        ? types extends readonly []
            ? void
            : types extends readonly [type]
                ? type
                : types
        : never>

  • Type Parameters

    • TFunctionName extends "approve" | "transfer" | "transferFrom"

    Parameters

    • functionName: TFunctionName
    • Optional params: Omit<WriteContractParameters<readonly [{
          inputs: readonly [];
          name: "InvalidAccount";
          type: "error";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "spender";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "value";
              type: "uint256";
          }];
          name: "Approval";
          type: "event";
      }, {
          anonymous: false;
          inputs: readonly [{
              indexed: true;
              internalType: "address";
              name: "from";
              type: "address";
          }, {
              indexed: true;
              internalType: "address";
              name: "to";
              type: "address";
          }, {
              indexed: false;
              internalType: "uint256";
              name: "value";
              type: "uint256";
          }];
          name: "Transfer";
          type: "event";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "owner";
              type: "address";
          }, {
              internalType: "address";
              name: "spender";
              type: "address";
          }];
          name: "allowance";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "spender";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "account";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              internalType: "uint8";
              name: "";
              type: "uint8";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              internalType: "string";
              name: "";
              type: "string";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              internalType: "uint256";
              name: "";
              type: "uint256";
          }];
          stateMutability: "view";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "recipient";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "transfer";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }, {
          inputs: readonly [{
              internalType: "address";
              name: "sender";
              type: "address";
          }, {
              internalType: "address";
              name: "recipient";
              type: "address";
          }, {
              internalType: "uint256";
              name: "amount";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [{
              internalType: "bool";
              name: "";
              type: "bool";
          }];
          stateMutability: "nonpayable";
          type: "function";
      }], TFunctionName>, "address" | "abi" | "functionName"> & {
          address?: `0x${string}`;
      }

    Returns Promise<`0x${string}`>

Generated using TypeDoc