Ucs03.ts
This module handles interaction with the UCS03 protocol.
Added in v2.0.0
Contract ABI
Signature
export declare const Abi: readonly [ { readonly type: "function" readonly name: "ensureExported" readonly inputs: readonly [ { readonly name: "" readonly type: "tuple" readonly internalType: "struct ZkgmPacket" readonly components: readonly [ { readonly name: "salt"; readonly type: "bytes32"; readonly internalType: "bytes32" }, { readonly name: "path"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "instruction" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct Forward" readonly components: readonly [ { readonly name: "path"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "instruction" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct Multiplex" readonly components: readonly [ { readonly name: "sender"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "eureka"; readonly type: "bool"; readonly internalType: "bool" }, { readonly name: "contractAddress"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "contractCalldata"; readonly type: "bytes"; readonly internalType: "bytes" } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct Batch" readonly components: readonly [ { readonly name: "instructions" readonly type: "tuple[]" readonly internalType: "struct Instruction[]" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct FungibleAssetOrder" readonly components: readonly [ { readonly name: "sender"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "receiver"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "baseToken"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "baseAmount"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "baseTokenSymbol"; readonly type: "string"; readonly internalType: "string" }, { readonly name: "baseTokenName"; readonly type: "string"; readonly internalType: "string" }, { readonly name: "baseTokenDecimals"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "baseTokenPath"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "quoteToken"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "quoteAmount"; readonly type: "uint256"; readonly internalType: "uint256" } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct Ack" readonly components: readonly [ { readonly name: "tag"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "innerAck"; readonly type: "bytes"; readonly internalType: "bytes" } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct BatchAck" readonly components: readonly [ { readonly name: "acknowledgements"; readonly type: "bytes[]"; readonly internalType: "bytes[]" } ] }, { readonly name: "" readonly type: "tuple" readonly internalType: "struct FungibleAssetOrderAck" readonly components: readonly [ { readonly name: "fillType"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "marketMaker"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "constructor" readonly inputs: readonly [ { readonly name: "_ibcHandler"; readonly type: "address"; readonly internalType: "contract IIBCModulePacket" }, { readonly name: "_weth"; readonly type: "address"; readonly internalType: "contract IWETH" }, { readonly name: "_erc20Impl"; readonly type: "address"; readonly internalType: "contract ZkgmERC20" }, { readonly name: "_rateLimitEnabled"; readonly type: "bool"; readonly internalType: "bool" }, { readonly name: "_sendImpl"; readonly type: "address"; readonly internalType: "contract UCS03ZkgmSendImpl" }, { readonly name: "_stakeImpl"; readonly type: "address"; readonly internalType: "contract UCS03ZkgmStakeImpl" } ] readonly stateMutability: "nonpayable" }, { readonly type: "receive"; readonly stateMutability: "payable" }, { readonly type: "function" readonly name: "ERC20_IMPL" readonly inputs: readonly [] readonly outputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "contract ZkgmERC20" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "EXEC_MIN_GAS" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "IBC_HANDLER" readonly inputs: readonly [] readonly outputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "contract IIBCModulePacket" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "RATE_LIMIT_ENABLED" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "SEND_IMPL" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "STAKE_IMPL" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "UPGRADE_INTERFACE_VERSION" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; readonly internalType: "string" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "WETH" readonly inputs: readonly [] readonly outputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "contract IWETH" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "authority" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "channelBalance" readonly inputs: readonly [ { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "channelGovernanceToken" readonly inputs: readonly [{ readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "execute" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "ibcPacket" readonly type: "tuple" readonly internalType: "struct IBCPacket" readonly components: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] }, { readonly name: "relayer"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "relayerMsg"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "intent"; readonly type: "bool"; readonly internalType: "bool" } ] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes" }] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "getBucket" readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address" }] readonly outputs: readonly [ { readonly name: "" readonly type: "tuple" readonly internalType: "struct TokenBucket.Bucket" readonly components: readonly [ { readonly name: "capacity"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "available"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "refillRate"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "lastRefill"; readonly type: "uint256"; readonly internalType: "uint256" } ] } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "gitRev" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; readonly internalType: "string" }] readonly stateMutability: "pure" }, { readonly type: "function" readonly name: "ibcAddress" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "inFlightPacket" readonly inputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32" }] readonly outputs: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "initialize" readonly inputs: readonly [ { readonly name: "_authority"; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "isConsumingScheduledOp" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes4"; readonly internalType: "bytes4" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "onAcknowledgementPacket" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "ibcPacket" readonly type: "tuple" readonly internalType: "struct IBCPacket" readonly components: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] }, { readonly name: "ack"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "relayer"; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanCloseConfirm" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanCloseInit" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanOpenAck" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: "channelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "counterpartyVersion"; readonly type: "string"; readonly internalType: "string" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanOpenConfirm" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: "channelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanOpenInit" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "version"; readonly type: "string"; readonly internalType: "string" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onChanOpenTry" readonly inputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: ""; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "version"; readonly type: "string"; readonly internalType: "string" }, { readonly name: "counterpartyVersion"; readonly type: "string"; readonly internalType: "string" }, { readonly name: ""; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onRecvIntentPacket" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "packet" readonly type: "tuple" readonly internalType: "struct IBCPacket" readonly components: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] }, { readonly name: "relayer"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "relayerMsg"; readonly type: "bytes"; readonly internalType: "bytes" } ] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes" }] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onRecvPacket" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "packet" readonly type: "tuple" readonly internalType: "struct IBCPacket" readonly components: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] }, { readonly name: "relayer"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "relayerMsg"; readonly type: "bytes"; readonly internalType: "bytes" } ] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes"; readonly internalType: "bytes" }] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "onTimeoutPacket" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "ibcPacket" readonly type: "tuple" readonly internalType: "struct IBCPacket" readonly components: readonly [ { readonly name: "sourceChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "destinationChannelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" } ] }, { readonly name: "relayer"; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "pause" readonly inputs: readonly [] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "paused" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; readonly internalType: "bool" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "predictStakeManagerAddress" readonly inputs: readonly [] readonly outputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "contract ZkgmERC721" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "predictWrappedToken" readonly inputs: readonly [ { readonly name: "path"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "channel"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "token"; readonly type: "bytes"; readonly internalType: "bytes" } ] readonly outputs: readonly [ { readonly name: ""; readonly type: "address"; readonly internalType: "address" }, { readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "proxiableUUID" readonly inputs: readonly [] readonly outputs: readonly [{ readonly name: ""; readonly type: "bytes32"; readonly internalType: "bytes32" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "registerGovernanceToken" readonly inputs: readonly [ { readonly name: "channelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "unwrappedGovernanceToken"; readonly type: "bytes"; readonly internalType: "bytes" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "send" readonly inputs: readonly [ { readonly name: "channelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "salt"; readonly type: "bytes32"; readonly internalType: "bytes32" }, { readonly name: "instruction" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ] readonly outputs: readonly [] readonly stateMutability: "payable" }, { readonly type: "function" readonly name: "setAuthority" readonly inputs: readonly [ { readonly name: "newAuthority"; readonly type: "address"; readonly internalType: "address" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "setBucketConfig" readonly inputs: readonly [ { readonly name: "token"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "capacity"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "refillRate"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "reset"; readonly type: "bool"; readonly internalType: "bool" } ] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "stakes" readonly inputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256" }] readonly outputs: readonly [ { readonly name: "state"; readonly type: "uint8"; readonly internalType: "enum ZkgmStakeState" }, { readonly name: "channelId"; readonly type: "uint32"; readonly internalType: "uint32" }, { readonly name: "validator"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "unstakingCompletion"; readonly type: "uint256"; readonly internalType: "uint256" } ] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "tokenOrigin" readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "address" }] readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; readonly internalType: "uint256" }] readonly stateMutability: "view" }, { readonly type: "function" readonly name: "unpause" readonly inputs: readonly [] readonly outputs: readonly [] readonly stateMutability: "nonpayable" }, { readonly type: "function" readonly name: "upgradeToAndCall" readonly inputs: readonly [ { readonly name: "newImplementation"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "data"; readonly type: "bytes"; readonly internalType: "bytes" } ] readonly outputs: readonly [] readonly stateMutability: "payable" }, { readonly type: "event" readonly name: "AuthorityUpdated" readonly inputs: readonly [ { readonly name: "authority" readonly type: "address" readonly indexed: false readonly internalType: "address" } ] readonly anonymous: false }, { readonly type: "event" readonly name: "Initialized" readonly inputs: readonly [ { readonly name: "version"; readonly type: "uint64"; readonly indexed: false; readonly internalType: "uint64" } ] readonly anonymous: false }, { readonly type: "event" readonly name: "Paused" readonly inputs: readonly [ { readonly name: "account"; readonly type: "address"; readonly indexed: false; readonly internalType: "address" } ] readonly anonymous: false }, { readonly type: "event" readonly name: "TokenBucketUpdate" readonly inputs: readonly [ { readonly name: "token"; readonly type: "address"; readonly indexed: true; readonly internalType: "address" }, { readonly name: "capacity" readonly type: "uint256" readonly indexed: false readonly internalType: "uint256" }, { readonly name: "refillRate" readonly type: "uint256" readonly indexed: false readonly internalType: "uint256" } ] readonly anonymous: false }, { readonly type: "event" readonly name: "Unpaused" readonly inputs: readonly [ { readonly name: "account"; readonly type: "address"; readonly indexed: false; readonly internalType: "address" } ] readonly anonymous: false }, { readonly type: "event" readonly name: "Upgraded" readonly inputs: readonly [ { readonly name: "implementation" readonly type: "address" readonly indexed: true readonly internalType: "address" } ] readonly anonymous: false }, { readonly type: "error" readonly name: "AccessManagedInvalidAuthority" readonly inputs: readonly [ { readonly name: "authority"; readonly type: "address"; readonly internalType: "address" } ] }, { readonly type: "error" readonly name: "AccessManagedRequiredDelay" readonly inputs: readonly [ { readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }, { readonly name: "delay"; readonly type: "uint32"; readonly internalType: "uint32" } ] }, { readonly type: "error" readonly name: "AccessManagedUnauthorized" readonly inputs: readonly [{ readonly name: "caller"; readonly type: "address"; readonly internalType: "address" }] }, { readonly type: "error" readonly name: "AddressEmptyCode" readonly inputs: readonly [{ readonly name: "target"; readonly type: "address"; readonly internalType: "address" }] }, { readonly type: "error" readonly name: "ERC1967InvalidImplementation" readonly inputs: readonly [ { readonly name: "implementation"; readonly type: "address"; readonly internalType: "address" } ] }, { readonly type: "error"; readonly name: "ERC1967NonPayable"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "EnforcedPause"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrAsyncMultiplexUnsupported"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrBatchMustBeSync"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrChannelGovernanceTokenAlreadySet"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInfiniteGame"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidBatchInstruction"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidFillType"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidForwardDestinationChannelId"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidForwardInstruction"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidHops"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrInvalidIBCVersion"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrNotIBC"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrOnlyMaker"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrTokenBucketRateLimitExceeded"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrTokenBucketZeroCapacity"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrTokenBucketZeroRefillRate"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrUnauthorized"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrUnknownOpcode"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ErrUnsupportedVersion"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "ExpectedPause"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "FailedCall"; readonly inputs: readonly [] }, { readonly type: "error" readonly name: "InsufficientBalance" readonly inputs: readonly [ { readonly name: "balance"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "needed"; readonly type: "uint256"; readonly internalType: "uint256" } ] }, { readonly type: "error"; readonly name: "InvalidInitialization"; readonly inputs: readonly [] }, { readonly type: "error"; readonly name: "NotInitializing"; readonly inputs: readonly [] }, { readonly type: "error" readonly name: "SafeERC20FailedOperation" readonly inputs: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address" }] }, { readonly type: "error"; readonly name: "UUPSUnauthorizedCallContext"; readonly inputs: readonly [] }, { readonly type: "error" readonly name: "UUPSUnsupportedProxiableUUID" readonly inputs: readonly [{ readonly name: "slot"; readonly type: "bytes32"; readonly internalType: "bytes32" }] }]
Source: src/Ucs03.ts:20
Added in v2.0.0
Signature
export declare const AckAbi: LazyArg< readonly [ { readonly name: "tag"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "innerAck"; readonly type: "bytes"; readonly internalType: "bytes" } ]>
Source: src/Ucs03.ts:776
Added in v2.0.0
Signature
export declare const BatchAbi: LazyArg< readonly [ { readonly name: "instructions" readonly type: "tuple[]" readonly internalType: "struct Instruction[]" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ]>
Source: src/Ucs03.ts:771
Added in v2.0.0
Signature
export declare const BatchAckAbi: LazyArg< readonly [{ readonly name: "acknowledgements"; readonly type: "bytes[]"; readonly internalType: "bytes[]" }]>
Source: src/Ucs03.ts:781
Added in v2.0.0
Signature
export declare const ForwardAbi: LazyArg< readonly [ { readonly name: "path"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "timeoutHeight"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "timeoutTimestamp"; readonly type: "uint64"; readonly internalType: "uint64" }, { readonly name: "instruction" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ]>
Source: src/Ucs03.ts:761
Added in v2.0.0
Signature
export declare const FungibleAssetOrderAbi: LazyArg< readonly [ { readonly name: "sender"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "receiver"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "baseToken"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "baseAmount"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "baseTokenSymbol"; readonly type: "string"; readonly internalType: "string" }, { readonly name: "baseTokenName"; readonly type: "string"; readonly internalType: "string" }, { readonly name: "baseTokenDecimals"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "baseTokenPath"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "quoteToken"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "quoteAmount"; readonly type: "uint256"; readonly internalType: "uint256" } ]>
Source: src/Ucs03.ts:746
Added in v2.0.0
Signature
export declare const FungibleAssetOrderAckAbi: LazyArg< readonly [ { readonly name: "fillType"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "marketMaker"; readonly type: "bytes"; readonly internalType: "bytes" } ]>
Source: src/Ucs03.ts:786
Added in v2.0.0
Signature
export declare const InstructionAbi: LazyArg< readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ]>
Source: src/Ucs03.ts:751
Added in v2.0.0
Signature
export declare const MultiplexAbi: LazyArg< readonly [ { readonly name: "sender"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "eureka"; readonly type: "bool"; readonly internalType: "bool" }, { readonly name: "contractAddress"; readonly type: "bytes"; readonly internalType: "bytes" }, { readonly name: "contractCalldata"; readonly type: "bytes"; readonly internalType: "bytes" } ]>
Source: src/Ucs03.ts:766
Added in v2.0.0
Signature
export declare const ZkgmPacketAbi: LazyArg< readonly [ { readonly name: "salt"; readonly type: "bytes32"; readonly internalType: "bytes32" }, { readonly name: "path"; readonly type: "uint256"; readonly internalType: "uint256" }, { readonly name: "instruction" readonly type: "tuple" readonly internalType: "struct Instruction" readonly components: readonly [ { readonly name: "version"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "opcode"; readonly type: "uint8"; readonly internalType: "uint8" }, { readonly name: "operand"; readonly type: "bytes"; readonly internalType: "bytes" } ] } ]>
Source: src/Ucs03.ts:756
Added in v2.0.0
Signature
export declare class Batch
Added in v2.0.0
Source: src/Ucs03.ts:944
Signature
export declare class Forward
Added in v2.0.0
Source: src/Ucs03.ts:884
Signature
export declare class FungibleAssetOrder
Added in v2.0.0
Source: src/Ucs03.ts:968
Signature
export declare const Instruction: { readonly Forward: Data.Case.Constructor<Forward, "_tag"> readonly Multiplex: Data.Case.Constructor<Multiplex, "_tag"> readonly Batch: Data.Case.Constructor<Batch, "_tag"> readonly FungibleAssetOrder: Data.Case.Constructor<FungibleAssetOrder, "_tag"> readonly $is: <Tag>( tag: Tag ) => (u: unknown) => u is Extract<Forward | Multiplex | Batch | FungibleAssetOrder, { readonly _tag: Tag }> readonly $match: { <Cases>( cases: Cases ): ( value: Forward | Multiplex | Batch | FungibleAssetOrder ) => Unify<ReturnType<Cases["Forward" | "Multiplex" | "Batch" | "FungibleAssetOrder"]>> <Cases>( value: Forward | Multiplex | Batch | FungibleAssetOrder, cases: Cases ): Unify<ReturnType<Cases["Forward" | "Multiplex" | "Batch" | "FungibleAssetOrder"]>> }}
Source: src/Ucs03.ts:1024
Added in v2.0.0
Signature
export type Instruction = typeof Schema.Type
Source: src/Ucs03.ts:1029
Added in v2.0.0
Signature
export declare class Multiplex
Added in v2.0.0
Source: src/Ucs03.ts:920
Signature
export declare const Operand: S.Union< [ S.Tuple< [ S.TemplateLiteral<`0x${string}`>, typeof S.BigIntFromSelf, S.Struct<{ version: S.filter<S.refine<number, typeof S.NonNegative>> opcode: S.refine<number, typeof S.NonNegative> operand: S.TemplateLiteral<`0x${string}`> }> ] >, S.Tuple<[typeof S.Number, typeof S.Number, S.TemplateLiteral<`0x${string}`>]>, S.Tuple< [ typeof S.BigIntFromSelf, typeof S.BigIntFromSelf, typeof S.BigIntFromSelf, S.Struct<{ version: S.filter<S.refine<number, typeof S.NonNegative>> opcode: S.refine<number, typeof S.NonNegative> operand: S.TemplateLiteral<`0x${string}`> }> ] >, S.Tuple< [ S.TemplateLiteral<`0x${string}`>, typeof S.Boolean, S.TemplateLiteral<`0x${string}`>, S.TemplateLiteral<`0x${string}`> ] >, S.Tuple< [ S.Array$< S.Struct<{ version: S.filter<S.refine<number, typeof S.NonNegative>> opcode: S.refine<number, typeof S.NonNegative> operand: S.TemplateLiteral<`0x${string}`> }> > ] >, S.Tuple< [ S.TemplateLiteral<`0x${string}`>, S.TemplateLiteral<`0x${string}`>, S.TemplateLiteral<`0x${string}`>, typeof S.BigIntFromSelf, typeof S.String, typeof S.String, typeof S.Uint8, typeof S.BigIntFromSelf, S.TemplateLiteral<`0x${string}`>, typeof S.BigIntFromSelf ] >, S.Tuple2<typeof S.BigIntFromSelf, S.TemplateLiteral<`0x${string}`>>, S.Tuple<[S.NonEmptyArray<S.TemplateLiteral<`0x${string}`>>]> ]>
Source: src/Ucs03.ts:853
Added in v2.0.0
Signature
export type Operand = typeof Operand.Type
Source: src/Ucs03.ts:878
Added in v2.0.0
Signature
export declare const Schema: S.Union<[typeof Forward, typeof Multiplex, typeof Batch, typeof FungibleAssetOrder]>
Source: src/Ucs03.ts:1018
Added in v2.0.0
Signature
export type Schema = Forward | Multiplex | Batch | FungibleAssetOrder
Source: src/Ucs03.ts:992
Added in v2.0.0
Encodes an {@link Instruction} as as {@link Hex} for dispatching.
Signature
export declare const encode: (_: Instruction) => Hex
Source: src/Ucs03.ts:1039
Added in v2.0.0