Readonly
abi
abi: readonly [{
inputs: readonly [{
internalType: "address";
name: "interchainTokenService_";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "AlreadyFlowLimiter";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "limit";
type: "uint256";
}, {
internalType: "uint256";
name: "flowAmount";
type: "uint256";
}, {
internalType: "address";
name: "tokenManager";
type: "address";
}];
name: "FlowLimitExceeded";
type: "error";
}, {
inputs: readonly [];
name: "GiveTokenFailed";
type: "error";
}, {
inputs: readonly [{
internalType: "bytes";
name: "bytesAddress";
type: "bytes";
}];
name: "InvalidBytesLength";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "fromAccount";
type: "address";
}, {
internalType: "address";
name: "toAccount";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "InvalidProposedRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "MissingAllRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "MissingAnyOfRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint8";
name: "role";
type: "uint8";
}];
name: "MissingRole";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "NotFlowLimiter";
type: "error";
}, {
inputs: readonly [];
name: "NotProxy";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}];
name: "NotService";
type: "error";
}, {
inputs: readonly [];
name: "NotSupported";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}];
name: "NotToken";
type: "error";
}, {
inputs: readonly [];
name: "TakeTokenFailed";
type: "error";
}, {
inputs: readonly [];
name: "TokenLinkerZeroAddress";
type: "error";
}, {
inputs: readonly [];
name: "TokenTransferFailed";
type: "error";
}, {
inputs: readonly [];
name: "ZeroAddress";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "tokenId";
type: "bytes32";
}, {
indexed: false;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
name: "FlowLimitSet";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesAdded";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "fromAccount";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "toAccount";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesProposed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesRemoved";
type: "event";
}, {
inputs: readonly [{
internalType: "address";
name: "fromOperator";
type: "address";
}];
name: "acceptOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "addFlowIn";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "addFlowLimiter";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "addFlowOut";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "approveService";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "contractId";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "flowInAmount";
outputs: readonly [{
internalType: "uint256";
name: "flowInAmount_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "flowLimit";
outputs: readonly [{
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "flowOutAmount";
outputs: readonly [{
internalType: "uint256";
name: "flowOutAmount_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
name: "getTokenAddressFromParams";
outputs: readonly [{
internalType: "address";
name: "tokenAddress_";
type: "address";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint8";
name: "role";
type: "uint8";
}];
name: "hasRole";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "implementationType";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "interchainTokenId";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "interchainTokenService";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "addr";
type: "address";
}];
name: "isFlowLimiter";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "addr";
type: "address";
}];
name: "isOperator";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "operator_";
type: "bytes";
}, {
internalType: "address";
name: "tokenAddress_";
type: "address";
}];
name: "params";
outputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}];
name: "proposeOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "removeFlowLimiter";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
name: "setFlowLimit";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
name: "setup";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "tokenAddress";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}];
name: "transferOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}]
Static
ABI
ABI: readonly [{
inputs: readonly [{
internalType: "address";
name: "interchainTokenService_";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "AlreadyFlowLimiter";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "limit";
type: "uint256";
}, {
internalType: "uint256";
name: "flowAmount";
type: "uint256";
}, {
internalType: "address";
name: "tokenManager";
type: "address";
}];
name: "FlowLimitExceeded";
type: "error";
}, {
inputs: readonly [];
name: "GiveTokenFailed";
type: "error";
}, {
inputs: readonly [{
internalType: "bytes";
name: "bytesAddress";
type: "bytes";
}];
name: "InvalidBytesLength";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "fromAccount";
type: "address";
}, {
internalType: "address";
name: "toAccount";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "InvalidProposedRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "MissingAllRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "MissingAnyOfRoles";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint8";
name: "role";
type: "uint8";
}];
name: "MissingRole";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "NotFlowLimiter";
type: "error";
}, {
inputs: readonly [];
name: "NotProxy";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}];
name: "NotService";
type: "error";
}, {
inputs: readonly [];
name: "NotSupported";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "caller";
type: "address";
}];
name: "NotToken";
type: "error";
}, {
inputs: readonly [];
name: "TakeTokenFailed";
type: "error";
}, {
inputs: readonly [];
name: "TokenLinkerZeroAddress";
type: "error";
}, {
inputs: readonly [];
name: "TokenTransferFailed";
type: "error";
}, {
inputs: readonly [];
name: "ZeroAddress";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "tokenId";
type: "bytes32";
}, {
indexed: false;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
name: "FlowLimitSet";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesAdded";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "fromAccount";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "toAccount";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesProposed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "accountRoles";
type: "uint256";
}];
name: "RolesRemoved";
type: "event";
}, {
inputs: readonly [{
internalType: "address";
name: "fromOperator";
type: "address";
}];
name: "acceptOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "addFlowIn";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "addFlowLimiter";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "addFlowOut";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "approveService";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "contractId";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "flowInAmount";
outputs: readonly [{
internalType: "uint256";
name: "flowInAmount_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "flowLimit";
outputs: readonly [{
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "flowOutAmount";
outputs: readonly [{
internalType: "uint256";
name: "flowOutAmount_";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
name: "getTokenAddressFromParams";
outputs: readonly [{
internalType: "address";
name: "tokenAddress_";
type: "address";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}, {
internalType: "uint8";
name: "role";
type: "uint8";
}];
name: "hasRole";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "implementationType";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "interchainTokenId";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [];
name: "interchainTokenService";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "addr";
type: "address";
}];
name: "isFlowLimiter";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "addr";
type: "address";
}];
name: "isOperator";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "operator_";
type: "bytes";
}, {
internalType: "address";
name: "tokenAddress_";
type: "address";
}];
name: "params";
outputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
stateMutability: "pure";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}];
name: "proposeOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "flowLimiter";
type: "address";
}];
name: "removeFlowLimiter";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "flowLimit_";
type: "uint256";
}];
name: "setFlowLimit";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "params_";
type: "bytes";
}];
name: "setup";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [];
name: "tokenAddress";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}];
name: "transferOperatorship";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}] = ABI_FILE.abi
TokenManagerClient
Description
Type-safe contract client for TokenManager
Example