Hierarchy

Constructors

Methods

  • Parameters

    • calldata: `0x${string}`

    Returns readonly [`0x${string}`, bigint]

  • Parameters

    • data: `0x${string}`

    Returns Promise<{
        txHash: `0x${string}`;
        waitTxInBlock: (() => Promise<TransactionReceipt>);
    }>

Properties

abi: readonly [{
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "spender";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "Approval";
}, {
    type: "event";
    anonymous: false;
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "to";
        internalType: "address";
        type: "address";
        indexed: true;
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
        indexed: false;
    }];
    name: "Transfer";
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "DOMAIN_SEPARATOR";
    outputs: readonly [{
        name: "";
        internalType: "bytes32";
        type: "bytes32";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }, {
        name: "";
        internalType: "address";
        type: "address";
    }];
    name: "allowance";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "spender";
        internalType: "address";
        type: "address";
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "approve";
    outputs: readonly [{
        name: "";
        internalType: "bool";
        type: "bool";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
    name: "balanceOf";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "decimals";
    outputs: readonly [{
        name: "";
        internalType: "uint8";
        type: "uint8";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "name";
    outputs: readonly [{
        name: "";
        internalType: "string";
        type: "string";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [{
        name: "";
        internalType: "address";
        type: "address";
    }];
    name: "nonces";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "owner";
        internalType: "address";
        type: "address";
    }, {
        name: "spender";
        internalType: "address";
        type: "address";
    }, {
        name: "value";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "deadline";
        internalType: "uint256";
        type: "uint256";
    }, {
        name: "v";
        internalType: "uint8";
        type: "uint8";
    }, {
        name: "r";
        internalType: "bytes32";
        type: "bytes32";
    }, {
        name: "s";
        internalType: "bytes32";
        type: "bytes32";
    }];
    name: "permit";
    outputs: readonly [];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "symbol";
    outputs: readonly [{
        name: "";
        internalType: "string";
        type: "string";
    }];
}, {
    stateMutability: "view";
    type: "function";
    inputs: readonly [];
    name: "totalSupply";
    outputs: readonly [{
        name: "";
        internalType: "uint256";
        type: "uint256";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "to";
        internalType: "address";
        type: "address";
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "transfer";
    outputs: readonly [{
        name: "";
        internalType: "bool";
        type: "bool";
    }];
}, {
    stateMutability: "nonpayable";
    type: "function";
    inputs: readonly [{
        name: "from";
        internalType: "address";
        type: "address";
    }, {
        name: "to";
        internalType: "address";
        type: "address";
    }, {
        name: "amount";
        internalType: "uint256";
        type: "uint256";
    }];
    name: "transferFrom";
    outputs: readonly [{
        name: "";
        internalType: "bool";
        type: "bool";
    }];
}]
address: `0x${string}`
bcClient: {}

Type declaration

    wallet: {}

    Type declaration

      contract: GetContractReturnType<readonly [{
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "Approval";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "to";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "Transfer";
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "DOMAIN_SEPARATOR";
          outputs: readonly [{
              name: "";
              internalType: "bytes32";
              type: "bytes32";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "allowance";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              name: "";
              internalType: "uint8";
              type: "uint8";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "nonces";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "value";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "deadline";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "v";
              internalType: "uint8";
              type: "uint8";
          }, {
              name: "r";
              internalType: "bytes32";
              type: "bytes32";
          }, {
              name: "s";
              internalType: "bytes32";
              type: "bytes32";
          }];
          name: "permit";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transfer";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }], {} | {}>
      safeContractWrite: {
          approve: ((args, options?) => Promise<`0x${string}`>);
          permit: ((args, options?) => Promise<`0x${string}`>);
          transfer: ((args, options?) => Promise<`0x${string}`>);
          transferFrom: ((args, options?) => Promise<`0x${string}`>);
      }

      Type declaration

      • approve: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

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

      • permit: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, `0x${string}`, bigint, bigint, number, `0x${string}`, `0x${string}`]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

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

      • transfer: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

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

      • transferFrom: ((args, options?) => Promise<`0x${string}`>)
          • (args, options?): Promise<`0x${string}`>
          • Parameters

            • args: readonly [`0x${string}`, `0x${string}`, bigint]
            • Optional options: {
                  value?: bigint;
              }
              • Optional value?: bigint

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

      parseEventLogs: (<TFunctionName>(eventName, logs) => ParseEventLogsReturnType<readonly [{
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "Approval";
      }, {
          type: "event";
          anonymous: false;
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "to";
              internalType: "address";
              type: "address";
              indexed: true;
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
              indexed: false;
          }];
          name: "Transfer";
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "DOMAIN_SEPARATOR";
          outputs: readonly [{
              name: "";
              internalType: "bytes32";
              type: "bytes32";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }, {
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "allowance";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "approve";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "balanceOf";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "decimals";
          outputs: readonly [{
              name: "";
              internalType: "uint8";
              type: "uint8";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "name";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [{
              name: "";
              internalType: "address";
              type: "address";
          }];
          name: "nonces";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "owner";
              internalType: "address";
              type: "address";
          }, {
              name: "spender";
              internalType: "address";
              type: "address";
          }, {
              name: "value";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "deadline";
              internalType: "uint256";
              type: "uint256";
          }, {
              name: "v";
              internalType: "uint8";
              type: "uint8";
          }, {
              name: "r";
              internalType: "bytes32";
              type: "bytes32";
          }, {
              name: "s";
              internalType: "bytes32";
              type: "bytes32";
          }];
          name: "permit";
          outputs: readonly [];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "symbol";
          outputs: readonly [{
              name: "";
              internalType: "string";
              type: "string";
          }];
      }, {
          stateMutability: "view";
          type: "function";
          inputs: readonly [];
          name: "totalSupply";
          outputs: readonly [{
              name: "";
              internalType: "uint256";
              type: "uint256";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transfer";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }, {
          stateMutability: "nonpayable";
          type: "function";
          inputs: readonly [{
              name: "from";
              internalType: "address";
              type: "address";
          }, {
              name: "to";
              internalType: "address";
              type: "address";
          }, {
              name: "amount";
              internalType: "uint256";
              type: "uint256";
          }];
          name: "transferFrom";
          outputs: readonly [{
              name: "";
              internalType: "bool";
              type: "bool";
          }];
      }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer")[]
          ? TFunctionName[number]
          : TFunctionName>)

      Type declaration

        • <TFunctionName>(eventName, logs): ParseEventLogsReturnType<readonly [{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "Approval";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "Transfer";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "DOMAIN_SEPARATOR";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes32";
                  type: "bytes32";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "allowance";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "approve";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "decimals";
              outputs: readonly [{
                  name: "";
                  internalType: "uint8";
                  type: "uint8";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "nonces";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "value";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "deadline";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "v";
                  internalType: "uint8";
                  type: "uint8";
              }, {
                  name: "r";
                  internalType: "bytes32";
                  type: "bytes32";
              }, {
                  name: "s";
                  internalType: "bytes32";
                  type: "bytes32";
              }];
              name: "permit";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "totalSupply";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transfer";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transferFrom";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer")[]
              ? TFunctionName[number]
              : TFunctionName>
        • Type Parameters

          • TFunctionName extends "Approval" | "Transfer"

          Parameters

          • eventName: TFunctionName
          • logs: Log<bigint, number, false>[]

          Returns ParseEventLogsReturnType<readonly [{
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "Approval";
          }, {
              type: "event";
              anonymous: false;
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
                  indexed: true;
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
                  indexed: false;
              }];
              name: "Transfer";
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "DOMAIN_SEPARATOR";
              outputs: readonly [{
                  name: "";
                  internalType: "bytes32";
                  type: "bytes32";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "allowance";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "approve";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "balanceOf";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "decimals";
              outputs: readonly [{
                  name: "";
                  internalType: "uint8";
                  type: "uint8";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "name";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [{
                  name: "";
                  internalType: "address";
                  type: "address";
              }];
              name: "nonces";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "owner";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "spender";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "value";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "deadline";
                  internalType: "uint256";
                  type: "uint256";
              }, {
                  name: "v";
                  internalType: "uint8";
                  type: "uint8";
              }, {
                  name: "r";
                  internalType: "bytes32";
                  type: "bytes32";
              }, {
                  name: "s";
                  internalType: "bytes32";
                  type: "bytes32";
              }];
              name: "permit";
              outputs: readonly [];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "symbol";
              outputs: readonly [{
                  name: "";
                  internalType: "string";
                  type: "string";
              }];
          }, {
              stateMutability: "view";
              type: "function";
              inputs: readonly [];
              name: "totalSupply";
              outputs: readonly [{
                  name: "";
                  internalType: "uint256";
                  type: "uint256";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transfer";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }, {
              stateMutability: "nonpayable";
              type: "function";
              inputs: readonly [{
                  name: "from";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "to";
                  internalType: "address";
                  type: "address";
              }, {
                  name: "amount";
                  internalType: "uint256";
                  type: "uint256";
              }];
              name: "transferFrom";
              outputs: readonly [{
                  name: "";
                  internalType: "bool";
                  type: "bool";
              }];
          }], TFunctionName, true, TFunctionName extends ("Approval" | "Transfer")[]
              ? TFunctionName[number]
              : TFunctionName>