@hyperbridge/sdk 1.6.7 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -857,6 +857,14 @@ declare class SubstrateChain implements IChain {
857
857
  api?: ApiPromise;
858
858
  private rpcClient;
859
859
  constructor(params: ISubstrateConfig);
860
+ /**
861
+ * Creates a `SubstrateChain` instance and immediately connects to the
862
+ * WebSocket endpoint, returning a fully initialised chain client.
863
+ *
864
+ * @param params - Substrate chain configuration (wsUrl, stateMachineId, etc.).
865
+ * @returns A connected `SubstrateChain` instance.
866
+ */
867
+ static connect(params: ISubstrateConfig): Promise<SubstrateChain>;
860
868
  get config(): ISubstrateConfig;
861
869
  /**
862
870
  * Connects to the Substrate chain using the provided WebSocket URL.
@@ -1132,6 +1140,10 @@ interface EvmChainParams {
1132
1140
  * Consensus state identifier of this chain on hyperbridge
1133
1141
  */
1134
1142
  consensusStateId?: string;
1143
+ /**
1144
+ * Optional ERC-4337 bundler URL for account abstraction support
1145
+ */
1146
+ bundlerUrl?: string;
1135
1147
  }
1136
1148
  /**
1137
1149
  * Encapsulates an EVM chain.
@@ -1141,8 +1153,25 @@ declare class EvmChain implements IChain {
1141
1153
  private publicClient;
1142
1154
  private chainConfigService;
1143
1155
  constructor(params: EvmChainParams);
1156
+ /**
1157
+ * Creates an `EvmChain` instance by auto-detecting the chain ID from the RPC endpoint
1158
+ * and resolving the correct `IsmpHost` contract address for that chain.
1159
+ *
1160
+ * @param rpcUrl - HTTP(S) RPC URL of the EVM node
1161
+ * @param bundlerUrl - Optional ERC-4337 bundler URL for account abstraction support
1162
+ * @returns A fully initialised `EvmChain` ready for use
1163
+ * @throws If the chain ID returned by the RPC is not a known Hyperbridge deployment
1164
+ *
1165
+ * @example
1166
+ * ```typescript
1167
+ * const chain = await EvmChain.create("https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY")
1168
+ * const chain = await EvmChain.create("https://mainnet.base.org", "https://bundler.example.com")
1169
+ * ```
1170
+ */
1171
+ static create(rpcUrl: string, bundlerUrl?: string): Promise<EvmChain>;
1144
1172
  get client(): PublicClient;
1145
1173
  get host(): HexString;
1174
+ get bundlerUrl(): string | undefined;
1146
1175
  get config(): IEvmConfig;
1147
1176
  get configService(): ChainConfigService;
1148
1177
  /**
@@ -1248,7 +1277,8 @@ declare class EvmChain implements IChain {
1248
1277
  * @returns The nonce of the host
1249
1278
  */
1250
1279
  getHostNonce(): Promise<bigint>;
1251
- broadcastTransaction(signedTransaction: any): Promise<TransactionReceipt>;
1280
+ broadcastTransaction(signedTransaction: HexString): Promise<TransactionReceipt>;
1281
+ getTransactionReceipt(hash: HexString): Promise<TransactionReceipt>;
1252
1282
  }
1253
1283
  /**
1254
1284
  * Factory function for creating EVM chain instances with common defaults
@@ -1342,6 +1372,8 @@ declare class IntentsCoprocessor {
1342
1372
  private api;
1343
1373
  private substratePrivateKey?;
1344
1374
  private ownsConnection;
1375
+ /** Cached result of whether the node exposes intents_* RPC methods */
1376
+ private hasIntentsRpc;
1345
1377
  /**
1346
1378
  * Creates and connects an IntentsCoprocessor to a Hyperbridge node.
1347
1379
  * This creates and manages its own API connection.
@@ -1377,6 +1409,11 @@ declare class IntentsCoprocessor {
1377
1409
  * Supports both hex seed (without 0x prefix) and mnemonic phrases
1378
1410
  */
1379
1411
  getKeyPair(): KeyringPair;
1412
+ /**
1413
+ * Checks if the connected node exposes intents_* RPC methods.
1414
+ * Result is cached after the first check.
1415
+ */
1416
+ private checkIntentsRpc;
1380
1417
  /**
1381
1418
  * Signs and sends an extrinsic, handling status updates and errors
1382
1419
  * Implements retry logic with progressive tip increases for stuck transactions
@@ -1414,10 +1451,24 @@ declare class IntentsCoprocessor {
1414
1451
  /**
1415
1452
  * Fetches all bids for a given order commitment from Hyperbridge.
1416
1453
  *
1454
+ * Uses the custom intents_getBidsForOrder RPC if available on the node
1455
+ * for a single round-trip. Falls back to parallel storage + offchain
1456
+ * lookups otherwise.
1457
+ *
1417
1458
  * @param commitment - The order commitment hash (bytes32)
1418
1459
  * @returns Array of FillerBid objects containing filler address, userOp, and deposit
1419
1460
  */
1420
1461
  getBidsForOrder(commitment: HexString): Promise<FillerBid[]>;
1462
+ /**
1463
+ * Fetches bids using the custom intents_getBidsForOrder RPC.
1464
+ * Single round-trip but does not include deposit amounts.
1465
+ */
1466
+ private getBidsViaRpc;
1467
+ /**
1468
+ * Fetches bids using on-chain storage entries + parallel offchain lookups.
1469
+ * Slower but works on all nodes and includes deposit amounts.
1470
+ */
1471
+ private getBidsViaStorage;
1421
1472
  /** Decodes SCALE-encoded Bid struct and SCALE-encoded PackedUserOperation */
1422
1473
  private decodeBid;
1423
1474
  /** Builds offchain storage key: "intents::bid::" + commitment + filler */
@@ -1466,6 +1517,7 @@ declare class TronChain implements IChain {
1466
1517
  * This mirrors the behavior used in IntentGatewayV2 for Tron chains.
1467
1518
  */
1468
1519
  broadcastTransaction(signedTransaction: any): Promise<TransactionReceipt>;
1520
+ getTransactionReceipt(hash: HexString): Promise<TransactionReceipt>;
1469
1521
  /** Gets the fee token address and decimals for the chain. */
1470
1522
  getFeeTokenWithDecimals(): Promise<{
1471
1523
  address: HexString;
@@ -1630,6 +1682,7 @@ interface IChain {
1630
1682
  interface IEvmChain extends IChain {
1631
1683
  readonly configService: ChainConfigService;
1632
1684
  readonly client: PublicClient;
1685
+ readonly bundlerUrl?: string;
1633
1686
  getHostNonce(): Promise<bigint>;
1634
1687
  quoteNative(request: IPostRequest | IGetRequest, fee: bigint): Promise<bigint>;
1635
1688
  getFeeTokenWithDecimals(): Promise<{
@@ -1637,7 +1690,8 @@ interface IEvmChain extends IChain {
1637
1690
  decimals: number;
1638
1691
  }>;
1639
1692
  getPlaceOrderCalldata(txHash: string, intentGatewayAddress: string): Promise<HexString>;
1640
- broadcastTransaction(signedTransaction: any): Promise<TransactionReceipt>;
1693
+ broadcastTransaction(signedTransaction: HexString): Promise<TransactionReceipt>;
1694
+ getTransactionReceipt(hash: HexString): Promise<TransactionReceipt>;
1641
1695
  }
1642
1696
  /**
1643
1697
  * Returns the chain interface for a given state machine identifier.
@@ -1784,7 +1838,7 @@ declare enum TeleportStatus {
1784
1838
  REFUNDED = "REFUNDED"
1785
1839
  }
1786
1840
  interface TokenGatewayAssetTeleportedResponse {
1787
- tokenGatewayAssetTeleporteds: {
1841
+ tokenGatewayAssetTeleportedV2s: {
1788
1842
  nodes: Array<{
1789
1843
  id: string;
1790
1844
  from: string;
@@ -1866,7 +1920,7 @@ interface StateMachineUpdate {
1866
1920
  timestamp: number;
1867
1921
  }
1868
1922
  interface RequestResponse {
1869
- requests: {
1923
+ requestV2s: {
1870
1924
  nodes: Array<{
1871
1925
  source: string;
1872
1926
  dest: string;
@@ -1889,7 +1943,7 @@ interface RequestResponse {
1889
1943
  };
1890
1944
  }
1891
1945
  interface GetRequestResponse {
1892
- getRequests: {
1946
+ getRequestV2s: {
1893
1947
  nodes: Array<{
1894
1948
  source: string;
1895
1949
  dest: string;
@@ -2027,7 +2081,7 @@ interface ResponseCommitmentWithValues {
2027
2081
  values: string[];
2028
2082
  }
2029
2083
  interface RequestCommitment {
2030
- requests: {
2084
+ requestV2s: {
2031
2085
  nodes: Array<{
2032
2086
  id: string;
2033
2087
  commitment: string;
@@ -2059,7 +2113,7 @@ interface AssetTeleported {
2059
2113
  blockNumber: number;
2060
2114
  }
2061
2115
  interface AssetTeleportedResponse {
2062
- assetTeleported: AssetTeleported;
2116
+ assetTeleportedV2: AssetTeleported;
2063
2117
  }
2064
2118
  interface StateMachineIdParams {
2065
2119
  stateId: {
@@ -2443,6 +2497,11 @@ interface ExecutionResult {
2443
2497
  * The time it took to fill the order
2444
2498
  */
2445
2499
  processingTimeMs?: number;
2500
+ /**
2501
+ * The order commitment hash, returned when a bid is submitted via Hyperbridge.
2502
+ * Used for subsequent bid retraction after the order is filled on-chain.
2503
+ */
2504
+ commitment?: string;
2446
2505
  }
2447
2506
  /**
2448
2507
  * Represents a dispatch post for cross-chain communication
@@ -2675,28 +2734,6 @@ interface TokenPricesResponse {
2675
2734
  }>;
2676
2735
  };
2677
2736
  }
2678
- interface TokenRegistry {
2679
- id: string;
2680
- name: string;
2681
- symbol: string;
2682
- address?: string;
2683
- updateFrequencySeconds: number;
2684
- lastUpdatedAt: bigint;
2685
- createdAt: Date;
2686
- }
2687
- interface TokenRegistryResponse {
2688
- tokenRegistries: {
2689
- nodes: Array<{
2690
- id: string;
2691
- name: string;
2692
- symbol: string;
2693
- address: string;
2694
- updateFrequencySeconds: number;
2695
- lastUpdatedAt: bigint;
2696
- createdAt: string;
2697
- }>;
2698
- };
2699
- }
2700
2737
  /**
2701
2738
  * Represents a complete transaction structure for swap operations
2702
2739
  */
@@ -2860,7 +2897,8 @@ interface SelectOptions {
2860
2897
  }
2861
2898
  /** Status stages for the intent order execution flow */
2862
2899
  declare const IntentOrderStatus: Readonly<{
2863
- ORDER_SUBMITTED: "ORDER_SUBMITTED";
2900
+ AWAITING_PLACE_ORDER: "AWAITING_PLACE_ORDER";
2901
+ ORDER_PLACED: "ORDER_PLACED";
2864
2902
  ORDER_CONFIRMED: "ORDER_CONFIRMED";
2865
2903
  AWAITING_BIDS: "AWAITING_BIDS";
2866
2904
  BIDS_RECEIVED: "BIDS_RECEIVED";
@@ -2868,28 +2906,74 @@ declare const IntentOrderStatus: Readonly<{
2868
2906
  USEROP_SUBMITTED: "USEROP_SUBMITTED";
2869
2907
  FILLED: "FILLED";
2870
2908
  PARTIAL_FILL: "PARTIAL_FILL";
2909
+ PARTIAL_FILL_EXHAUSTED: "PARTIAL_FILL_EXHAUSTED";
2871
2910
  FAILED: "FAILED";
2872
2911
  }>;
2873
2912
  type IntentOrderStatus = typeof IntentOrderStatus;
2874
2913
  type IntentOrderStatusKey = keyof typeof IntentOrderStatus;
2875
- /** Metadata for intent order status updates */
2876
- interface IntentOrderStatusMetadata {
2877
- commitment?: HexString;
2914
+ /** Tagged union of all possible status updates yielded by the intent order execution stream */
2915
+ type IntentOrderStatusUpdate = {
2916
+ status: "AWAITING_PLACE_ORDER";
2917
+ to: HexString;
2918
+ data: HexString;
2919
+ value?: bigint;
2920
+ sessionPrivateKey: HexString;
2921
+ } | {
2922
+ status: "ORDER_PLACED";
2923
+ order: OrderV2;
2924
+ transactionHash: HexString;
2925
+ } | {
2926
+ status: "AWAITING_BIDS";
2927
+ commitment: HexString;
2928
+ totalFilledAmount: bigint;
2929
+ remainingAmount: bigint;
2930
+ } | {
2931
+ status: "BIDS_RECEIVED";
2932
+ commitment: HexString;
2933
+ bidCount: number;
2934
+ bids: FillerBid[];
2935
+ } | {
2936
+ status: "BID_SELECTED";
2937
+ commitment: HexString;
2938
+ selectedSolver: HexString;
2939
+ userOpHash: HexString;
2940
+ userOp: PackedUserOperation;
2941
+ } | {
2942
+ status: "USEROP_SUBMITTED";
2943
+ commitment: HexString;
2944
+ userOpHash: HexString;
2945
+ selectedSolver: HexString;
2878
2946
  transactionHash?: HexString;
2879
- blockHash?: HexString;
2880
- blockNumber?: number;
2881
- bidCount?: number;
2882
- bids?: FillerBid[];
2883
- selectedSolver?: HexString;
2884
- userOpHash?: HexString;
2885
- userOp?: PackedUserOperation;
2886
- error?: string;
2887
- }
2888
- /** Status update yielded by the intent order stream */
2889
- interface IntentOrderStatusUpdate {
2890
- status: IntentOrderStatusKey;
2891
- metadata: IntentOrderStatusMetadata;
2892
- }
2947
+ } | {
2948
+ status: "FILLED";
2949
+ commitment: HexString;
2950
+ userOpHash: HexString;
2951
+ selectedSolver: HexString;
2952
+ transactionHash?: HexString;
2953
+ totalFilledAmount: bigint;
2954
+ remainingAmount: bigint;
2955
+ } | {
2956
+ status: "PARTIAL_FILL";
2957
+ commitment: HexString;
2958
+ userOpHash: HexString;
2959
+ selectedSolver: HexString;
2960
+ transactionHash?: HexString;
2961
+ filledAmount?: bigint;
2962
+ totalFilledAmount: bigint;
2963
+ remainingAmount: bigint;
2964
+ } | {
2965
+ status: "PARTIAL_FILL_EXHAUSTED";
2966
+ commitment: HexString;
2967
+ totalFilledAmount?: bigint;
2968
+ remainingAmount?: bigint;
2969
+ error: string;
2970
+ } | {
2971
+ status: "FAILED";
2972
+ commitment?: HexString;
2973
+ totalFilledAmount?: bigint;
2974
+ remainingAmount?: bigint;
2975
+ error: string;
2976
+ };
2893
2977
  /** Result of selecting a bid and submitting to the bundler */
2894
2978
  interface SelectBidResult {
2895
2979
  userOp: PackedUserOperation;
@@ -2898,6 +2982,8 @@ interface SelectBidResult {
2898
2982
  commitment: HexString;
2899
2983
  txnHash?: HexString;
2900
2984
  fillStatus?: "full" | "partial";
2985
+ /** Amount filled in this user operation (best-effort, based on on-chain logs) */
2986
+ filledAmount?: bigint;
2901
2987
  }
2902
2988
  /** Options for executing an intent order */
2903
2989
  interface ExecuteIntentOrderOptions {
@@ -2972,13 +3058,12 @@ declare function createIndexerClient(config: {
2972
3058
  * host: "0x87ea42345..",
2973
3059
  * consensusStateId: "ARB0"
2974
3060
  * })
2975
- * const hyperbridgeChain = new SubstrateChain({
3061
+ * const hyperbridgeChain = await SubstrateChain.connect({
2976
3062
  * stateMachineId: "POLKADOT-3367",
2977
3063
  * wsUrl: "ws://localhost:9944",
2978
3064
  * hasher: "Keccak",
2979
3065
  * consensusStateId: "DOT0"
2980
3066
  * })
2981
- * await hyperbridgeChain.connect()
2982
3067
  *
2983
3068
  * const client = new IndexerClient({
2984
3069
  * queryClient: queryClient,
@@ -3545,183 +3630,6 @@ declare class Swap {
3545
3630
  private getTickSpacing;
3546
3631
  }
3547
3632
 
3548
- /**
3549
- * IntentGateway handles cross-chain intent operations between EVM chains.
3550
- * It provides functionality for estimating fill orders, finding optimal swap protocols,
3551
- * and checking order statuses across different chains.
3552
- */
3553
- declare class IntentGateway {
3554
- readonly source: EvmChain;
3555
- readonly dest: EvmChain;
3556
- readonly swap: Swap;
3557
- private readonly storage;
3558
- /**
3559
- * Optional custom IntentGateway address for the destination chain.
3560
- * If set, this address will be used when fetching destination proofs in `cancelOrder`.
3561
- * If not set, uses the default address from the chain configuration.
3562
- * This allows using different IntentGateway contract versions (e.g., old vs new contracts).
3563
- */
3564
- destIntentGatewayAddress?: HexString;
3565
- /**
3566
- * Creates a new IntentGateway instance for cross-chain operations.
3567
- * @param source - The source EVM chain
3568
- * @param dest - The destination EVM chain
3569
- * @param destIntentGatewayAddress - Optional custom IntentGateway address for the destination chain.
3570
- * If provided, this address will be used when fetching destination proofs in `cancelOrder`.
3571
- * If not provided, uses the default address from the chain configuration.
3572
- */
3573
- constructor(source: EvmChain, dest: EvmChain, destIntentGatewayAddress?: HexString);
3574
- /**
3575
- * Estimates the total cost required to fill an order, including gas fees, relayer fees,
3576
- * protocol fees, and swap operations.
3577
- *
3578
- * @param order - The order to estimate fill costs for
3579
- * @returns An object containing the estimated cost in both fee token and native token, plus the post request calldata
3580
- */
3581
- estimateFillOrder(order: Order): Promise<{
3582
- order: Order;
3583
- feeTokenAmount: bigint;
3584
- nativeTokenAmount: bigint;
3585
- postRequestCalldata: HexString;
3586
- }>;
3587
- /**
3588
- * Converts fee token amounts back to the equivalent amount in native token.
3589
- * Uses USD pricing to convert between fee token amounts and native token costs.
3590
- *
3591
- * @param feeTokenAmount - The amount in fee token (DAI)
3592
- * @param getQuoteIn - Whether to use "source" or "dest" chain for the conversion
3593
- * @param evmChainID - The EVM chain ID in format "EVM-{id}"
3594
- * @returns The fee token amount converted to native token amount
3595
- * @private
3596
- */
3597
- private convertFeeTokenToNative;
3598
- /**
3599
- * Converts gas costs to the equivalent amount in the fee token (DAI).
3600
- * Uses USD pricing to convert between native token gas costs and fee token amounts.
3601
- *
3602
- * @param gasEstimate - The estimated gas units
3603
- * @param gasEstimateIn - Whether to use "source" or "dest" chain for the conversion
3604
- * @param evmChainID - The EVM chain ID in format "EVM-{id}"
3605
- * @returns The gas cost converted to fee token amount
3606
- * @private
3607
- */
3608
- private convertGasToFeeToken;
3609
- /**
3610
- * Gets a quote for the native token cost of dispatching a post request.
3611
- *
3612
- * @param postRequest - The post request to quote
3613
- * @param fee - The fee amount in fee token
3614
- * @returns The native token amount required
3615
- */
3616
- quoteNative(postRequest: IPostRequest, fee: bigint): Promise<bigint>;
3617
- /**
3618
- * Checks if an order has been filled by verifying the commitment status on-chain.
3619
- * Reads the storage slot corresponding to the order's commitment hash.
3620
- *
3621
- * @param order - The order to check
3622
- * @returns True if the order has been filled, false otherwise
3623
- */
3624
- isOrderFilled(order: Order): Promise<boolean>;
3625
- /**
3626
- * Checks if an order has been refunded by verifying the escrowed token amounts on-chain.
3627
- * Reads the storage slots for the `_orders` mapping on the source chain (where the escrow is held).
3628
- * An order is considered refunded when all input token amounts in the `_orders` mapping are 0.
3629
- *
3630
- * @param order - The order to check
3631
- * @returns True if the order has been refunded (all token amounts are 0), false otherwise
3632
- */
3633
- isOrderRefunded(order: Order): Promise<boolean>;
3634
- private submitAndConfirmReceipt;
3635
- /**
3636
- * Returns the native token amount required to dispatch a cancellation GET request for the given order.
3637
- * Internally constructs the IGetRequest and calls quoteNative.
3638
- */
3639
- quoteCancelNative(order: Order): Promise<bigint>;
3640
- /**
3641
- * Cancels an order through the cross-chain protocol by generating and submitting proofs.
3642
- * This is an async generator function that yields status updates throughout the cancellation process.
3643
- *
3644
- * The cancellation process involves:
3645
- * 1. Fetching proof from the destination chain that the order exists
3646
- * 2. Creating a GET request to retrieve the order state
3647
- * 3. Waiting for the source chain to finalize the request
3648
- * 4. Fetching proof from the source chain
3649
- * 5. Waiting for the challenge period to complete
3650
- * 6. Submitting the request message to Hyperbridge
3651
- * 7. Monitoring until Hyperbridge finalizes the cancellation
3652
- *
3653
- * @param order - The order to cancel, containing source/dest chains, deadline, and other order details
3654
- * @param indexerClient - Client for querying the indexer and interacting with Hyperbridge
3655
- *
3656
- * @yields {CancelEvent} Status updates during the cancellation process:
3657
- * - DESTINATION_FINALIZED: Destination proof has been obtained
3658
- * - AWAITING_GET_REQUEST: Waiting for GET request to be provided
3659
- * - SOURCE_FINALIZED: Source chain has finalized the request
3660
- * - HYPERBRIDGE_DELIVERED: Hyperbridge has delivered the request
3661
- * - HYPERBRIDGE_FINALIZED: Cancellation is complete
3662
- *
3663
- * @throws {Error} If GET request is not provided when needed
3664
- *
3665
- * @example
3666
- * ```typescript
3667
- * // Using default IntentGateway address
3668
- * const intentGateway = new IntentGateway(sourceChain, destChain);
3669
- * const cancelStream = intentGateway.cancelOrder(order, indexerClient);
3670
- *
3671
- * // Using custom IntentGateway address (e.g., for old contract version)
3672
- * const intentGateway = new IntentGateway(
3673
- * sourceChain,
3674
- * destChain,
3675
- * "0xd54165e45926720b062C192a5bacEC64d5bB08DA"
3676
- * );
3677
- * const cancelStream = intentGateway.cancelOrder(order, indexerClient);
3678
- *
3679
- * // Or set it after instantiation
3680
- * const intentGateway = new IntentGateway(sourceChain, destChain);
3681
- * intentGateway.destIntentGatewayAddress = "0xd54165e45926720b062C192a5bacEC64d5bB08DA";
3682
- * const cancelStream = intentGateway.cancelOrder(order, indexerClient);
3683
- *
3684
- * for await (const event of cancelStream) {
3685
- * switch (event.status) {
3686
- * case 'SOURCE_FINALIZED':
3687
- * console.log('Source finalized at block:', event.data.metadata.blockNumber);
3688
- * break;
3689
- * case 'HYPERBRIDGE_FINALIZED':
3690
- * console.log('Cancellation complete');
3691
- * break;
3692
- * }
3693
- * }
3694
- * ```
3695
- */
3696
- cancelOrder(order: Order, indexerClient: IndexerClient): AsyncGenerator<CancelEvent$1>;
3697
- /**
3698
- * Fetches proof for the destination chain.
3699
- * @param order - The order to fetch proof for
3700
- * @param indexerClient - Client for querying the indexer
3701
- */
3702
- private fetchDestinationProof;
3703
- }
3704
- interface CancelEventMap$1 {
3705
- DESTINATION_FINALIZED: {
3706
- proof: IProof;
3707
- };
3708
- AWAITING_GET_REQUEST: undefined;
3709
- SOURCE_FINALIZED: {
3710
- metadata: {
3711
- blockNumber: number;
3712
- };
3713
- };
3714
- HYPERBRIDGE_DELIVERED: RequestStatusWithMetadata;
3715
- HYPERBRIDGE_FINALIZED: RequestStatusWithMetadata;
3716
- SOURCE_PROOF_RECEIVED: IProof;
3717
- }
3718
- type CancelEvent$1 = {
3719
- [K in keyof CancelEventMap$1]: {
3720
- status: K;
3721
- data: CancelEventMap$1[K];
3722
- };
3723
- }[keyof CancelEventMap$1];
3724
-
3725
3633
  type StorageDriverKey = "node" | "localstorage" | "indexeddb" | "memory";
3726
3634
  interface CancellationStorageOptions {
3727
3635
  env?: StorageDriverKey;
@@ -3822,6 +3730,15 @@ declare function createCancellationStorage(options?: CancellationStorageOptions)
3822
3730
  }) | boolean): Promise<void>;
3823
3731
  };
3824
3732
  }>;
3733
+ /**
3734
+ * Creates a simple string-based storage for tracking used user operations per commitment.
3735
+ * Values are stored as raw strings under their provided keys.
3736
+ */
3737
+ declare function createUsedUserOpsStorage(options?: SessionKeyStorageOptions): Readonly<{
3738
+ getItem: (key: string) => Promise<string | null>;
3739
+ setItem: (key: string, value: string) => Promise<void>;
3740
+ removeItem: (key: string) => Promise<void>;
3741
+ }>;
3825
3742
  /**
3826
3743
  * Session key data stored for each order
3827
3744
  */
@@ -3863,136 +3780,378 @@ declare function createSessionKeyStorage(options?: SessionKeyStorageOptions): Re
3863
3780
  listSessionKeys: () => Promise<SessionKeyData[]>;
3864
3781
  }>;
3865
3782
 
3866
- /** placeOrder function selector */
3783
+ /**
3784
+ * ABI-encoded function selector for the IntentGatewayV2 `placeOrder` function,
3785
+ * including the full tuple signature of the OrderV2 struct.
3786
+ */
3867
3787
  declare const PLACE_ORDER_SELECTOR = "placeOrder((bytes32,bytes,bytes,uint256,uint256,uint256,address,((bytes32,uint256)[],bytes),(bytes32,uint256)[],(bytes32,(bytes32,uint256)[],bytes)),bytes32)";
3868
- /** placeOrder function parameter type */
3788
+ /**
3789
+ * ABI tuple type string for the OrderV2 struct used when ABI-encoding or
3790
+ * decoding order data without a full ABI artifact.
3791
+ */
3869
3792
  declare const ORDER_V2_PARAM_TYPE = "(bytes32,bytes,bytes,uint256,uint256,uint256,address,((bytes32,uint256)[],bytes),(bytes32,uint256)[],(bytes32,(bytes32,uint256)[],bytes))";
3870
- /** ERC-7821 single batch execution mode */
3793
+ /**
3794
+ * ERC-7821 execution mode selector for single-batch execution.
3795
+ *
3796
+ * The first byte `0x01` indicates batch mode; all remaining bytes are
3797
+ * reserved and set to zero.
3798
+ */
3871
3799
  declare const ERC7821_BATCH_MODE: HexString;
3872
- /** Bundler RPC method names for ERC-4337 operations */
3800
+ /**
3801
+ * Bundler RPC method names for ERC-4337 operations.
3802
+ *
3803
+ * Values map to JSON-RPC method strings sent to a 4337 bundler endpoint.
3804
+ * `PIMLICO_GET_USER_OPERATION_GAS_PRICE` is a Pimlico-specific extension.
3805
+ */
3873
3806
  declare const BundlerMethod: {
3807
+ /** Submits a UserOperation to the bundler mempool. */
3874
3808
  readonly ETH_SEND_USER_OPERATION: "eth_sendUserOperation";
3809
+ /** Retrieves the receipt for a previously submitted UserOperation by its hash. */
3875
3810
  readonly ETH_GET_USER_OPERATION_RECEIPT: "eth_getUserOperationReceipt";
3811
+ /** Estimates gas limits for a UserOperation before submission. */
3876
3812
  readonly ETH_ESTIMATE_USER_OPERATION_GAS: "eth_estimateUserOperationGas";
3813
+ /** Pimlico-specific method to fetch recommended EIP-1559 gas prices for UserOperations. */
3877
3814
  readonly PIMLICO_GET_USER_OPERATION_GAS_PRICE: "pimlico_getUserOperationGasPrice";
3878
3815
  };
3816
+ /** Union of all valid bundler RPC method name strings. */
3879
3817
  type BundlerMethod = (typeof BundlerMethod)[keyof typeof BundlerMethod];
3880
- /** Response from bundler's eth_estimateUserOperationGas */
3818
+ /**
3819
+ * Response payload returned by a bundler for
3820
+ * `eth_estimateUserOperationGas`.
3821
+ *
3822
+ * All gas values are returned as hex strings.
3823
+ */
3881
3824
  interface BundlerGasEstimate {
3825
+ /** Gas required for pre-verification processing (hex). */
3882
3826
  preVerificationGas: HexString;
3827
+ /** Gas limit for the account verification step (hex). */
3883
3828
  verificationGasLimit: HexString;
3829
+ /** Gas limit for the main execution call (hex). */
3884
3830
  callGasLimit: HexString;
3831
+ /** Gas limit for paymaster verification, if a paymaster is used (hex). */
3885
3832
  paymasterVerificationGasLimit?: HexString;
3833
+ /** Gas limit for paymaster post-operation hook, if a paymaster is used (hex). */
3886
3834
  paymasterPostOpGasLimit?: HexString;
3887
3835
  }
3888
- /** Event map for cancellation status updates */
3889
- interface CancelEventMap {
3890
- DESTINATION_FINALIZED: {
3891
- proof: IProof;
3892
- };
3893
- AWAITING_GET_REQUEST: undefined;
3894
- AWAITING_CANCEL_TRANSACTION: {
3895
- calldata: HexString;
3896
- to: HexString;
3897
- };
3898
- SOURCE_FINALIZED: {
3899
- metadata: {
3900
- blockNumber: number;
3901
- };
3902
- };
3903
- HYPERBRIDGE_DELIVERED: RequestStatusWithMetadata;
3904
- HYPERBRIDGE_FINALIZED: RequestStatusWithMetadata;
3905
- SOURCE_PROOF_RECEIVED: IProof;
3906
- CANCELLATION_COMPLETE: {
3907
- metadata: {
3908
- blockNumber: number;
3909
- };
3910
- };
3911
- }
3836
+ /**
3837
+ * Tagged union of all status updates that can be yielded by the cancel-order
3838
+ * async generator.
3839
+ *
3840
+ * The `status` field is the discriminant. Consumers should switch on it to
3841
+ * handle each stage of the cancellation lifecycle:
3842
+ *
3843
+ * - `DESTINATION_FINALIZED` – a state proof from the destination chain is ready.
3844
+ * - `AWAITING_CANCEL_TRANSACTION` – the caller must sign and submit the cancel tx.
3845
+ * - `SOURCE_FINALIZED` – the cancel request has been finalised on the source chain.
3846
+ * - `HYPERBRIDGE_DELIVERED` – the cancel message has been delivered to Hyperbridge.
3847
+ * - `HYPERBRIDGE_FINALIZED` – the cancel message has been finalised on Hyperbridge.
3848
+ * - `SOURCE_PROOF_RECEIVED` – a proof of the source-chain state has been received.
3849
+ * - `CANCELLATION_COMPLETE` – the escrow has been refunded; cancellation is done.
3850
+ */
3912
3851
  type CancelEvent = {
3913
- [K in keyof CancelEventMap]: {
3914
- status: K;
3915
- data: CancelEventMap[K];
3916
- };
3917
- }[keyof CancelEventMap];
3852
+ status: "DESTINATION_FINALIZED";
3853
+ proof: IProof;
3854
+ } | {
3855
+ status: "AWAITING_CANCEL_TRANSACTION";
3856
+ data: HexString;
3857
+ to: HexString;
3858
+ value: bigint;
3859
+ } | {
3860
+ status: "CANCEL_STARTED";
3861
+ receipt: TransactionReceipt;
3862
+ } | {
3863
+ status: "SOURCE_FINALIZED";
3864
+ metadata: Extract<RequestStatusWithMetadata, {
3865
+ status: "SOURCE_FINALIZED";
3866
+ }>["metadata"];
3867
+ } | {
3868
+ status: "HYPERBRIDGE_DELIVERED";
3869
+ metadata: Extract<RequestStatusWithMetadata, {
3870
+ status: "HYPERBRIDGE_DELIVERED";
3871
+ }>["metadata"];
3872
+ } | {
3873
+ status: "HYPERBRIDGE_FINALIZED";
3874
+ metadata: Extract<RequestStatusWithMetadata, {
3875
+ status: "HYPERBRIDGE_FINALIZED";
3876
+ }>["metadata"];
3877
+ } | {
3878
+ status: "SOURCE_PROOF_RECEIVED";
3879
+ proof: IProof;
3880
+ } | {
3881
+ status: "CANCELLATION_COMPLETE";
3882
+ blockNumber: number;
3883
+ transactionHash: HexString;
3884
+ };
3918
3885
 
3919
- /** Shared context for IntentsV2 sub-modules */
3920
- interface IntentsV2Context {
3886
+ /**
3887
+ * Shared runtime context passed to every IntentsV2 sub-module.
3888
+ *
3889
+ * All sub-modules (OrderPlacer, OrderExecutor, BidManager, etc.) receive a
3890
+ * reference to this object so they can share fee-token caches, storage
3891
+ * adapters, and chain clients without duplicating initialisation logic.
3892
+ */
3893
+ interface IntentGatewayContext {
3894
+ /** EVM chain on which orders are placed and escrowed. */
3921
3895
  source: IEvmChain;
3896
+ /** EVM chain on which solvers fill orders and receive outputs. */
3922
3897
  dest: IEvmChain;
3898
+ /** Hyperbridge coprocessor client used to fetch solver bids and submit UserOperations. */
3923
3899
  intentsCoprocessor?: IntentsCoprocessor;
3900
+ /** URL of the ERC-4337 bundler endpoint for gas estimation and UserOp submission. */
3924
3901
  bundlerUrl?: string;
3902
+ /**
3903
+ * In-memory TTL cache keyed by state-machine ID.
3904
+ * Stores fee-token address, decimals, and the timestamp of the last fetch.
3905
+ */
3925
3906
  feeTokenCache: Map<string, {
3926
3907
  address: HexString;
3927
3908
  decimals: number;
3928
3909
  cachedAt: number;
3929
3910
  }>;
3911
+ /**
3912
+ * In-memory cache of solver account contract bytecode, keyed by lowercased address.
3913
+ * Used to inject solver code into state-overrides for gas estimation.
3914
+ */
3930
3915
  solverCodeCache: Map<string, string>;
3916
+ /** Persistent storage for ephemeral session keys generated per order. */
3931
3917
  sessionKeyStorage: ReturnType<typeof createSessionKeyStorage>;
3918
+ /** Persistent storage for intermediate cancellation state (proofs, commitments). */
3932
3919
  cancellationStorage: ReturnType<typeof createCancellationStorage>;
3920
+ /** Persistent storage for deduplication of already-submitted UserOperations. */
3921
+ usedUserOpsStorage: ReturnType<typeof createUsedUserOpsStorage>;
3922
+ /** DEX-quote utility used for token pricing and gas-to-fee-token conversions. */
3933
3923
  swap: Swap;
3934
3924
  }
3935
3925
 
3936
3926
  /**
3937
- * IntentsV2 utilities for placing orders, submitting bids, and managing the intent lifecycle.
3927
+ * High-level facade for the IntentGatewayV2 protocol.
3928
+ *
3929
+ * `IntentGateway` orchestrates the complete lifecycle of an intent-based
3930
+ * cross-chain swap:
3931
+ * - **Order placement** — encodes and yields `placeOrder` calldata; caller
3932
+ * signs and submits the transaction.
3933
+ * - **Order execution** — polls the Hyperbridge coprocessor for solver bids,
3934
+ * selects the best bid, and submits an ERC-4337 UserOperation via a bundler.
3935
+ * - **Order cancellation** — guides the caller through the source- or
3936
+ * destination-initiated cancellation flow, including ISMP proof fetching and
3937
+ * Hyperbridge relay.
3938
+ * - **Status checks** — reads on-chain storage to determine whether an order
3939
+ * has been filled or refunded.
3938
3940
  *
3939
- * Use `IntentsV2.create()` to obtain an initialized instance.
3941
+ * Internally delegates to specialised sub-modules: {@link OrderPlacer},
3942
+ * {@link OrderExecutor}, {@link OrderCanceller}, {@link BidManager},
3943
+ * {@link GasEstimator}, {@link OrderStatusChecker}, and {@link CryptoUtils}.
3944
+ *
3945
+ * Use `IntentGateway.create()` to obtain an initialised instance.
3940
3946
  */
3941
- declare class IntentsV2 {
3947
+ declare class IntentGateway {
3948
+ /** EVM chain on which orders are placed and escrowed. */
3942
3949
  readonly source: IEvmChain;
3950
+ /** EVM chain on which solvers fill orders and deliver outputs. */
3943
3951
  readonly dest: IEvmChain;
3952
+ /** Optional Hyperbridge coprocessor client for bid fetching and UserOp submission. */
3944
3953
  readonly intentsCoprocessor?: IntentsCoprocessor;
3954
+ /** Optional ERC-4337 bundler URL for gas estimation and UserOp broadcasting. */
3945
3955
  readonly bundlerUrl?: string;
3956
+ /** Shared context object passed to all sub-modules. */
3946
3957
  private readonly ctx;
3958
+ /** Crypto and encoding utilities (EIP-712, gas packing, bundler calls). */
3947
3959
  private readonly _crypto;
3960
+ /** Handles `placeOrder` calldata generation and session-key management. */
3948
3961
  private readonly orderPlacer;
3962
+ /** Drives the bid-polling and UserOp-submission loop after order placement. */
3949
3963
  private readonly orderExecutor;
3964
+ /** Manages source- and destination-initiated order cancellation flows. */
3950
3965
  private readonly orderCanceller;
3966
+ /** Reads fill and refund status from on-chain storage. */
3951
3967
  private readonly orderStatusChecker;
3968
+ /** Validates, sorts, simulates, and submits solver bids. */
3952
3969
  private readonly bidManager;
3970
+ /** Estimates gas costs for filling an order and converts them to fee-token amounts. */
3953
3971
  private readonly gasEstimator;
3972
+ /**
3973
+ * Private constructor — use {@link IntentGateway.create} instead.
3974
+ *
3975
+ * Initialises all sub-modules and the shared context, including storage
3976
+ * adapters, fee-token and solver-code caches, and the DEX-quote utility.
3977
+ *
3978
+ * @param source - Source chain client.
3979
+ * @param dest - Destination chain client.
3980
+ * @param intentsCoprocessor - Optional coprocessor for bid fetching.
3981
+ */
3954
3982
  private constructor();
3955
3983
  /**
3956
- * Creates an initialized IntentsV2 instance.
3984
+ * Creates an initialized IntentGateway instance.
3985
+ *
3986
+ * Fetches the fee tokens for both chains and optionally caches the solver
3987
+ * account bytecode before returning, so the instance is ready for use
3988
+ * without additional warm-up calls.
3989
+ *
3990
+ * The ERC-4337 bundler URL is read from `dest.bundlerUrl`, set when constructing
3991
+ * the destination chain via {@link EvmChain.create} or {@link EvmChainParams.bundlerUrl}.
3957
3992
  *
3958
3993
  * @param source - Source chain for order placement
3959
3994
  * @param dest - Destination chain for order fulfillment
3960
3995
  * @param intentsCoprocessor - Optional coprocessor for bid fetching and order execution
3961
- * @param bundlerUrl - Optional ERC-4337 bundler URL for gas estimation and UserOp submission
3962
- * @returns Initialized IntentsV2 instance
3996
+ * @returns Initialized IntentGateway instance
3997
+ */
3998
+ static create(source: IEvmChain, dest: IEvmChain, intentsCoprocessor?: IntentsCoprocessor): Promise<IntentGateway>;
3999
+ /**
4000
+ * Pre-warms the fee-token cache for both chains and attempts to load the
4001
+ * solver account bytecode into the solver-code cache.
4002
+ *
4003
+ * Called automatically by {@link IntentGateway.create}; not intended for direct use.
3963
4004
  */
3964
- static create(source: IEvmChain, dest: IEvmChain, intentsCoprocessor?: IntentsCoprocessor, bundlerUrl?: string): Promise<IntentsV2>;
3965
4005
  private init;
4006
+ /**
4007
+ * Bidirectional async generator that orchestrates the full order lifecycle:
4008
+ * placement, fee estimation, bid collection, and execution.
4009
+ *
4010
+ * **Yield/receive protocol:**
4011
+ * 1. If `order.fees` is unset or zero, estimates gas and sets `order.fees`
4012
+ * with a 1% buffer and the wei cost with a 2% buffer for the `value` field.
4013
+ * 2. Yields `AWAITING_PLACE_ORDER` with `{ to, data, value, sessionPrivateKey }`.
4014
+ * The caller must sign the transaction and pass it back via `gen.next(signedTx)`.
4015
+ * 3. Yields `ORDER_PLACED` with the finalised order and transaction hash once
4016
+ * the `OrderPlaced` event is confirmed.
4017
+ * 4. Delegates to {@link OrderExecutor.executeIntentOrder} and forwards all
4018
+ * subsequent status updates until the order is filled, exhausted, or fails.
4019
+ *
4020
+ * @param order - The order to place and execute. `order.fees` may be 0; it
4021
+ * will be estimated automatically if so.
4022
+ * @param graffiti - Optional bytes32 tag for orderflow attribution /
4023
+ * revenue share. Defaults to {@link DEFAULT_GRAFFITI}.
4024
+ * @param options - Optional tuning parameters:
4025
+ * - `maxPriorityFeePerGasBumpPercent` — bump % for the priority fee estimate (default 8).
4026
+ * - `maxFeePerGasBumpPercent` — bump % for the max fee estimate (default 10).
4027
+ * - `minBids` — minimum bids to collect before selecting (default 1).
4028
+ * - `bidTimeoutMs` — how long to poll for bids before giving up (default 60 000 ms).
4029
+ * - `pollIntervalMs` — interval between bid-polling attempts.
4030
+ * @yields {@link IntentOrderStatusUpdate} at each lifecycle stage.
4031
+ * @throws If the `placeOrder` generator behaves unexpectedly, or if gas
4032
+ * estimation returns zero.
4033
+ */
3966
4034
  execute(order: OrderV2, graffiti?: HexString, options?: {
3967
4035
  maxPriorityFeePerGasBumpPercent?: number;
3968
4036
  maxFeePerGasBumpPercent?: number;
3969
4037
  minBids?: number;
3970
4038
  bidTimeoutMs?: number;
3971
4039
  pollIntervalMs?: number;
3972
- }): AsyncGenerator<{
3973
- calldata: HexString;
3974
- feesInWei?: bigint;
3975
- sessionPrivateKey: HexString;
3976
- } | IntentOrderStatusUpdate, void, HexString>;
3977
- placeOrder(order: OrderV2, graffiti?: HexString): AsyncGenerator<{
3978
- calldata: HexString;
3979
- sessionPrivateKey: HexString;
3980
- }, OrderV2, any>;
3981
- executeIntentOrder(options: ExecuteIntentOrderOptions): AsyncGenerator<IntentOrderStatusUpdate, void>;
3982
- quoteCancelNative(order: OrderV2, from?: "source" | "dest"): Promise<bigint>;
3983
- cancelOrder(order: OrderV2, indexerClient: IndexerClient, from?: "source" | "dest"): AsyncGenerator<CancelEvent>;
4040
+ }): AsyncGenerator<IntentOrderStatusUpdate, void, HexString>;
4041
+ /**
4042
+ * Quotes the native token cost for cancelling an order.
4043
+ *
4044
+ * Delegates to {@link OrderCanceller.quoteCancelNative}.
4045
+ *
4046
+ * @param order - The order to quote cancellation for.
4047
+ * @param fromDest - If `true`, quotes the destination-initiated cancellation fee.
4048
+ * Defaults to `false` (source-side cancellation).
4049
+ * @returns The native token amount required to submit the cancel transaction.
4050
+ */
4051
+ quoteCancelNative(order: OrderV2, fromDest?: boolean): Promise<bigint>;
4052
+ /**
4053
+ * Async generator that cancels an order and streams status events until
4054
+ * cancellation is complete.
4055
+ *
4056
+ * Delegates to {@link OrderCanceller.cancelOrder}.
4057
+ *
4058
+ * @param order - The order to cancel.
4059
+ * @param indexerClient - Indexer client used for ISMP request status streaming.
4060
+ * @param fromDest - If `true`, initiates cancellation from the destination chain.
4061
+ * Defaults to `false` (source-side cancellation).
4062
+ * @yields {@link CancelEvent} objects describing each cancellation stage.
4063
+ */
4064
+ cancelOrder(order: OrderV2, indexerClient: IndexerClient, fromDest?: boolean): AsyncGenerator<CancelEvent>;
4065
+ /**
4066
+ * Constructs a signed `PackedUserOperation` for a solver to submit as a bid.
4067
+ *
4068
+ * Delegates to {@link BidManager.prepareSubmitBid}.
4069
+ *
4070
+ * @param options - Bid parameters including order, solver account, gas limits,
4071
+ * fee market values, and pre-built fill calldata.
4072
+ * @returns A fully signed `PackedUserOperation` ready for submission.
4073
+ */
3984
4074
  prepareSubmitBid(options: SubmitBidOptions): Promise<PackedUserOperation>;
4075
+ /**
4076
+ * Selects the best available bid, simulates it, and submits the UserOperation
4077
+ * to the bundler.
4078
+ *
4079
+ * Delegates to {@link BidManager.selectBid}.
4080
+ *
4081
+ * @param order - The placed order to fill.
4082
+ * @param bids - Raw filler bids fetched from the coprocessor.
4083
+ * @param sessionPrivateKey - Optional session key override; looked up from
4084
+ * storage if omitted.
4085
+ * @returns A {@link SelectBidResult} with the submitted UserOperation, hashes,
4086
+ * and fill status.
4087
+ */
3985
4088
  selectBid(order: OrderV2, bids: FillerBid[], sessionPrivateKey?: HexString): Promise<SelectBidResult>;
4089
+ /**
4090
+ * Estimates the gas cost for filling the given order, returning individual
4091
+ * gas components and fee-token-denominated totals.
4092
+ *
4093
+ * Delegates to {@link GasEstimator.estimateFillOrderV2}.
4094
+ *
4095
+ * @param params - Estimation parameters including the order and optional
4096
+ * gas-price bump percentages.
4097
+ * @returns A {@link FillOrderEstimateV2} with all gas components.
4098
+ */
3986
4099
  estimateFillOrderV2(params: EstimateFillOrderV2Params): Promise<FillOrderEstimateV2>;
4100
+ /**
4101
+ * Encodes a list of calls into ERC-7821 `execute` calldata using
4102
+ * single-batch mode.
4103
+ *
4104
+ * Delegates to {@link CryptoUtils.encodeERC7821Execute}.
4105
+ *
4106
+ * @param calls - Ordered list of calls to batch.
4107
+ * @returns ABI-encoded calldata for the ERC-7821 `execute` function.
4108
+ */
3987
4109
  encodeERC7821Execute(calls: ERC7821Call[]): HexString;
4110
+ /**
4111
+ * Decodes ERC-7821 `execute` calldata back into its constituent calls.
4112
+ *
4113
+ * Delegates to {@link CryptoUtils.decodeERC7821Execute}.
4114
+ *
4115
+ * @param callData - Hex-encoded calldata to decode.
4116
+ * @returns Array of decoded {@link ERC7821Call} objects, or `null` on failure.
4117
+ */
3988
4118
  decodeERC7821Execute(callData: HexString): ERC7821Call[] | null;
4119
+ /**
4120
+ * Checks whether an order has been filled on the destination chain.
4121
+ *
4122
+ * Delegates to {@link OrderStatusChecker.isOrderFilled}.
4123
+ *
4124
+ * @param order - The order to check.
4125
+ * @returns `true` if the order's commitment slot on the destination chain is
4126
+ * non-zero (i.e. `fillOrder` has been called successfully).
4127
+ */
3989
4128
  isOrderFilled(order: OrderV2): Promise<boolean>;
4129
+ /**
4130
+ * Checks whether all escrowed inputs for an order have been refunded on the
4131
+ * source chain.
4132
+ *
4133
+ * Delegates to {@link OrderStatusChecker.isOrderRefunded}.
4134
+ *
4135
+ * @param order - The order to check.
4136
+ * @returns `true` if every input token's escrowed amount has been zeroed out
4137
+ * in the `_orders` mapping on the source chain.
4138
+ */
3990
4139
  isOrderRefunded(order: OrderV2): Promise<boolean>;
3991
4140
  }
3992
4141
 
4142
+ /**
4143
+ * Checks the on-chain fill and refund status of IntentGatewayV2 orders.
4144
+ *
4145
+ * Reads contract storage directly rather than relying on events, so the
4146
+ * results are accurate even if the caller misses the confirmation window.
4147
+ */
3993
4148
  declare class OrderStatusChecker {
3994
4149
  private readonly ctx;
3995
- constructor(ctx: IntentsV2Context);
4150
+ /**
4151
+ * @param ctx - Shared IntentsV2 context providing the source and destination
4152
+ * chain clients and config service.
4153
+ */
4154
+ constructor(ctx: IntentGatewayContext);
3996
4155
  /**
3997
4156
  * Checks if a V2 order has been filled by reading the commitment storage slot on the destination chain.
3998
4157
  *
@@ -4018,31 +4177,3474 @@ declare class OrderStatusChecker {
4018
4177
  }
4019
4178
 
4020
4179
  /**
4021
- * Standalone utility to encode calls into ERC-7821 execute function calldata.
4022
- * Can be used outside of the IntentGatewayV2 class (e.g., by filler strategies
4023
- * that need to build custom batch calldata for swap+fill operations).
4180
+ * Encodes a list of calls into ERC-7821 `execute` function calldata using
4181
+ * single-batch mode.
4182
+ *
4183
+ * This is a standalone utility that can be used outside of the
4184
+ * `IntentGatewayV2` class — for example, by filler strategies that need to
4185
+ * build custom batch calldata for combined swap-and-fill operations before
4186
+ * submitting a UserOperation.
4187
+ *
4188
+ * @param calls - Ordered list of calls to batch; each specifies a target
4189
+ * address, ETH value, and calldata.
4190
+ * @returns ABI-encoded calldata for the ERC-7821 `execute(bytes32,bytes)` function.
4024
4191
  */
4025
4192
  declare function encodeERC7821ExecuteBatch(calls: ERC7821Call[]): HexString;
4026
4193
  /**
4027
- * Fetches proof for the source chain.
4194
+ * Fetches a Merkle/state proof for the given ISMP request commitment on the
4195
+ * source chain.
4028
4196
  *
4197
+ * Derives the two storage slots from the commitment using
4198
+ * `requestCommitmentKey`, then queries the source chain node for a state
4199
+ * proof at the given block height.
4200
+ *
4201
+ * @param commitment - The ISMP request commitment hash to prove.
4202
+ * @param source - Source chain client used to query the state proof.
4203
+ * @param sourceStateMachine - State-machine ID string of the source chain.
4204
+ * @param sourceConsensusStateId - Consensus-state identifier for the source chain.
4205
+ * @param sourceHeight - Block height at which to generate the proof.
4206
+ * @returns Resolves with an {@link IProof} ready to be submitted to Hyperbridge.
4029
4207
  * @internal
4030
4208
  */
4031
4209
  declare function fetchSourceProof(commitment: HexString, source: IEvmChain, sourceStateMachine: string, sourceConsensusStateId: string, sourceHeight: bigint): Promise<IProof>;
4032
4210
  /**
4033
- * Transforms an OrderV2 (SDK type) to the Order struct expected by the contract.
4211
+ * Strips SDK-only fields from an {@link OrderV2} and normalises all fields to
4212
+ * the encoding the IntentGatewayV2 contract ABI expects:
4213
+ *
4214
+ * - `id` and `transactionHash` are removed (not part of the on-chain struct).
4215
+ * - `source` and `destination` are hex-encoded if currently plain string
4216
+ * state-machine IDs.
4217
+ * - `inputs[i].token`, `output.beneficiary`, `output.assets[i].token`, and
4218
+ * `predispatch.assets[i].token` are left-padded from 20-byte addresses to
4219
+ * 32-byte values (`0x000…addr`) via {@link bytes20ToBytes32}, matching the
4220
+ * `bytes32(uint256(uint160(addr)))` encoding the contract uses when casting
4221
+ * these fields back to `address`. Values already at 32 bytes are unchanged.
4222
+ *
4223
+ * @param order - The SDK-level order to transform.
4224
+ * @returns A contract-compatible order struct without `id` or `transactionHash`.
4034
4225
  */
4035
4226
  declare function transformOrderForContract(order: OrderV2): Omit<OrderV2, "id" | "transactionHash">;
4036
4227
 
4037
- /** EIP-712 type hash for SelectSolver message */
4038
- declare const SELECT_SOLVER_TYPEHASH: `0x${string}`;
4039
- /** EIP-712 type hash for PackedUserOperation */
4040
- declare const PACKED_USEROP_TYPEHASH: `0x${string}`;
4041
- /** EIP-712 type hash for EIP712Domain */
4042
- declare const DOMAIN_TYPEHASH: `0x${string}`;
4043
-
4044
4228
  /**
4045
- * Result of the quoteNative fee estimation
4229
+ * EIP-712 type hash for the `SelectSolver` struct.
4230
+ *
4231
+ * Computed as `keccak256("SelectSolver(bytes32 commitment,address solver)")`.
4232
+ * Used when the session key signs a solver-selection message so that the
4233
+ * IntentGatewayV2 contract can verify the choice on-chain.
4234
+ */
4235
+ declare const SELECT_SOLVER_TYPEHASH: `0x${string}`;
4236
+ /**
4237
+ * EIP-712 type hash for the `PackedUserOperation` struct.
4238
+ *
4239
+ * Matches the ERC-4337 v0.8 `PackedUserOperation` type definition used by
4240
+ * EntryPoint v0.8. Used when computing the UserOperation hash that solvers
4241
+ * must sign before submitting bids.
4242
+ */
4243
+ declare const PACKED_USEROP_TYPEHASH: `0x${string}`;
4244
+ /**
4245
+ * EIP-712 type hash for the `EIP712Domain` struct.
4246
+ *
4247
+ * Computed as `keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")`.
4248
+ * Used to construct domain separators for all EIP-712 messages in the
4249
+ * IntentGatewayV2 protocol.
4250
+ */
4251
+ declare const DOMAIN_TYPEHASH: `0x${string}`;
4252
+
4253
+ declare const ABI$1: readonly [{
4254
+ readonly type: "constructor";
4255
+ readonly inputs: readonly [{
4256
+ readonly name: "admin";
4257
+ readonly type: "address";
4258
+ readonly internalType: "address";
4259
+ }];
4260
+ readonly stateMutability: "nonpayable";
4261
+ }, {
4262
+ readonly type: "receive";
4263
+ readonly stateMutability: "payable";
4264
+ }, {
4265
+ readonly type: "function";
4266
+ readonly name: "DOMAIN_SEPARATOR";
4267
+ readonly inputs: readonly [];
4268
+ readonly outputs: readonly [{
4269
+ readonly name: "";
4270
+ readonly type: "bytes32";
4271
+ readonly internalType: "bytes32";
4272
+ }];
4273
+ readonly stateMutability: "view";
4274
+ }, {
4275
+ readonly type: "function";
4276
+ readonly name: "SELECT_SOLVER_TYPEHASH";
4277
+ readonly inputs: readonly [];
4278
+ readonly outputs: readonly [{
4279
+ readonly name: "";
4280
+ readonly type: "bytes32";
4281
+ readonly internalType: "bytes32";
4282
+ }];
4283
+ readonly stateMutability: "view";
4284
+ }, {
4285
+ readonly type: "function";
4286
+ readonly name: "_destinationProtocolFees";
4287
+ readonly inputs: readonly [{
4288
+ readonly name: "";
4289
+ readonly type: "bytes32";
4290
+ readonly internalType: "bytes32";
4291
+ }];
4292
+ readonly outputs: readonly [{
4293
+ readonly name: "";
4294
+ readonly type: "uint256";
4295
+ readonly internalType: "uint256";
4296
+ }];
4297
+ readonly stateMutability: "view";
4298
+ }, {
4299
+ readonly type: "function";
4300
+ readonly name: "_filled";
4301
+ readonly inputs: readonly [{
4302
+ readonly name: "";
4303
+ readonly type: "bytes32";
4304
+ readonly internalType: "bytes32";
4305
+ }];
4306
+ readonly outputs: readonly [{
4307
+ readonly name: "";
4308
+ readonly type: "address";
4309
+ readonly internalType: "address";
4310
+ }];
4311
+ readonly stateMutability: "view";
4312
+ }, {
4313
+ readonly type: "function";
4314
+ readonly name: "_instances";
4315
+ readonly inputs: readonly [{
4316
+ readonly name: "";
4317
+ readonly type: "bytes32";
4318
+ readonly internalType: "bytes32";
4319
+ }];
4320
+ readonly outputs: readonly [{
4321
+ readonly name: "";
4322
+ readonly type: "address";
4323
+ readonly internalType: "address";
4324
+ }];
4325
+ readonly stateMutability: "view";
4326
+ }, {
4327
+ readonly type: "function";
4328
+ readonly name: "_nonce";
4329
+ readonly inputs: readonly [];
4330
+ readonly outputs: readonly [{
4331
+ readonly name: "";
4332
+ readonly type: "uint256";
4333
+ readonly internalType: "uint256";
4334
+ }];
4335
+ readonly stateMutability: "view";
4336
+ }, {
4337
+ readonly type: "function";
4338
+ readonly name: "_orders";
4339
+ readonly inputs: readonly [{
4340
+ readonly name: "";
4341
+ readonly type: "bytes32";
4342
+ readonly internalType: "bytes32";
4343
+ }, {
4344
+ readonly name: "";
4345
+ readonly type: "address";
4346
+ readonly internalType: "address";
4347
+ }];
4348
+ readonly outputs: readonly [{
4349
+ readonly name: "";
4350
+ readonly type: "uint256";
4351
+ readonly internalType: "uint256";
4352
+ }];
4353
+ readonly stateMutability: "view";
4354
+ }, {
4355
+ readonly type: "function";
4356
+ readonly name: "_partialFills";
4357
+ readonly inputs: readonly [{
4358
+ readonly name: "";
4359
+ readonly type: "bytes32";
4360
+ readonly internalType: "bytes32";
4361
+ }, {
4362
+ readonly name: "";
4363
+ readonly type: "bytes32";
4364
+ readonly internalType: "bytes32";
4365
+ }];
4366
+ readonly outputs: readonly [{
4367
+ readonly name: "";
4368
+ readonly type: "uint256";
4369
+ readonly internalType: "uint256";
4370
+ }];
4371
+ readonly stateMutability: "view";
4372
+ }, {
4373
+ readonly type: "function";
4374
+ readonly name: "calculateCommitmentSlotHash";
4375
+ readonly inputs: readonly [{
4376
+ readonly name: "commitment";
4377
+ readonly type: "bytes32";
4378
+ readonly internalType: "bytes32";
4379
+ }];
4380
+ readonly outputs: readonly [{
4381
+ readonly name: "";
4382
+ readonly type: "bytes";
4383
+ readonly internalType: "bytes";
4384
+ }];
4385
+ readonly stateMutability: "pure";
4386
+ }, {
4387
+ readonly type: "function";
4388
+ readonly name: "cancelOrder";
4389
+ readonly inputs: readonly [{
4390
+ readonly name: "order";
4391
+ readonly type: "tuple";
4392
+ readonly internalType: "struct Order";
4393
+ readonly components: readonly [{
4394
+ readonly name: "user";
4395
+ readonly type: "bytes32";
4396
+ readonly internalType: "bytes32";
4397
+ }, {
4398
+ readonly name: "source";
4399
+ readonly type: "bytes";
4400
+ readonly internalType: "bytes";
4401
+ }, {
4402
+ readonly name: "destination";
4403
+ readonly type: "bytes";
4404
+ readonly internalType: "bytes";
4405
+ }, {
4406
+ readonly name: "deadline";
4407
+ readonly type: "uint256";
4408
+ readonly internalType: "uint256";
4409
+ }, {
4410
+ readonly name: "nonce";
4411
+ readonly type: "uint256";
4412
+ readonly internalType: "uint256";
4413
+ }, {
4414
+ readonly name: "fees";
4415
+ readonly type: "uint256";
4416
+ readonly internalType: "uint256";
4417
+ }, {
4418
+ readonly name: "session";
4419
+ readonly type: "address";
4420
+ readonly internalType: "address";
4421
+ }, {
4422
+ readonly name: "predispatch";
4423
+ readonly type: "tuple";
4424
+ readonly internalType: "struct DispatchInfo";
4425
+ readonly components: readonly [{
4426
+ readonly name: "assets";
4427
+ readonly type: "tuple[]";
4428
+ readonly internalType: "struct TokenInfo[]";
4429
+ readonly components: readonly [{
4430
+ readonly name: "token";
4431
+ readonly type: "bytes32";
4432
+ readonly internalType: "bytes32";
4433
+ }, {
4434
+ readonly name: "amount";
4435
+ readonly type: "uint256";
4436
+ readonly internalType: "uint256";
4437
+ }];
4438
+ }, {
4439
+ readonly name: "call";
4440
+ readonly type: "bytes";
4441
+ readonly internalType: "bytes";
4442
+ }];
4443
+ }, {
4444
+ readonly name: "inputs";
4445
+ readonly type: "tuple[]";
4446
+ readonly internalType: "struct TokenInfo[]";
4447
+ readonly components: readonly [{
4448
+ readonly name: "token";
4449
+ readonly type: "bytes32";
4450
+ readonly internalType: "bytes32";
4451
+ }, {
4452
+ readonly name: "amount";
4453
+ readonly type: "uint256";
4454
+ readonly internalType: "uint256";
4455
+ }];
4456
+ }, {
4457
+ readonly name: "output";
4458
+ readonly type: "tuple";
4459
+ readonly internalType: "struct PaymentInfo";
4460
+ readonly components: readonly [{
4461
+ readonly name: "beneficiary";
4462
+ readonly type: "bytes32";
4463
+ readonly internalType: "bytes32";
4464
+ }, {
4465
+ readonly name: "assets";
4466
+ readonly type: "tuple[]";
4467
+ readonly internalType: "struct TokenInfo[]";
4468
+ readonly components: readonly [{
4469
+ readonly name: "token";
4470
+ readonly type: "bytes32";
4471
+ readonly internalType: "bytes32";
4472
+ }, {
4473
+ readonly name: "amount";
4474
+ readonly type: "uint256";
4475
+ readonly internalType: "uint256";
4476
+ }];
4477
+ }, {
4478
+ readonly name: "call";
4479
+ readonly type: "bytes";
4480
+ readonly internalType: "bytes";
4481
+ }];
4482
+ }];
4483
+ }, {
4484
+ readonly name: "options";
4485
+ readonly type: "tuple";
4486
+ readonly internalType: "struct CancelOptions";
4487
+ readonly components: readonly [{
4488
+ readonly name: "relayerFee";
4489
+ readonly type: "uint256";
4490
+ readonly internalType: "uint256";
4491
+ }, {
4492
+ readonly name: "height";
4493
+ readonly type: "uint256";
4494
+ readonly internalType: "uint256";
4495
+ }];
4496
+ }];
4497
+ readonly outputs: readonly [];
4498
+ readonly stateMutability: "payable";
4499
+ }, {
4500
+ readonly type: "function";
4501
+ readonly name: "eip712Domain";
4502
+ readonly inputs: readonly [];
4503
+ readonly outputs: readonly [{
4504
+ readonly name: "fields";
4505
+ readonly type: "bytes1";
4506
+ readonly internalType: "bytes1";
4507
+ }, {
4508
+ readonly name: "name";
4509
+ readonly type: "string";
4510
+ readonly internalType: "string";
4511
+ }, {
4512
+ readonly name: "version";
4513
+ readonly type: "string";
4514
+ readonly internalType: "string";
4515
+ }, {
4516
+ readonly name: "chainId";
4517
+ readonly type: "uint256";
4518
+ readonly internalType: "uint256";
4519
+ }, {
4520
+ readonly name: "verifyingContract";
4521
+ readonly type: "address";
4522
+ readonly internalType: "address";
4523
+ }, {
4524
+ readonly name: "salt";
4525
+ readonly type: "bytes32";
4526
+ readonly internalType: "bytes32";
4527
+ }, {
4528
+ readonly name: "extensions";
4529
+ readonly type: "uint256[]";
4530
+ readonly internalType: "uint256[]";
4531
+ }];
4532
+ readonly stateMutability: "view";
4533
+ }, {
4534
+ readonly type: "function";
4535
+ readonly name: "fillOrder";
4536
+ readonly inputs: readonly [{
4537
+ readonly name: "order";
4538
+ readonly type: "tuple";
4539
+ readonly internalType: "struct Order";
4540
+ readonly components: readonly [{
4541
+ readonly name: "user";
4542
+ readonly type: "bytes32";
4543
+ readonly internalType: "bytes32";
4544
+ }, {
4545
+ readonly name: "source";
4546
+ readonly type: "bytes";
4547
+ readonly internalType: "bytes";
4548
+ }, {
4549
+ readonly name: "destination";
4550
+ readonly type: "bytes";
4551
+ readonly internalType: "bytes";
4552
+ }, {
4553
+ readonly name: "deadline";
4554
+ readonly type: "uint256";
4555
+ readonly internalType: "uint256";
4556
+ }, {
4557
+ readonly name: "nonce";
4558
+ readonly type: "uint256";
4559
+ readonly internalType: "uint256";
4560
+ }, {
4561
+ readonly name: "fees";
4562
+ readonly type: "uint256";
4563
+ readonly internalType: "uint256";
4564
+ }, {
4565
+ readonly name: "session";
4566
+ readonly type: "address";
4567
+ readonly internalType: "address";
4568
+ }, {
4569
+ readonly name: "predispatch";
4570
+ readonly type: "tuple";
4571
+ readonly internalType: "struct DispatchInfo";
4572
+ readonly components: readonly [{
4573
+ readonly name: "assets";
4574
+ readonly type: "tuple[]";
4575
+ readonly internalType: "struct TokenInfo[]";
4576
+ readonly components: readonly [{
4577
+ readonly name: "token";
4578
+ readonly type: "bytes32";
4579
+ readonly internalType: "bytes32";
4580
+ }, {
4581
+ readonly name: "amount";
4582
+ readonly type: "uint256";
4583
+ readonly internalType: "uint256";
4584
+ }];
4585
+ }, {
4586
+ readonly name: "call";
4587
+ readonly type: "bytes";
4588
+ readonly internalType: "bytes";
4589
+ }];
4590
+ }, {
4591
+ readonly name: "inputs";
4592
+ readonly type: "tuple[]";
4593
+ readonly internalType: "struct TokenInfo[]";
4594
+ readonly components: readonly [{
4595
+ readonly name: "token";
4596
+ readonly type: "bytes32";
4597
+ readonly internalType: "bytes32";
4598
+ }, {
4599
+ readonly name: "amount";
4600
+ readonly type: "uint256";
4601
+ readonly internalType: "uint256";
4602
+ }];
4603
+ }, {
4604
+ readonly name: "output";
4605
+ readonly type: "tuple";
4606
+ readonly internalType: "struct PaymentInfo";
4607
+ readonly components: readonly [{
4608
+ readonly name: "beneficiary";
4609
+ readonly type: "bytes32";
4610
+ readonly internalType: "bytes32";
4611
+ }, {
4612
+ readonly name: "assets";
4613
+ readonly type: "tuple[]";
4614
+ readonly internalType: "struct TokenInfo[]";
4615
+ readonly components: readonly [{
4616
+ readonly name: "token";
4617
+ readonly type: "bytes32";
4618
+ readonly internalType: "bytes32";
4619
+ }, {
4620
+ readonly name: "amount";
4621
+ readonly type: "uint256";
4622
+ readonly internalType: "uint256";
4623
+ }];
4624
+ }, {
4625
+ readonly name: "call";
4626
+ readonly type: "bytes";
4627
+ readonly internalType: "bytes";
4628
+ }];
4629
+ }];
4630
+ }, {
4631
+ readonly name: "options";
4632
+ readonly type: "tuple";
4633
+ readonly internalType: "struct FillOptions";
4634
+ readonly components: readonly [{
4635
+ readonly name: "relayerFee";
4636
+ readonly type: "uint256";
4637
+ readonly internalType: "uint256";
4638
+ }, {
4639
+ readonly name: "nativeDispatchFee";
4640
+ readonly type: "uint256";
4641
+ readonly internalType: "uint256";
4642
+ }, {
4643
+ readonly name: "outputs";
4644
+ readonly type: "tuple[]";
4645
+ readonly internalType: "struct TokenInfo[]";
4646
+ readonly components: readonly [{
4647
+ readonly name: "token";
4648
+ readonly type: "bytes32";
4649
+ readonly internalType: "bytes32";
4650
+ }, {
4651
+ readonly name: "amount";
4652
+ readonly type: "uint256";
4653
+ readonly internalType: "uint256";
4654
+ }];
4655
+ }];
4656
+ }];
4657
+ readonly outputs: readonly [];
4658
+ readonly stateMutability: "payable";
4659
+ }, {
4660
+ readonly type: "function";
4661
+ readonly name: "host";
4662
+ readonly inputs: readonly [];
4663
+ readonly outputs: readonly [{
4664
+ readonly name: "";
4665
+ readonly type: "address";
4666
+ readonly internalType: "address";
4667
+ }];
4668
+ readonly stateMutability: "view";
4669
+ }, {
4670
+ readonly type: "function";
4671
+ readonly name: "instance";
4672
+ readonly inputs: readonly [{
4673
+ readonly name: "stateMachineId";
4674
+ readonly type: "bytes";
4675
+ readonly internalType: "bytes";
4676
+ }];
4677
+ readonly outputs: readonly [{
4678
+ readonly name: "";
4679
+ readonly type: "address";
4680
+ readonly internalType: "address";
4681
+ }];
4682
+ readonly stateMutability: "view";
4683
+ }, {
4684
+ readonly type: "function";
4685
+ readonly name: "onAccept";
4686
+ readonly inputs: readonly [{
4687
+ readonly name: "incoming";
4688
+ readonly type: "tuple";
4689
+ readonly internalType: "struct IncomingPostRequest";
4690
+ readonly components: readonly [{
4691
+ readonly name: "request";
4692
+ readonly type: "tuple";
4693
+ readonly internalType: "struct PostRequest";
4694
+ readonly components: readonly [{
4695
+ readonly name: "source";
4696
+ readonly type: "bytes";
4697
+ readonly internalType: "bytes";
4698
+ }, {
4699
+ readonly name: "dest";
4700
+ readonly type: "bytes";
4701
+ readonly internalType: "bytes";
4702
+ }, {
4703
+ readonly name: "nonce";
4704
+ readonly type: "uint64";
4705
+ readonly internalType: "uint64";
4706
+ }, {
4707
+ readonly name: "from";
4708
+ readonly type: "bytes";
4709
+ readonly internalType: "bytes";
4710
+ }, {
4711
+ readonly name: "to";
4712
+ readonly type: "bytes";
4713
+ readonly internalType: "bytes";
4714
+ }, {
4715
+ readonly name: "timeoutTimestamp";
4716
+ readonly type: "uint64";
4717
+ readonly internalType: "uint64";
4718
+ }, {
4719
+ readonly name: "body";
4720
+ readonly type: "bytes";
4721
+ readonly internalType: "bytes";
4722
+ }];
4723
+ }, {
4724
+ readonly name: "relayer";
4725
+ readonly type: "address";
4726
+ readonly internalType: "address";
4727
+ }];
4728
+ }];
4729
+ readonly outputs: readonly [];
4730
+ readonly stateMutability: "nonpayable";
4731
+ }, {
4732
+ readonly type: "function";
4733
+ readonly name: "onGetResponse";
4734
+ readonly inputs: readonly [{
4735
+ readonly name: "incoming";
4736
+ readonly type: "tuple";
4737
+ readonly internalType: "struct IncomingGetResponse";
4738
+ readonly components: readonly [{
4739
+ readonly name: "response";
4740
+ readonly type: "tuple";
4741
+ readonly internalType: "struct GetResponse";
4742
+ readonly components: readonly [{
4743
+ readonly name: "request";
4744
+ readonly type: "tuple";
4745
+ readonly internalType: "struct GetRequest";
4746
+ readonly components: readonly [{
4747
+ readonly name: "source";
4748
+ readonly type: "bytes";
4749
+ readonly internalType: "bytes";
4750
+ }, {
4751
+ readonly name: "dest";
4752
+ readonly type: "bytes";
4753
+ readonly internalType: "bytes";
4754
+ }, {
4755
+ readonly name: "nonce";
4756
+ readonly type: "uint64";
4757
+ readonly internalType: "uint64";
4758
+ }, {
4759
+ readonly name: "from";
4760
+ readonly type: "address";
4761
+ readonly internalType: "address";
4762
+ }, {
4763
+ readonly name: "timeoutTimestamp";
4764
+ readonly type: "uint64";
4765
+ readonly internalType: "uint64";
4766
+ }, {
4767
+ readonly name: "keys";
4768
+ readonly type: "bytes[]";
4769
+ readonly internalType: "bytes[]";
4770
+ }, {
4771
+ readonly name: "height";
4772
+ readonly type: "uint64";
4773
+ readonly internalType: "uint64";
4774
+ }, {
4775
+ readonly name: "context";
4776
+ readonly type: "bytes";
4777
+ readonly internalType: "bytes";
4778
+ }];
4779
+ }, {
4780
+ readonly name: "values";
4781
+ readonly type: "tuple[]";
4782
+ readonly internalType: "struct StorageValue[]";
4783
+ readonly components: readonly [{
4784
+ readonly name: "key";
4785
+ readonly type: "bytes";
4786
+ readonly internalType: "bytes";
4787
+ }, {
4788
+ readonly name: "value";
4789
+ readonly type: "bytes";
4790
+ readonly internalType: "bytes";
4791
+ }];
4792
+ }];
4793
+ }, {
4794
+ readonly name: "relayer";
4795
+ readonly type: "address";
4796
+ readonly internalType: "address";
4797
+ }];
4798
+ }];
4799
+ readonly outputs: readonly [];
4800
+ readonly stateMutability: "nonpayable";
4801
+ }, {
4802
+ readonly type: "function";
4803
+ readonly name: "onGetTimeout";
4804
+ readonly inputs: readonly [{
4805
+ readonly name: "";
4806
+ readonly type: "tuple";
4807
+ readonly internalType: "struct GetRequest";
4808
+ readonly components: readonly [{
4809
+ readonly name: "source";
4810
+ readonly type: "bytes";
4811
+ readonly internalType: "bytes";
4812
+ }, {
4813
+ readonly name: "dest";
4814
+ readonly type: "bytes";
4815
+ readonly internalType: "bytes";
4816
+ }, {
4817
+ readonly name: "nonce";
4818
+ readonly type: "uint64";
4819
+ readonly internalType: "uint64";
4820
+ }, {
4821
+ readonly name: "from";
4822
+ readonly type: "address";
4823
+ readonly internalType: "address";
4824
+ }, {
4825
+ readonly name: "timeoutTimestamp";
4826
+ readonly type: "uint64";
4827
+ readonly internalType: "uint64";
4828
+ }, {
4829
+ readonly name: "keys";
4830
+ readonly type: "bytes[]";
4831
+ readonly internalType: "bytes[]";
4832
+ }, {
4833
+ readonly name: "height";
4834
+ readonly type: "uint64";
4835
+ readonly internalType: "uint64";
4836
+ }, {
4837
+ readonly name: "context";
4838
+ readonly type: "bytes";
4839
+ readonly internalType: "bytes";
4840
+ }];
4841
+ }];
4842
+ readonly outputs: readonly [];
4843
+ readonly stateMutability: "nonpayable";
4844
+ }, {
4845
+ readonly type: "function";
4846
+ readonly name: "onPostRequestTimeout";
4847
+ readonly inputs: readonly [{
4848
+ readonly name: "";
4849
+ readonly type: "tuple";
4850
+ readonly internalType: "struct PostRequest";
4851
+ readonly components: readonly [{
4852
+ readonly name: "source";
4853
+ readonly type: "bytes";
4854
+ readonly internalType: "bytes";
4855
+ }, {
4856
+ readonly name: "dest";
4857
+ readonly type: "bytes";
4858
+ readonly internalType: "bytes";
4859
+ }, {
4860
+ readonly name: "nonce";
4861
+ readonly type: "uint64";
4862
+ readonly internalType: "uint64";
4863
+ }, {
4864
+ readonly name: "from";
4865
+ readonly type: "bytes";
4866
+ readonly internalType: "bytes";
4867
+ }, {
4868
+ readonly name: "to";
4869
+ readonly type: "bytes";
4870
+ readonly internalType: "bytes";
4871
+ }, {
4872
+ readonly name: "timeoutTimestamp";
4873
+ readonly type: "uint64";
4874
+ readonly internalType: "uint64";
4875
+ }, {
4876
+ readonly name: "body";
4877
+ readonly type: "bytes";
4878
+ readonly internalType: "bytes";
4879
+ }];
4880
+ }];
4881
+ readonly outputs: readonly [];
4882
+ readonly stateMutability: "nonpayable";
4883
+ }, {
4884
+ readonly type: "function";
4885
+ readonly name: "onPostResponse";
4886
+ readonly inputs: readonly [{
4887
+ readonly name: "";
4888
+ readonly type: "tuple";
4889
+ readonly internalType: "struct IncomingPostResponse";
4890
+ readonly components: readonly [{
4891
+ readonly name: "response";
4892
+ readonly type: "tuple";
4893
+ readonly internalType: "struct PostResponse";
4894
+ readonly components: readonly [{
4895
+ readonly name: "request";
4896
+ readonly type: "tuple";
4897
+ readonly internalType: "struct PostRequest";
4898
+ readonly components: readonly [{
4899
+ readonly name: "source";
4900
+ readonly type: "bytes";
4901
+ readonly internalType: "bytes";
4902
+ }, {
4903
+ readonly name: "dest";
4904
+ readonly type: "bytes";
4905
+ readonly internalType: "bytes";
4906
+ }, {
4907
+ readonly name: "nonce";
4908
+ readonly type: "uint64";
4909
+ readonly internalType: "uint64";
4910
+ }, {
4911
+ readonly name: "from";
4912
+ readonly type: "bytes";
4913
+ readonly internalType: "bytes";
4914
+ }, {
4915
+ readonly name: "to";
4916
+ readonly type: "bytes";
4917
+ readonly internalType: "bytes";
4918
+ }, {
4919
+ readonly name: "timeoutTimestamp";
4920
+ readonly type: "uint64";
4921
+ readonly internalType: "uint64";
4922
+ }, {
4923
+ readonly name: "body";
4924
+ readonly type: "bytes";
4925
+ readonly internalType: "bytes";
4926
+ }];
4927
+ }, {
4928
+ readonly name: "response";
4929
+ readonly type: "bytes";
4930
+ readonly internalType: "bytes";
4931
+ }, {
4932
+ readonly name: "timeoutTimestamp";
4933
+ readonly type: "uint64";
4934
+ readonly internalType: "uint64";
4935
+ }];
4936
+ }, {
4937
+ readonly name: "relayer";
4938
+ readonly type: "address";
4939
+ readonly internalType: "address";
4940
+ }];
4941
+ }];
4942
+ readonly outputs: readonly [];
4943
+ readonly stateMutability: "nonpayable";
4944
+ }, {
4945
+ readonly type: "function";
4946
+ readonly name: "onPostResponseTimeout";
4947
+ readonly inputs: readonly [{
4948
+ readonly name: "";
4949
+ readonly type: "tuple";
4950
+ readonly internalType: "struct PostResponse";
4951
+ readonly components: readonly [{
4952
+ readonly name: "request";
4953
+ readonly type: "tuple";
4954
+ readonly internalType: "struct PostRequest";
4955
+ readonly components: readonly [{
4956
+ readonly name: "source";
4957
+ readonly type: "bytes";
4958
+ readonly internalType: "bytes";
4959
+ }, {
4960
+ readonly name: "dest";
4961
+ readonly type: "bytes";
4962
+ readonly internalType: "bytes";
4963
+ }, {
4964
+ readonly name: "nonce";
4965
+ readonly type: "uint64";
4966
+ readonly internalType: "uint64";
4967
+ }, {
4968
+ readonly name: "from";
4969
+ readonly type: "bytes";
4970
+ readonly internalType: "bytes";
4971
+ }, {
4972
+ readonly name: "to";
4973
+ readonly type: "bytes";
4974
+ readonly internalType: "bytes";
4975
+ }, {
4976
+ readonly name: "timeoutTimestamp";
4977
+ readonly type: "uint64";
4978
+ readonly internalType: "uint64";
4979
+ }, {
4980
+ readonly name: "body";
4981
+ readonly type: "bytes";
4982
+ readonly internalType: "bytes";
4983
+ }];
4984
+ }, {
4985
+ readonly name: "response";
4986
+ readonly type: "bytes";
4987
+ readonly internalType: "bytes";
4988
+ }, {
4989
+ readonly name: "timeoutTimestamp";
4990
+ readonly type: "uint64";
4991
+ readonly internalType: "uint64";
4992
+ }];
4993
+ }];
4994
+ readonly outputs: readonly [];
4995
+ readonly stateMutability: "nonpayable";
4996
+ }, {
4997
+ readonly type: "function";
4998
+ readonly name: "params";
4999
+ readonly inputs: readonly [];
5000
+ readonly outputs: readonly [{
5001
+ readonly name: "";
5002
+ readonly type: "tuple";
5003
+ readonly internalType: "struct Params";
5004
+ readonly components: readonly [{
5005
+ readonly name: "host";
5006
+ readonly type: "address";
5007
+ readonly internalType: "address";
5008
+ }, {
5009
+ readonly name: "dispatcher";
5010
+ readonly type: "address";
5011
+ readonly internalType: "address";
5012
+ }, {
5013
+ readonly name: "solverSelection";
5014
+ readonly type: "bool";
5015
+ readonly internalType: "bool";
5016
+ }, {
5017
+ readonly name: "surplusShareBps";
5018
+ readonly type: "uint256";
5019
+ readonly internalType: "uint256";
5020
+ }, {
5021
+ readonly name: "protocolFeeBps";
5022
+ readonly type: "uint256";
5023
+ readonly internalType: "uint256";
5024
+ }, {
5025
+ readonly name: "priceOracle";
5026
+ readonly type: "address";
5027
+ readonly internalType: "address";
5028
+ }];
5029
+ }];
5030
+ readonly stateMutability: "view";
5031
+ }, {
5032
+ readonly type: "function";
5033
+ readonly name: "placeOrder";
5034
+ readonly inputs: readonly [{
5035
+ readonly name: "order";
5036
+ readonly type: "tuple";
5037
+ readonly internalType: "struct Order";
5038
+ readonly components: readonly [{
5039
+ readonly name: "user";
5040
+ readonly type: "bytes32";
5041
+ readonly internalType: "bytes32";
5042
+ }, {
5043
+ readonly name: "source";
5044
+ readonly type: "bytes";
5045
+ readonly internalType: "bytes";
5046
+ }, {
5047
+ readonly name: "destination";
5048
+ readonly type: "bytes";
5049
+ readonly internalType: "bytes";
5050
+ }, {
5051
+ readonly name: "deadline";
5052
+ readonly type: "uint256";
5053
+ readonly internalType: "uint256";
5054
+ }, {
5055
+ readonly name: "nonce";
5056
+ readonly type: "uint256";
5057
+ readonly internalType: "uint256";
5058
+ }, {
5059
+ readonly name: "fees";
5060
+ readonly type: "uint256";
5061
+ readonly internalType: "uint256";
5062
+ }, {
5063
+ readonly name: "session";
5064
+ readonly type: "address";
5065
+ readonly internalType: "address";
5066
+ }, {
5067
+ readonly name: "predispatch";
5068
+ readonly type: "tuple";
5069
+ readonly internalType: "struct DispatchInfo";
5070
+ readonly components: readonly [{
5071
+ readonly name: "assets";
5072
+ readonly type: "tuple[]";
5073
+ readonly internalType: "struct TokenInfo[]";
5074
+ readonly components: readonly [{
5075
+ readonly name: "token";
5076
+ readonly type: "bytes32";
5077
+ readonly internalType: "bytes32";
5078
+ }, {
5079
+ readonly name: "amount";
5080
+ readonly type: "uint256";
5081
+ readonly internalType: "uint256";
5082
+ }];
5083
+ }, {
5084
+ readonly name: "call";
5085
+ readonly type: "bytes";
5086
+ readonly internalType: "bytes";
5087
+ }];
5088
+ }, {
5089
+ readonly name: "inputs";
5090
+ readonly type: "tuple[]";
5091
+ readonly internalType: "struct TokenInfo[]";
5092
+ readonly components: readonly [{
5093
+ readonly name: "token";
5094
+ readonly type: "bytes32";
5095
+ readonly internalType: "bytes32";
5096
+ }, {
5097
+ readonly name: "amount";
5098
+ readonly type: "uint256";
5099
+ readonly internalType: "uint256";
5100
+ }];
5101
+ }, {
5102
+ readonly name: "output";
5103
+ readonly type: "tuple";
5104
+ readonly internalType: "struct PaymentInfo";
5105
+ readonly components: readonly [{
5106
+ readonly name: "beneficiary";
5107
+ readonly type: "bytes32";
5108
+ readonly internalType: "bytes32";
5109
+ }, {
5110
+ readonly name: "assets";
5111
+ readonly type: "tuple[]";
5112
+ readonly internalType: "struct TokenInfo[]";
5113
+ readonly components: readonly [{
5114
+ readonly name: "token";
5115
+ readonly type: "bytes32";
5116
+ readonly internalType: "bytes32";
5117
+ }, {
5118
+ readonly name: "amount";
5119
+ readonly type: "uint256";
5120
+ readonly internalType: "uint256";
5121
+ }];
5122
+ }, {
5123
+ readonly name: "call";
5124
+ readonly type: "bytes";
5125
+ readonly internalType: "bytes";
5126
+ }];
5127
+ }];
5128
+ }, {
5129
+ readonly name: "graffiti";
5130
+ readonly type: "bytes32";
5131
+ readonly internalType: "bytes32";
5132
+ }];
5133
+ readonly outputs: readonly [];
5134
+ readonly stateMutability: "payable";
5135
+ }, {
5136
+ readonly type: "function";
5137
+ readonly name: "quote";
5138
+ readonly inputs: readonly [{
5139
+ readonly name: "request";
5140
+ readonly type: "tuple";
5141
+ readonly internalType: "struct DispatchPost";
5142
+ readonly components: readonly [{
5143
+ readonly name: "dest";
5144
+ readonly type: "bytes";
5145
+ readonly internalType: "bytes";
5146
+ }, {
5147
+ readonly name: "to";
5148
+ readonly type: "bytes";
5149
+ readonly internalType: "bytes";
5150
+ }, {
5151
+ readonly name: "body";
5152
+ readonly type: "bytes";
5153
+ readonly internalType: "bytes";
5154
+ }, {
5155
+ readonly name: "timeout";
5156
+ readonly type: "uint64";
5157
+ readonly internalType: "uint64";
5158
+ }, {
5159
+ readonly name: "fee";
5160
+ readonly type: "uint256";
5161
+ readonly internalType: "uint256";
5162
+ }, {
5163
+ readonly name: "payer";
5164
+ readonly type: "address";
5165
+ readonly internalType: "address";
5166
+ }];
5167
+ }];
5168
+ readonly outputs: readonly [{
5169
+ readonly name: "";
5170
+ readonly type: "uint256";
5171
+ readonly internalType: "uint256";
5172
+ }];
5173
+ readonly stateMutability: "view";
5174
+ }, {
5175
+ readonly type: "function";
5176
+ readonly name: "quote";
5177
+ readonly inputs: readonly [{
5178
+ readonly name: "request";
5179
+ readonly type: "tuple";
5180
+ readonly internalType: "struct DispatchGet";
5181
+ readonly components: readonly [{
5182
+ readonly name: "dest";
5183
+ readonly type: "bytes";
5184
+ readonly internalType: "bytes";
5185
+ }, {
5186
+ readonly name: "height";
5187
+ readonly type: "uint64";
5188
+ readonly internalType: "uint64";
5189
+ }, {
5190
+ readonly name: "keys";
5191
+ readonly type: "bytes[]";
5192
+ readonly internalType: "bytes[]";
5193
+ }, {
5194
+ readonly name: "timeout";
5195
+ readonly type: "uint64";
5196
+ readonly internalType: "uint64";
5197
+ }, {
5198
+ readonly name: "fee";
5199
+ readonly type: "uint256";
5200
+ readonly internalType: "uint256";
5201
+ }, {
5202
+ readonly name: "context";
5203
+ readonly type: "bytes";
5204
+ readonly internalType: "bytes";
5205
+ }];
5206
+ }];
5207
+ readonly outputs: readonly [{
5208
+ readonly name: "";
5209
+ readonly type: "uint256";
5210
+ readonly internalType: "uint256";
5211
+ }];
5212
+ readonly stateMutability: "view";
5213
+ }, {
5214
+ readonly type: "function";
5215
+ readonly name: "quote";
5216
+ readonly inputs: readonly [{
5217
+ readonly name: "response";
5218
+ readonly type: "tuple";
5219
+ readonly internalType: "struct DispatchPostResponse";
5220
+ readonly components: readonly [{
5221
+ readonly name: "request";
5222
+ readonly type: "tuple";
5223
+ readonly internalType: "struct PostRequest";
5224
+ readonly components: readonly [{
5225
+ readonly name: "source";
5226
+ readonly type: "bytes";
5227
+ readonly internalType: "bytes";
5228
+ }, {
5229
+ readonly name: "dest";
5230
+ readonly type: "bytes";
5231
+ readonly internalType: "bytes";
5232
+ }, {
5233
+ readonly name: "nonce";
5234
+ readonly type: "uint64";
5235
+ readonly internalType: "uint64";
5236
+ }, {
5237
+ readonly name: "from";
5238
+ readonly type: "bytes";
5239
+ readonly internalType: "bytes";
5240
+ }, {
5241
+ readonly name: "to";
5242
+ readonly type: "bytes";
5243
+ readonly internalType: "bytes";
5244
+ }, {
5245
+ readonly name: "timeoutTimestamp";
5246
+ readonly type: "uint64";
5247
+ readonly internalType: "uint64";
5248
+ }, {
5249
+ readonly name: "body";
5250
+ readonly type: "bytes";
5251
+ readonly internalType: "bytes";
5252
+ }];
5253
+ }, {
5254
+ readonly name: "response";
5255
+ readonly type: "bytes";
5256
+ readonly internalType: "bytes";
5257
+ }, {
5258
+ readonly name: "timeout";
5259
+ readonly type: "uint64";
5260
+ readonly internalType: "uint64";
5261
+ }, {
5262
+ readonly name: "fee";
5263
+ readonly type: "uint256";
5264
+ readonly internalType: "uint256";
5265
+ }, {
5266
+ readonly name: "payer";
5267
+ readonly type: "address";
5268
+ readonly internalType: "address";
5269
+ }];
5270
+ }];
5271
+ readonly outputs: readonly [{
5272
+ readonly name: "";
5273
+ readonly type: "uint256";
5274
+ readonly internalType: "uint256";
5275
+ }];
5276
+ readonly stateMutability: "view";
5277
+ }, {
5278
+ readonly type: "function";
5279
+ readonly name: "quoteNative";
5280
+ readonly inputs: readonly [{
5281
+ readonly name: "request";
5282
+ readonly type: "tuple";
5283
+ readonly internalType: "struct DispatchPost";
5284
+ readonly components: readonly [{
5285
+ readonly name: "dest";
5286
+ readonly type: "bytes";
5287
+ readonly internalType: "bytes";
5288
+ }, {
5289
+ readonly name: "to";
5290
+ readonly type: "bytes";
5291
+ readonly internalType: "bytes";
5292
+ }, {
5293
+ readonly name: "body";
5294
+ readonly type: "bytes";
5295
+ readonly internalType: "bytes";
5296
+ }, {
5297
+ readonly name: "timeout";
5298
+ readonly type: "uint64";
5299
+ readonly internalType: "uint64";
5300
+ }, {
5301
+ readonly name: "fee";
5302
+ readonly type: "uint256";
5303
+ readonly internalType: "uint256";
5304
+ }, {
5305
+ readonly name: "payer";
5306
+ readonly type: "address";
5307
+ readonly internalType: "address";
5308
+ }];
5309
+ }];
5310
+ readonly outputs: readonly [{
5311
+ readonly name: "";
5312
+ readonly type: "uint256";
5313
+ readonly internalType: "uint256";
5314
+ }];
5315
+ readonly stateMutability: "view";
5316
+ }, {
5317
+ readonly type: "function";
5318
+ readonly name: "quoteNative";
5319
+ readonly inputs: readonly [{
5320
+ readonly name: "request";
5321
+ readonly type: "tuple";
5322
+ readonly internalType: "struct DispatchPostResponse";
5323
+ readonly components: readonly [{
5324
+ readonly name: "request";
5325
+ readonly type: "tuple";
5326
+ readonly internalType: "struct PostRequest";
5327
+ readonly components: readonly [{
5328
+ readonly name: "source";
5329
+ readonly type: "bytes";
5330
+ readonly internalType: "bytes";
5331
+ }, {
5332
+ readonly name: "dest";
5333
+ readonly type: "bytes";
5334
+ readonly internalType: "bytes";
5335
+ }, {
5336
+ readonly name: "nonce";
5337
+ readonly type: "uint64";
5338
+ readonly internalType: "uint64";
5339
+ }, {
5340
+ readonly name: "from";
5341
+ readonly type: "bytes";
5342
+ readonly internalType: "bytes";
5343
+ }, {
5344
+ readonly name: "to";
5345
+ readonly type: "bytes";
5346
+ readonly internalType: "bytes";
5347
+ }, {
5348
+ readonly name: "timeoutTimestamp";
5349
+ readonly type: "uint64";
5350
+ readonly internalType: "uint64";
5351
+ }, {
5352
+ readonly name: "body";
5353
+ readonly type: "bytes";
5354
+ readonly internalType: "bytes";
5355
+ }];
5356
+ }, {
5357
+ readonly name: "response";
5358
+ readonly type: "bytes";
5359
+ readonly internalType: "bytes";
5360
+ }, {
5361
+ readonly name: "timeout";
5362
+ readonly type: "uint64";
5363
+ readonly internalType: "uint64";
5364
+ }, {
5365
+ readonly name: "fee";
5366
+ readonly type: "uint256";
5367
+ readonly internalType: "uint256";
5368
+ }, {
5369
+ readonly name: "payer";
5370
+ readonly type: "address";
5371
+ readonly internalType: "address";
5372
+ }];
5373
+ }];
5374
+ readonly outputs: readonly [{
5375
+ readonly name: "";
5376
+ readonly type: "uint256";
5377
+ readonly internalType: "uint256";
5378
+ }];
5379
+ readonly stateMutability: "view";
5380
+ }, {
5381
+ readonly type: "function";
5382
+ readonly name: "quoteNative";
5383
+ readonly inputs: readonly [{
5384
+ readonly name: "request";
5385
+ readonly type: "tuple";
5386
+ readonly internalType: "struct DispatchGet";
5387
+ readonly components: readonly [{
5388
+ readonly name: "dest";
5389
+ readonly type: "bytes";
5390
+ readonly internalType: "bytes";
5391
+ }, {
5392
+ readonly name: "height";
5393
+ readonly type: "uint64";
5394
+ readonly internalType: "uint64";
5395
+ }, {
5396
+ readonly name: "keys";
5397
+ readonly type: "bytes[]";
5398
+ readonly internalType: "bytes[]";
5399
+ }, {
5400
+ readonly name: "timeout";
5401
+ readonly type: "uint64";
5402
+ readonly internalType: "uint64";
5403
+ }, {
5404
+ readonly name: "fee";
5405
+ readonly type: "uint256";
5406
+ readonly internalType: "uint256";
5407
+ }, {
5408
+ readonly name: "context";
5409
+ readonly type: "bytes";
5410
+ readonly internalType: "bytes";
5411
+ }];
5412
+ }];
5413
+ readonly outputs: readonly [{
5414
+ readonly name: "";
5415
+ readonly type: "uint256";
5416
+ readonly internalType: "uint256";
5417
+ }];
5418
+ readonly stateMutability: "view";
5419
+ }, {
5420
+ readonly type: "function";
5421
+ readonly name: "select";
5422
+ readonly inputs: readonly [{
5423
+ readonly name: "options";
5424
+ readonly type: "tuple";
5425
+ readonly internalType: "struct SelectOptions";
5426
+ readonly components: readonly [{
5427
+ readonly name: "commitment";
5428
+ readonly type: "bytes32";
5429
+ readonly internalType: "bytes32";
5430
+ }, {
5431
+ readonly name: "solver";
5432
+ readonly type: "address";
5433
+ readonly internalType: "address";
5434
+ }, {
5435
+ readonly name: "signature";
5436
+ readonly type: "bytes";
5437
+ readonly internalType: "bytes";
5438
+ }];
5439
+ }];
5440
+ readonly outputs: readonly [{
5441
+ readonly name: "";
5442
+ readonly type: "address";
5443
+ readonly internalType: "address";
5444
+ }];
5445
+ readonly stateMutability: "nonpayable";
5446
+ }, {
5447
+ readonly type: "function";
5448
+ readonly name: "setParams";
5449
+ readonly inputs: readonly [{
5450
+ readonly name: "p";
5451
+ readonly type: "tuple";
5452
+ readonly internalType: "struct Params";
5453
+ readonly components: readonly [{
5454
+ readonly name: "host";
5455
+ readonly type: "address";
5456
+ readonly internalType: "address";
5457
+ }, {
5458
+ readonly name: "dispatcher";
5459
+ readonly type: "address";
5460
+ readonly internalType: "address";
5461
+ }, {
5462
+ readonly name: "solverSelection";
5463
+ readonly type: "bool";
5464
+ readonly internalType: "bool";
5465
+ }, {
5466
+ readonly name: "surplusShareBps";
5467
+ readonly type: "uint256";
5468
+ readonly internalType: "uint256";
5469
+ }, {
5470
+ readonly name: "protocolFeeBps";
5471
+ readonly type: "uint256";
5472
+ readonly internalType: "uint256";
5473
+ }, {
5474
+ readonly name: "priceOracle";
5475
+ readonly type: "address";
5476
+ readonly internalType: "address";
5477
+ }];
5478
+ }];
5479
+ readonly outputs: readonly [];
5480
+ readonly stateMutability: "nonpayable";
5481
+ }, {
5482
+ readonly type: "event";
5483
+ readonly name: "DestinationProtocolFeeUpdated";
5484
+ readonly inputs: readonly [{
5485
+ readonly name: "stateMachineId";
5486
+ readonly type: "bytes32";
5487
+ readonly indexed: true;
5488
+ readonly internalType: "bytes32";
5489
+ }, {
5490
+ readonly name: "feeBps";
5491
+ readonly type: "uint256";
5492
+ readonly indexed: false;
5493
+ readonly internalType: "uint256";
5494
+ }];
5495
+ readonly anonymous: false;
5496
+ }, {
5497
+ readonly type: "event";
5498
+ readonly name: "DustCollected";
5499
+ readonly inputs: readonly [{
5500
+ readonly name: "token";
5501
+ readonly type: "address";
5502
+ readonly indexed: false;
5503
+ readonly internalType: "address";
5504
+ }, {
5505
+ readonly name: "amount";
5506
+ readonly type: "uint256";
5507
+ readonly indexed: false;
5508
+ readonly internalType: "uint256";
5509
+ }];
5510
+ readonly anonymous: false;
5511
+ }, {
5512
+ readonly type: "event";
5513
+ readonly name: "DustSwept";
5514
+ readonly inputs: readonly [{
5515
+ readonly name: "token";
5516
+ readonly type: "address";
5517
+ readonly indexed: false;
5518
+ readonly internalType: "address";
5519
+ }, {
5520
+ readonly name: "amount";
5521
+ readonly type: "uint256";
5522
+ readonly indexed: false;
5523
+ readonly internalType: "uint256";
5524
+ }, {
5525
+ readonly name: "beneficiary";
5526
+ readonly type: "address";
5527
+ readonly indexed: false;
5528
+ readonly internalType: "address";
5529
+ }];
5530
+ readonly anonymous: false;
5531
+ }, {
5532
+ readonly type: "event";
5533
+ readonly name: "EIP712DomainChanged";
5534
+ readonly inputs: readonly [];
5535
+ readonly anonymous: false;
5536
+ }, {
5537
+ readonly type: "event";
5538
+ readonly name: "EscrowRefunded";
5539
+ readonly inputs: readonly [{
5540
+ readonly name: "commitment";
5541
+ readonly type: "bytes32";
5542
+ readonly indexed: true;
5543
+ readonly internalType: "bytes32";
5544
+ }];
5545
+ readonly anonymous: false;
5546
+ }, {
5547
+ readonly type: "event";
5548
+ readonly name: "EscrowReleased";
5549
+ readonly inputs: readonly [{
5550
+ readonly name: "commitment";
5551
+ readonly type: "bytes32";
5552
+ readonly indexed: true;
5553
+ readonly internalType: "bytes32";
5554
+ }];
5555
+ readonly anonymous: false;
5556
+ }, {
5557
+ readonly type: "event";
5558
+ readonly name: "NewDeploymentAdded";
5559
+ readonly inputs: readonly [{
5560
+ readonly name: "stateMachineId";
5561
+ readonly type: "bytes";
5562
+ readonly indexed: false;
5563
+ readonly internalType: "bytes";
5564
+ }, {
5565
+ readonly name: "gateway";
5566
+ readonly type: "address";
5567
+ readonly indexed: false;
5568
+ readonly internalType: "address";
5569
+ }];
5570
+ readonly anonymous: false;
5571
+ }, {
5572
+ readonly type: "event";
5573
+ readonly name: "OrderFilled";
5574
+ readonly inputs: readonly [{
5575
+ readonly name: "commitment";
5576
+ readonly type: "bytes32";
5577
+ readonly indexed: true;
5578
+ readonly internalType: "bytes32";
5579
+ }, {
5580
+ readonly name: "filler";
5581
+ readonly type: "address";
5582
+ readonly indexed: false;
5583
+ readonly internalType: "address";
5584
+ }];
5585
+ readonly anonymous: false;
5586
+ }, {
5587
+ readonly type: "event";
5588
+ readonly name: "OrderPlaced";
5589
+ readonly inputs: readonly [{
5590
+ readonly name: "user";
5591
+ readonly type: "bytes32";
5592
+ readonly indexed: false;
5593
+ readonly internalType: "bytes32";
5594
+ }, {
5595
+ readonly name: "source";
5596
+ readonly type: "bytes";
5597
+ readonly indexed: false;
5598
+ readonly internalType: "bytes";
5599
+ }, {
5600
+ readonly name: "destination";
5601
+ readonly type: "bytes";
5602
+ readonly indexed: false;
5603
+ readonly internalType: "bytes";
5604
+ }, {
5605
+ readonly name: "deadline";
5606
+ readonly type: "uint256";
5607
+ readonly indexed: false;
5608
+ readonly internalType: "uint256";
5609
+ }, {
5610
+ readonly name: "nonce";
5611
+ readonly type: "uint256";
5612
+ readonly indexed: false;
5613
+ readonly internalType: "uint256";
5614
+ }, {
5615
+ readonly name: "fees";
5616
+ readonly type: "uint256";
5617
+ readonly indexed: false;
5618
+ readonly internalType: "uint256";
5619
+ }, {
5620
+ readonly name: "session";
5621
+ readonly type: "address";
5622
+ readonly indexed: false;
5623
+ readonly internalType: "address";
5624
+ }, {
5625
+ readonly name: "beneficiary";
5626
+ readonly type: "bytes32";
5627
+ readonly indexed: false;
5628
+ readonly internalType: "bytes32";
5629
+ }, {
5630
+ readonly name: "predispatch";
5631
+ readonly type: "tuple[]";
5632
+ readonly indexed: false;
5633
+ readonly internalType: "struct TokenInfo[]";
5634
+ readonly components: readonly [{
5635
+ readonly name: "token";
5636
+ readonly type: "bytes32";
5637
+ readonly internalType: "bytes32";
5638
+ }, {
5639
+ readonly name: "amount";
5640
+ readonly type: "uint256";
5641
+ readonly internalType: "uint256";
5642
+ }];
5643
+ }, {
5644
+ readonly name: "inputs";
5645
+ readonly type: "tuple[]";
5646
+ readonly indexed: false;
5647
+ readonly internalType: "struct TokenInfo[]";
5648
+ readonly components: readonly [{
5649
+ readonly name: "token";
5650
+ readonly type: "bytes32";
5651
+ readonly internalType: "bytes32";
5652
+ }, {
5653
+ readonly name: "amount";
5654
+ readonly type: "uint256";
5655
+ readonly internalType: "uint256";
5656
+ }];
5657
+ }, {
5658
+ readonly name: "outputs";
5659
+ readonly type: "tuple[]";
5660
+ readonly indexed: false;
5661
+ readonly internalType: "struct TokenInfo[]";
5662
+ readonly components: readonly [{
5663
+ readonly name: "token";
5664
+ readonly type: "bytes32";
5665
+ readonly internalType: "bytes32";
5666
+ }, {
5667
+ readonly name: "amount";
5668
+ readonly type: "uint256";
5669
+ readonly internalType: "uint256";
5670
+ }];
5671
+ }];
5672
+ readonly anonymous: false;
5673
+ }, {
5674
+ readonly type: "event";
5675
+ readonly name: "ParamsUpdated";
5676
+ readonly inputs: readonly [{
5677
+ readonly name: "previous";
5678
+ readonly type: "tuple";
5679
+ readonly indexed: false;
5680
+ readonly internalType: "struct Params";
5681
+ readonly components: readonly [{
5682
+ readonly name: "host";
5683
+ readonly type: "address";
5684
+ readonly internalType: "address";
5685
+ }, {
5686
+ readonly name: "dispatcher";
5687
+ readonly type: "address";
5688
+ readonly internalType: "address";
5689
+ }, {
5690
+ readonly name: "solverSelection";
5691
+ readonly type: "bool";
5692
+ readonly internalType: "bool";
5693
+ }, {
5694
+ readonly name: "surplusShareBps";
5695
+ readonly type: "uint256";
5696
+ readonly internalType: "uint256";
5697
+ }, {
5698
+ readonly name: "protocolFeeBps";
5699
+ readonly type: "uint256";
5700
+ readonly internalType: "uint256";
5701
+ }, {
5702
+ readonly name: "priceOracle";
5703
+ readonly type: "address";
5704
+ readonly internalType: "address";
5705
+ }];
5706
+ }, {
5707
+ readonly name: "current";
5708
+ readonly type: "tuple";
5709
+ readonly indexed: false;
5710
+ readonly internalType: "struct Params";
5711
+ readonly components: readonly [{
5712
+ readonly name: "host";
5713
+ readonly type: "address";
5714
+ readonly internalType: "address";
5715
+ }, {
5716
+ readonly name: "dispatcher";
5717
+ readonly type: "address";
5718
+ readonly internalType: "address";
5719
+ }, {
5720
+ readonly name: "solverSelection";
5721
+ readonly type: "bool";
5722
+ readonly internalType: "bool";
5723
+ }, {
5724
+ readonly name: "surplusShareBps";
5725
+ readonly type: "uint256";
5726
+ readonly internalType: "uint256";
5727
+ }, {
5728
+ readonly name: "protocolFeeBps";
5729
+ readonly type: "uint256";
5730
+ readonly internalType: "uint256";
5731
+ }, {
5732
+ readonly name: "priceOracle";
5733
+ readonly type: "address";
5734
+ readonly internalType: "address";
5735
+ }];
5736
+ }];
5737
+ readonly anonymous: false;
5738
+ }, {
5739
+ readonly type: "event";
5740
+ readonly name: "PartialFill";
5741
+ readonly inputs: readonly [{
5742
+ readonly name: "commitment";
5743
+ readonly type: "bytes32";
5744
+ readonly indexed: true;
5745
+ readonly internalType: "bytes32";
5746
+ }, {
5747
+ readonly name: "filler";
5748
+ readonly type: "address";
5749
+ readonly indexed: false;
5750
+ readonly internalType: "address";
5751
+ }, {
5752
+ readonly name: "outputs";
5753
+ readonly type: "tuple[]";
5754
+ readonly indexed: false;
5755
+ readonly internalType: "struct TokenInfo[]";
5756
+ readonly components: readonly [{
5757
+ readonly name: "token";
5758
+ readonly type: "bytes32";
5759
+ readonly internalType: "bytes32";
5760
+ }, {
5761
+ readonly name: "amount";
5762
+ readonly type: "uint256";
5763
+ readonly internalType: "uint256";
5764
+ }];
5765
+ }, {
5766
+ readonly name: "inputs";
5767
+ readonly type: "tuple[]";
5768
+ readonly indexed: false;
5769
+ readonly internalType: "struct TokenInfo[]";
5770
+ readonly components: readonly [{
5771
+ readonly name: "token";
5772
+ readonly type: "bytes32";
5773
+ readonly internalType: "bytes32";
5774
+ }, {
5775
+ readonly name: "amount";
5776
+ readonly type: "uint256";
5777
+ readonly internalType: "uint256";
5778
+ }];
5779
+ }];
5780
+ readonly anonymous: false;
5781
+ }, {
5782
+ readonly type: "error";
5783
+ readonly name: "Cancelled";
5784
+ readonly inputs: readonly [];
5785
+ }, {
5786
+ readonly type: "error";
5787
+ readonly name: "ECDSAInvalidSignature";
5788
+ readonly inputs: readonly [];
5789
+ }, {
5790
+ readonly type: "error";
5791
+ readonly name: "ECDSAInvalidSignatureLength";
5792
+ readonly inputs: readonly [{
5793
+ readonly name: "length";
5794
+ readonly type: "uint256";
5795
+ readonly internalType: "uint256";
5796
+ }];
5797
+ }, {
5798
+ readonly type: "error";
5799
+ readonly name: "ECDSAInvalidSignatureS";
5800
+ readonly inputs: readonly [{
5801
+ readonly name: "s";
5802
+ readonly type: "bytes32";
5803
+ readonly internalType: "bytes32";
5804
+ }];
5805
+ }, {
5806
+ readonly type: "error";
5807
+ readonly name: "Expired";
5808
+ readonly inputs: readonly [];
5809
+ }, {
5810
+ readonly type: "error";
5811
+ readonly name: "Filled";
5812
+ readonly inputs: readonly [];
5813
+ }, {
5814
+ readonly type: "error";
5815
+ readonly name: "InsufficientNativeToken";
5816
+ readonly inputs: readonly [];
5817
+ }, {
5818
+ readonly type: "error";
5819
+ readonly name: "InvalidInput";
5820
+ readonly inputs: readonly [];
5821
+ }, {
5822
+ readonly type: "error";
5823
+ readonly name: "InvalidShortString";
5824
+ readonly inputs: readonly [];
5825
+ }, {
5826
+ readonly type: "error";
5827
+ readonly name: "NotExpired";
5828
+ readonly inputs: readonly [];
5829
+ }, {
5830
+ readonly type: "error";
5831
+ readonly name: "SafeCastOverflowedUintDowncast";
5832
+ readonly inputs: readonly [{
5833
+ readonly name: "bits";
5834
+ readonly type: "uint8";
5835
+ readonly internalType: "uint8";
5836
+ }, {
5837
+ readonly name: "value";
5838
+ readonly type: "uint256";
5839
+ readonly internalType: "uint256";
5840
+ }];
5841
+ }, {
5842
+ readonly type: "error";
5843
+ readonly name: "SafeERC20FailedOperation";
5844
+ readonly inputs: readonly [{
5845
+ readonly name: "token";
5846
+ readonly type: "address";
5847
+ readonly internalType: "address";
5848
+ }];
5849
+ }, {
5850
+ readonly type: "error";
5851
+ readonly name: "StringTooLong";
5852
+ readonly inputs: readonly [{
5853
+ readonly name: "str";
5854
+ readonly type: "string";
5855
+ readonly internalType: "string";
5856
+ }];
5857
+ }, {
5858
+ readonly type: "error";
5859
+ readonly name: "Unauthorized";
5860
+ readonly inputs: readonly [];
5861
+ }, {
5862
+ readonly type: "error";
5863
+ readonly name: "UnauthorizedCall";
5864
+ readonly inputs: readonly [];
5865
+ }, {
5866
+ readonly type: "error";
5867
+ readonly name: "UnexpectedCall";
5868
+ readonly inputs: readonly [];
5869
+ }, {
5870
+ readonly type: "error";
5871
+ readonly name: "UnknownOrder";
5872
+ readonly inputs: readonly [];
5873
+ }, {
5874
+ readonly type: "error";
5875
+ readonly name: "WrongChain";
5876
+ readonly inputs: readonly [];
5877
+ }];
5878
+
5879
+ declare const ABI: readonly [{
5880
+ readonly inputs: readonly [];
5881
+ readonly name: "CannotChangeFeeToken";
5882
+ readonly type: "error";
5883
+ }, {
5884
+ readonly inputs: readonly [];
5885
+ readonly name: "DuplicateResponse";
5886
+ readonly type: "error";
5887
+ }, {
5888
+ readonly inputs: readonly [];
5889
+ readonly name: "FrozenHost";
5890
+ readonly type: "error";
5891
+ }, {
5892
+ readonly inputs: readonly [];
5893
+ readonly name: "InvalidAddressLength";
5894
+ readonly type: "error";
5895
+ }, {
5896
+ readonly inputs: readonly [];
5897
+ readonly name: "InvalidConsensusClient";
5898
+ readonly type: "error";
5899
+ }, {
5900
+ readonly inputs: readonly [];
5901
+ readonly name: "InvalidHandler";
5902
+ readonly type: "error";
5903
+ }, {
5904
+ readonly inputs: readonly [];
5905
+ readonly name: "InvalidHostManager";
5906
+ readonly type: "error";
5907
+ }, {
5908
+ readonly inputs: readonly [];
5909
+ readonly name: "InvalidHyperbridgeId";
5910
+ readonly type: "error";
5911
+ }, {
5912
+ readonly inputs: readonly [];
5913
+ readonly name: "InvalidStateMachinesLength";
5914
+ readonly type: "error";
5915
+ }, {
5916
+ readonly inputs: readonly [];
5917
+ readonly name: "InvalidUnstakingPeriod";
5918
+ readonly type: "error";
5919
+ }, {
5920
+ readonly inputs: readonly [];
5921
+ readonly name: "UnauthorizedAccount";
5922
+ readonly type: "error";
5923
+ }, {
5924
+ readonly inputs: readonly [];
5925
+ readonly name: "UnauthorizedAction";
5926
+ readonly type: "error";
5927
+ }, {
5928
+ readonly inputs: readonly [];
5929
+ readonly name: "UnauthorizedResponse";
5930
+ readonly type: "error";
5931
+ }, {
5932
+ readonly inputs: readonly [];
5933
+ readonly name: "UnknownRequest";
5934
+ readonly type: "error";
5935
+ }, {
5936
+ readonly inputs: readonly [];
5937
+ readonly name: "UnknownResponse";
5938
+ readonly type: "error";
5939
+ }, {
5940
+ readonly inputs: readonly [];
5941
+ readonly name: "WithdrawalFailed";
5942
+ readonly type: "error";
5943
+ }, {
5944
+ readonly anonymous: false;
5945
+ readonly inputs: readonly [{
5946
+ readonly indexed: false;
5947
+ readonly internalType: "string";
5948
+ readonly name: "source";
5949
+ readonly type: "string";
5950
+ }, {
5951
+ readonly indexed: false;
5952
+ readonly internalType: "string";
5953
+ readonly name: "dest";
5954
+ readonly type: "string";
5955
+ }, {
5956
+ readonly indexed: true;
5957
+ readonly internalType: "address";
5958
+ readonly name: "from";
5959
+ readonly type: "address";
5960
+ }, {
5961
+ readonly indexed: false;
5962
+ readonly internalType: "bytes[]";
5963
+ readonly name: "keys";
5964
+ readonly type: "bytes[]";
5965
+ }, {
5966
+ readonly indexed: false;
5967
+ readonly internalType: "uint256";
5968
+ readonly name: "height";
5969
+ readonly type: "uint256";
5970
+ }, {
5971
+ readonly indexed: false;
5972
+ readonly internalType: "uint256";
5973
+ readonly name: "nonce";
5974
+ readonly type: "uint256";
5975
+ }, {
5976
+ readonly indexed: false;
5977
+ readonly internalType: "uint256";
5978
+ readonly name: "timeoutTimestamp";
5979
+ readonly type: "uint256";
5980
+ }, {
5981
+ readonly indexed: false;
5982
+ readonly internalType: "bytes";
5983
+ readonly name: "context";
5984
+ readonly type: "bytes";
5985
+ }, {
5986
+ readonly indexed: false;
5987
+ readonly internalType: "uint256";
5988
+ readonly name: "fee";
5989
+ readonly type: "uint256";
5990
+ }];
5991
+ readonly name: "GetRequestEvent";
5992
+ readonly type: "event";
5993
+ }, {
5994
+ readonly anonymous: false;
5995
+ readonly inputs: readonly [{
5996
+ readonly indexed: true;
5997
+ readonly internalType: "bytes32";
5998
+ readonly name: "commitment";
5999
+ readonly type: "bytes32";
6000
+ }, {
6001
+ readonly indexed: false;
6002
+ readonly internalType: "address";
6003
+ readonly name: "relayer";
6004
+ readonly type: "address";
6005
+ }];
6006
+ readonly name: "GetRequestHandled";
6007
+ readonly type: "event";
6008
+ }, {
6009
+ readonly anonymous: false;
6010
+ readonly inputs: readonly [{
6011
+ readonly indexed: true;
6012
+ readonly internalType: "bytes32";
6013
+ readonly name: "commitment";
6014
+ readonly type: "bytes32";
6015
+ }, {
6016
+ readonly indexed: false;
6017
+ readonly internalType: "string";
6018
+ readonly name: "dest";
6019
+ readonly type: "string";
6020
+ }];
6021
+ readonly name: "GetRequestTimeoutHandled";
6022
+ readonly type: "event";
6023
+ }, {
6024
+ readonly anonymous: false;
6025
+ readonly inputs: readonly [{
6026
+ readonly indexed: false;
6027
+ readonly internalType: "enum FrozenStatus";
6028
+ readonly name: "status";
6029
+ readonly type: "uint8";
6030
+ }];
6031
+ readonly name: "HostFrozen";
6032
+ readonly type: "event";
6033
+ }, {
6034
+ readonly anonymous: false;
6035
+ readonly inputs: readonly [{
6036
+ readonly components: readonly [{
6037
+ readonly internalType: "uint256";
6038
+ readonly name: "defaultTimeout";
6039
+ readonly type: "uint256";
6040
+ }, {
6041
+ readonly internalType: "uint256";
6042
+ readonly name: "defaultPerByteFee";
6043
+ readonly type: "uint256";
6044
+ }, {
6045
+ readonly internalType: "uint256";
6046
+ readonly name: "stateCommitmentFee";
6047
+ readonly type: "uint256";
6048
+ }, {
6049
+ readonly internalType: "address";
6050
+ readonly name: "feeToken";
6051
+ readonly type: "address";
6052
+ }, {
6053
+ readonly internalType: "address";
6054
+ readonly name: "admin";
6055
+ readonly type: "address";
6056
+ }, {
6057
+ readonly internalType: "address";
6058
+ readonly name: "handler";
6059
+ readonly type: "address";
6060
+ }, {
6061
+ readonly internalType: "address";
6062
+ readonly name: "hostManager";
6063
+ readonly type: "address";
6064
+ }, {
6065
+ readonly internalType: "address";
6066
+ readonly name: "uniswapV2";
6067
+ readonly type: "address";
6068
+ }, {
6069
+ readonly internalType: "uint256";
6070
+ readonly name: "unStakingPeriod";
6071
+ readonly type: "uint256";
6072
+ }, {
6073
+ readonly internalType: "uint256";
6074
+ readonly name: "challengePeriod";
6075
+ readonly type: "uint256";
6076
+ }, {
6077
+ readonly internalType: "address";
6078
+ readonly name: "consensusClient";
6079
+ readonly type: "address";
6080
+ }, {
6081
+ readonly internalType: "uint256[]";
6082
+ readonly name: "stateMachines";
6083
+ readonly type: "uint256[]";
6084
+ }, {
6085
+ readonly components: readonly [{
6086
+ readonly internalType: "bytes32";
6087
+ readonly name: "stateIdHash";
6088
+ readonly type: "bytes32";
6089
+ }, {
6090
+ readonly internalType: "uint256";
6091
+ readonly name: "perByteFee";
6092
+ readonly type: "uint256";
6093
+ }];
6094
+ readonly internalType: "struct PerByteFee[]";
6095
+ readonly name: "perByteFees";
6096
+ readonly type: "tuple[]";
6097
+ }, {
6098
+ readonly internalType: "bytes";
6099
+ readonly name: "hyperbridge";
6100
+ readonly type: "bytes";
6101
+ }];
6102
+ readonly indexed: false;
6103
+ readonly internalType: "struct HostParams";
6104
+ readonly name: "oldParams";
6105
+ readonly type: "tuple";
6106
+ }, {
6107
+ readonly components: readonly [{
6108
+ readonly internalType: "uint256";
6109
+ readonly name: "defaultTimeout";
6110
+ readonly type: "uint256";
6111
+ }, {
6112
+ readonly internalType: "uint256";
6113
+ readonly name: "defaultPerByteFee";
6114
+ readonly type: "uint256";
6115
+ }, {
6116
+ readonly internalType: "uint256";
6117
+ readonly name: "stateCommitmentFee";
6118
+ readonly type: "uint256";
6119
+ }, {
6120
+ readonly internalType: "address";
6121
+ readonly name: "feeToken";
6122
+ readonly type: "address";
6123
+ }, {
6124
+ readonly internalType: "address";
6125
+ readonly name: "admin";
6126
+ readonly type: "address";
6127
+ }, {
6128
+ readonly internalType: "address";
6129
+ readonly name: "handler";
6130
+ readonly type: "address";
6131
+ }, {
6132
+ readonly internalType: "address";
6133
+ readonly name: "hostManager";
6134
+ readonly type: "address";
6135
+ }, {
6136
+ readonly internalType: "address";
6137
+ readonly name: "uniswapV2";
6138
+ readonly type: "address";
6139
+ }, {
6140
+ readonly internalType: "uint256";
6141
+ readonly name: "unStakingPeriod";
6142
+ readonly type: "uint256";
6143
+ }, {
6144
+ readonly internalType: "uint256";
6145
+ readonly name: "challengePeriod";
6146
+ readonly type: "uint256";
6147
+ }, {
6148
+ readonly internalType: "address";
6149
+ readonly name: "consensusClient";
6150
+ readonly type: "address";
6151
+ }, {
6152
+ readonly internalType: "uint256[]";
6153
+ readonly name: "stateMachines";
6154
+ readonly type: "uint256[]";
6155
+ }, {
6156
+ readonly components: readonly [{
6157
+ readonly internalType: "bytes32";
6158
+ readonly name: "stateIdHash";
6159
+ readonly type: "bytes32";
6160
+ }, {
6161
+ readonly internalType: "uint256";
6162
+ readonly name: "perByteFee";
6163
+ readonly type: "uint256";
6164
+ }];
6165
+ readonly internalType: "struct PerByteFee[]";
6166
+ readonly name: "perByteFees";
6167
+ readonly type: "tuple[]";
6168
+ }, {
6169
+ readonly internalType: "bytes";
6170
+ readonly name: "hyperbridge";
6171
+ readonly type: "bytes";
6172
+ }];
6173
+ readonly indexed: false;
6174
+ readonly internalType: "struct HostParams";
6175
+ readonly name: "newParams";
6176
+ readonly type: "tuple";
6177
+ }];
6178
+ readonly name: "HostParamsUpdated";
6179
+ readonly type: "event";
6180
+ }, {
6181
+ readonly anonymous: false;
6182
+ readonly inputs: readonly [{
6183
+ readonly indexed: false;
6184
+ readonly internalType: "uint256";
6185
+ readonly name: "amount";
6186
+ readonly type: "uint256";
6187
+ }, {
6188
+ readonly indexed: false;
6189
+ readonly internalType: "address";
6190
+ readonly name: "beneficiary";
6191
+ readonly type: "address";
6192
+ }, {
6193
+ readonly indexed: false;
6194
+ readonly internalType: "bool";
6195
+ readonly name: "native";
6196
+ readonly type: "bool";
6197
+ }];
6198
+ readonly name: "HostWithdrawal";
6199
+ readonly type: "event";
6200
+ }, {
6201
+ readonly anonymous: false;
6202
+ readonly inputs: readonly [{
6203
+ readonly indexed: false;
6204
+ readonly internalType: "string";
6205
+ readonly name: "source";
6206
+ readonly type: "string";
6207
+ }, {
6208
+ readonly indexed: false;
6209
+ readonly internalType: "string";
6210
+ readonly name: "dest";
6211
+ readonly type: "string";
6212
+ }, {
6213
+ readonly indexed: true;
6214
+ readonly internalType: "address";
6215
+ readonly name: "from";
6216
+ readonly type: "address";
6217
+ }, {
6218
+ readonly indexed: false;
6219
+ readonly internalType: "bytes";
6220
+ readonly name: "to";
6221
+ readonly type: "bytes";
6222
+ }, {
6223
+ readonly indexed: false;
6224
+ readonly internalType: "uint256";
6225
+ readonly name: "nonce";
6226
+ readonly type: "uint256";
6227
+ }, {
6228
+ readonly indexed: false;
6229
+ readonly internalType: "uint256";
6230
+ readonly name: "timeoutTimestamp";
6231
+ readonly type: "uint256";
6232
+ }, {
6233
+ readonly indexed: false;
6234
+ readonly internalType: "bytes";
6235
+ readonly name: "body";
6236
+ readonly type: "bytes";
6237
+ }, {
6238
+ readonly indexed: false;
6239
+ readonly internalType: "uint256";
6240
+ readonly name: "fee";
6241
+ readonly type: "uint256";
6242
+ }];
6243
+ readonly name: "PostRequestEvent";
6244
+ readonly type: "event";
6245
+ }, {
6246
+ readonly anonymous: false;
6247
+ readonly inputs: readonly [{
6248
+ readonly indexed: true;
6249
+ readonly internalType: "bytes32";
6250
+ readonly name: "commitment";
6251
+ readonly type: "bytes32";
6252
+ }, {
6253
+ readonly indexed: false;
6254
+ readonly internalType: "address";
6255
+ readonly name: "relayer";
6256
+ readonly type: "address";
6257
+ }];
6258
+ readonly name: "PostRequestHandled";
6259
+ readonly type: "event";
6260
+ }, {
6261
+ readonly anonymous: false;
6262
+ readonly inputs: readonly [{
6263
+ readonly indexed: true;
6264
+ readonly internalType: "bytes32";
6265
+ readonly name: "commitment";
6266
+ readonly type: "bytes32";
6267
+ }, {
6268
+ readonly indexed: false;
6269
+ readonly internalType: "string";
6270
+ readonly name: "dest";
6271
+ readonly type: "string";
6272
+ }];
6273
+ readonly name: "PostRequestTimeoutHandled";
6274
+ readonly type: "event";
6275
+ }, {
6276
+ readonly anonymous: false;
6277
+ readonly inputs: readonly [{
6278
+ readonly indexed: false;
6279
+ readonly internalType: "string";
6280
+ readonly name: "source";
6281
+ readonly type: "string";
6282
+ }, {
6283
+ readonly indexed: false;
6284
+ readonly internalType: "string";
6285
+ readonly name: "dest";
6286
+ readonly type: "string";
6287
+ }, {
6288
+ readonly indexed: true;
6289
+ readonly internalType: "address";
6290
+ readonly name: "from";
6291
+ readonly type: "address";
6292
+ }, {
6293
+ readonly indexed: false;
6294
+ readonly internalType: "bytes";
6295
+ readonly name: "to";
6296
+ readonly type: "bytes";
6297
+ }, {
6298
+ readonly indexed: false;
6299
+ readonly internalType: "uint256";
6300
+ readonly name: "nonce";
6301
+ readonly type: "uint256";
6302
+ }, {
6303
+ readonly indexed: false;
6304
+ readonly internalType: "uint256";
6305
+ readonly name: "timeoutTimestamp";
6306
+ readonly type: "uint256";
6307
+ }, {
6308
+ readonly indexed: false;
6309
+ readonly internalType: "bytes";
6310
+ readonly name: "body";
6311
+ readonly type: "bytes";
6312
+ }, {
6313
+ readonly indexed: false;
6314
+ readonly internalType: "bytes";
6315
+ readonly name: "response";
6316
+ readonly type: "bytes";
6317
+ }, {
6318
+ readonly indexed: false;
6319
+ readonly internalType: "uint256";
6320
+ readonly name: "responseTimeoutTimestamp";
6321
+ readonly type: "uint256";
6322
+ }, {
6323
+ readonly indexed: false;
6324
+ readonly internalType: "uint256";
6325
+ readonly name: "fee";
6326
+ readonly type: "uint256";
6327
+ }];
6328
+ readonly name: "PostResponseEvent";
6329
+ readonly type: "event";
6330
+ }, {
6331
+ readonly anonymous: false;
6332
+ readonly inputs: readonly [{
6333
+ readonly indexed: true;
6334
+ readonly internalType: "bytes32";
6335
+ readonly name: "commitment";
6336
+ readonly type: "bytes32";
6337
+ }, {
6338
+ readonly indexed: false;
6339
+ readonly internalType: "uint256";
6340
+ readonly name: "newFee";
6341
+ readonly type: "uint256";
6342
+ }];
6343
+ readonly name: "PostResponseFunded";
6344
+ readonly type: "event";
6345
+ }, {
6346
+ readonly anonymous: false;
6347
+ readonly inputs: readonly [{
6348
+ readonly indexed: true;
6349
+ readonly internalType: "bytes32";
6350
+ readonly name: "commitment";
6351
+ readonly type: "bytes32";
6352
+ }, {
6353
+ readonly indexed: false;
6354
+ readonly internalType: "address";
6355
+ readonly name: "relayer";
6356
+ readonly type: "address";
6357
+ }];
6358
+ readonly name: "PostResponseHandled";
6359
+ readonly type: "event";
6360
+ }, {
6361
+ readonly anonymous: false;
6362
+ readonly inputs: readonly [{
6363
+ readonly indexed: true;
6364
+ readonly internalType: "bytes32";
6365
+ readonly name: "commitment";
6366
+ readonly type: "bytes32";
6367
+ }, {
6368
+ readonly indexed: false;
6369
+ readonly internalType: "string";
6370
+ readonly name: "dest";
6371
+ readonly type: "string";
6372
+ }];
6373
+ readonly name: "PostResponseTimeoutHandled";
6374
+ readonly type: "event";
6375
+ }, {
6376
+ readonly anonymous: false;
6377
+ readonly inputs: readonly [{
6378
+ readonly indexed: true;
6379
+ readonly internalType: "bytes32";
6380
+ readonly name: "commitment";
6381
+ readonly type: "bytes32";
6382
+ }, {
6383
+ readonly indexed: false;
6384
+ readonly internalType: "uint256";
6385
+ readonly name: "newFee";
6386
+ readonly type: "uint256";
6387
+ }];
6388
+ readonly name: "RequestFunded";
6389
+ readonly type: "event";
6390
+ }, {
6391
+ readonly anonymous: false;
6392
+ readonly inputs: readonly [{
6393
+ readonly indexed: true;
6394
+ readonly internalType: "address";
6395
+ readonly name: "caller";
6396
+ readonly type: "address";
6397
+ }, {
6398
+ readonly indexed: false;
6399
+ readonly internalType: "uint256";
6400
+ readonly name: "fee";
6401
+ readonly type: "uint256";
6402
+ }];
6403
+ readonly name: "StateCommitmentRead";
6404
+ readonly type: "event";
6405
+ }, {
6406
+ readonly anonymous: false;
6407
+ readonly inputs: readonly [{
6408
+ readonly indexed: false;
6409
+ readonly internalType: "string";
6410
+ readonly name: "stateMachineId";
6411
+ readonly type: "string";
6412
+ }, {
6413
+ readonly indexed: false;
6414
+ readonly internalType: "uint256";
6415
+ readonly name: "height";
6416
+ readonly type: "uint256";
6417
+ }, {
6418
+ readonly components: readonly [{
6419
+ readonly internalType: "uint256";
6420
+ readonly name: "timestamp";
6421
+ readonly type: "uint256";
6422
+ }, {
6423
+ readonly internalType: "bytes32";
6424
+ readonly name: "overlayRoot";
6425
+ readonly type: "bytes32";
6426
+ }, {
6427
+ readonly internalType: "bytes32";
6428
+ readonly name: "stateRoot";
6429
+ readonly type: "bytes32";
6430
+ }];
6431
+ readonly indexed: false;
6432
+ readonly internalType: "struct StateCommitment";
6433
+ readonly name: "stateCommitment";
6434
+ readonly type: "tuple";
6435
+ }, {
6436
+ readonly indexed: true;
6437
+ readonly internalType: "address";
6438
+ readonly name: "fisherman";
6439
+ readonly type: "address";
6440
+ }];
6441
+ readonly name: "StateCommitmentVetoed";
6442
+ readonly type: "event";
6443
+ }, {
6444
+ readonly anonymous: false;
6445
+ readonly inputs: readonly [{
6446
+ readonly indexed: false;
6447
+ readonly internalType: "string";
6448
+ readonly name: "stateMachineId";
6449
+ readonly type: "string";
6450
+ }, {
6451
+ readonly indexed: false;
6452
+ readonly internalType: "uint256";
6453
+ readonly name: "height";
6454
+ readonly type: "uint256";
6455
+ }];
6456
+ readonly name: "StateMachineUpdated";
6457
+ readonly type: "event";
6458
+ }, {
6459
+ readonly inputs: readonly [];
6460
+ readonly name: "admin";
6461
+ readonly outputs: readonly [{
6462
+ readonly internalType: "address";
6463
+ readonly name: "";
6464
+ readonly type: "address";
6465
+ }];
6466
+ readonly stateMutability: "view";
6467
+ readonly type: "function";
6468
+ }, {
6469
+ readonly inputs: readonly [];
6470
+ readonly name: "chainId";
6471
+ readonly outputs: readonly [{
6472
+ readonly internalType: "uint256";
6473
+ readonly name: "";
6474
+ readonly type: "uint256";
6475
+ }];
6476
+ readonly stateMutability: "nonpayable";
6477
+ readonly type: "function";
6478
+ }, {
6479
+ readonly inputs: readonly [];
6480
+ readonly name: "challengePeriod";
6481
+ readonly outputs: readonly [{
6482
+ readonly internalType: "uint256";
6483
+ readonly name: "";
6484
+ readonly type: "uint256";
6485
+ }];
6486
+ readonly stateMutability: "view";
6487
+ readonly type: "function";
6488
+ }, {
6489
+ readonly inputs: readonly [];
6490
+ readonly name: "consensusClient";
6491
+ readonly outputs: readonly [{
6492
+ readonly internalType: "address";
6493
+ readonly name: "";
6494
+ readonly type: "address";
6495
+ }];
6496
+ readonly stateMutability: "view";
6497
+ readonly type: "function";
6498
+ }, {
6499
+ readonly inputs: readonly [];
6500
+ readonly name: "consensusState";
6501
+ readonly outputs: readonly [{
6502
+ readonly internalType: "bytes";
6503
+ readonly name: "";
6504
+ readonly type: "bytes";
6505
+ }];
6506
+ readonly stateMutability: "view";
6507
+ readonly type: "function";
6508
+ }, {
6509
+ readonly inputs: readonly [];
6510
+ readonly name: "consensusUpdateTime";
6511
+ readonly outputs: readonly [{
6512
+ readonly internalType: "uint256";
6513
+ readonly name: "";
6514
+ readonly type: "uint256";
6515
+ }];
6516
+ readonly stateMutability: "view";
6517
+ readonly type: "function";
6518
+ }, {
6519
+ readonly inputs: readonly [{
6520
+ readonly components: readonly [{
6521
+ readonly internalType: "uint256";
6522
+ readonly name: "stateMachineId";
6523
+ readonly type: "uint256";
6524
+ }, {
6525
+ readonly internalType: "uint256";
6526
+ readonly name: "height";
6527
+ readonly type: "uint256";
6528
+ }];
6529
+ readonly internalType: "struct StateMachineHeight";
6530
+ readonly name: "height";
6531
+ readonly type: "tuple";
6532
+ }, {
6533
+ readonly internalType: "address";
6534
+ readonly name: "fisherman";
6535
+ readonly type: "address";
6536
+ }];
6537
+ readonly name: "deleteStateMachineCommitment";
6538
+ readonly outputs: readonly [];
6539
+ readonly stateMutability: "nonpayable";
6540
+ readonly type: "function";
6541
+ }, {
6542
+ readonly inputs: readonly [{
6543
+ readonly components: readonly [{
6544
+ readonly components: readonly [{
6545
+ readonly internalType: "bytes";
6546
+ readonly name: "source";
6547
+ readonly type: "bytes";
6548
+ }, {
6549
+ readonly internalType: "bytes";
6550
+ readonly name: "dest";
6551
+ readonly type: "bytes";
6552
+ }, {
6553
+ readonly internalType: "uint64";
6554
+ readonly name: "nonce";
6555
+ readonly type: "uint64";
6556
+ }, {
6557
+ readonly internalType: "bytes";
6558
+ readonly name: "from";
6559
+ readonly type: "bytes";
6560
+ }, {
6561
+ readonly internalType: "bytes";
6562
+ readonly name: "to";
6563
+ readonly type: "bytes";
6564
+ }, {
6565
+ readonly internalType: "uint64";
6566
+ readonly name: "timeoutTimestamp";
6567
+ readonly type: "uint64";
6568
+ }, {
6569
+ readonly internalType: "bytes";
6570
+ readonly name: "body";
6571
+ readonly type: "bytes";
6572
+ }];
6573
+ readonly internalType: "struct PostRequest";
6574
+ readonly name: "request";
6575
+ readonly type: "tuple";
6576
+ }, {
6577
+ readonly internalType: "bytes";
6578
+ readonly name: "response";
6579
+ readonly type: "bytes";
6580
+ }, {
6581
+ readonly internalType: "uint64";
6582
+ readonly name: "timeout";
6583
+ readonly type: "uint64";
6584
+ }, {
6585
+ readonly internalType: "uint256";
6586
+ readonly name: "fee";
6587
+ readonly type: "uint256";
6588
+ }, {
6589
+ readonly internalType: "address";
6590
+ readonly name: "payer";
6591
+ readonly type: "address";
6592
+ }];
6593
+ readonly internalType: "struct DispatchPostResponse";
6594
+ readonly name: "post";
6595
+ readonly type: "tuple";
6596
+ }];
6597
+ readonly name: "dispatch";
6598
+ readonly outputs: readonly [{
6599
+ readonly internalType: "bytes32";
6600
+ readonly name: "commitment";
6601
+ readonly type: "bytes32";
6602
+ }];
6603
+ readonly stateMutability: "payable";
6604
+ readonly type: "function";
6605
+ }, {
6606
+ readonly inputs: readonly [{
6607
+ readonly components: readonly [{
6608
+ readonly internalType: "bytes";
6609
+ readonly name: "dest";
6610
+ readonly type: "bytes";
6611
+ }, {
6612
+ readonly internalType: "bytes";
6613
+ readonly name: "to";
6614
+ readonly type: "bytes";
6615
+ }, {
6616
+ readonly internalType: "bytes";
6617
+ readonly name: "body";
6618
+ readonly type: "bytes";
6619
+ }, {
6620
+ readonly internalType: "uint64";
6621
+ readonly name: "timeout";
6622
+ readonly type: "uint64";
6623
+ }, {
6624
+ readonly internalType: "uint256";
6625
+ readonly name: "fee";
6626
+ readonly type: "uint256";
6627
+ }, {
6628
+ readonly internalType: "address";
6629
+ readonly name: "payer";
6630
+ readonly type: "address";
6631
+ }];
6632
+ readonly internalType: "struct DispatchPost";
6633
+ readonly name: "post";
6634
+ readonly type: "tuple";
6635
+ }];
6636
+ readonly name: "dispatch";
6637
+ readonly outputs: readonly [{
6638
+ readonly internalType: "bytes32";
6639
+ readonly name: "commitment";
6640
+ readonly type: "bytes32";
6641
+ }];
6642
+ readonly stateMutability: "payable";
6643
+ readonly type: "function";
6644
+ }, {
6645
+ readonly inputs: readonly [{
6646
+ readonly components: readonly [{
6647
+ readonly internalType: "bytes";
6648
+ readonly name: "dest";
6649
+ readonly type: "bytes";
6650
+ }, {
6651
+ readonly internalType: "uint64";
6652
+ readonly name: "height";
6653
+ readonly type: "uint64";
6654
+ }, {
6655
+ readonly internalType: "bytes[]";
6656
+ readonly name: "keys";
6657
+ readonly type: "bytes[]";
6658
+ }, {
6659
+ readonly internalType: "uint64";
6660
+ readonly name: "timeout";
6661
+ readonly type: "uint64";
6662
+ }, {
6663
+ readonly internalType: "uint256";
6664
+ readonly name: "fee";
6665
+ readonly type: "uint256";
6666
+ }, {
6667
+ readonly internalType: "bytes";
6668
+ readonly name: "context";
6669
+ readonly type: "bytes";
6670
+ }];
6671
+ readonly internalType: "struct DispatchGet";
6672
+ readonly name: "get";
6673
+ readonly type: "tuple";
6674
+ }];
6675
+ readonly name: "dispatch";
6676
+ readonly outputs: readonly [{
6677
+ readonly internalType: "bytes32";
6678
+ readonly name: "commitment";
6679
+ readonly type: "bytes32";
6680
+ }];
6681
+ readonly stateMutability: "payable";
6682
+ readonly type: "function";
6683
+ }, {
6684
+ readonly inputs: readonly [{
6685
+ readonly components: readonly [{
6686
+ readonly components: readonly [{
6687
+ readonly internalType: "bytes";
6688
+ readonly name: "source";
6689
+ readonly type: "bytes";
6690
+ }, {
6691
+ readonly internalType: "bytes";
6692
+ readonly name: "dest";
6693
+ readonly type: "bytes";
6694
+ }, {
6695
+ readonly internalType: "uint64";
6696
+ readonly name: "nonce";
6697
+ readonly type: "uint64";
6698
+ }, {
6699
+ readonly internalType: "bytes";
6700
+ readonly name: "from";
6701
+ readonly type: "bytes";
6702
+ }, {
6703
+ readonly internalType: "bytes";
6704
+ readonly name: "to";
6705
+ readonly type: "bytes";
6706
+ }, {
6707
+ readonly internalType: "uint64";
6708
+ readonly name: "timeoutTimestamp";
6709
+ readonly type: "uint64";
6710
+ }, {
6711
+ readonly internalType: "bytes";
6712
+ readonly name: "body";
6713
+ readonly type: "bytes";
6714
+ }];
6715
+ readonly internalType: "struct PostRequest";
6716
+ readonly name: "request";
6717
+ readonly type: "tuple";
6718
+ }, {
6719
+ readonly internalType: "bytes";
6720
+ readonly name: "response";
6721
+ readonly type: "bytes";
6722
+ }, {
6723
+ readonly internalType: "uint64";
6724
+ readonly name: "timeoutTimestamp";
6725
+ readonly type: "uint64";
6726
+ }];
6727
+ readonly internalType: "struct PostResponse";
6728
+ readonly name: "response";
6729
+ readonly type: "tuple";
6730
+ }, {
6731
+ readonly internalType: "address";
6732
+ readonly name: "relayer";
6733
+ readonly type: "address";
6734
+ }];
6735
+ readonly name: "dispatchIncoming";
6736
+ readonly outputs: readonly [];
6737
+ readonly stateMutability: "nonpayable";
6738
+ readonly type: "function";
6739
+ }, {
6740
+ readonly inputs: readonly [{
6741
+ readonly components: readonly [{
6742
+ readonly internalType: "bytes";
6743
+ readonly name: "source";
6744
+ readonly type: "bytes";
6745
+ }, {
6746
+ readonly internalType: "bytes";
6747
+ readonly name: "dest";
6748
+ readonly type: "bytes";
6749
+ }, {
6750
+ readonly internalType: "uint64";
6751
+ readonly name: "nonce";
6752
+ readonly type: "uint64";
6753
+ }, {
6754
+ readonly internalType: "bytes";
6755
+ readonly name: "from";
6756
+ readonly type: "bytes";
6757
+ }, {
6758
+ readonly internalType: "bytes";
6759
+ readonly name: "to";
6760
+ readonly type: "bytes";
6761
+ }, {
6762
+ readonly internalType: "uint64";
6763
+ readonly name: "timeoutTimestamp";
6764
+ readonly type: "uint64";
6765
+ }, {
6766
+ readonly internalType: "bytes";
6767
+ readonly name: "body";
6768
+ readonly type: "bytes";
6769
+ }];
6770
+ readonly internalType: "struct PostRequest";
6771
+ readonly name: "request";
6772
+ readonly type: "tuple";
6773
+ }, {
6774
+ readonly internalType: "address";
6775
+ readonly name: "relayer";
6776
+ readonly type: "address";
6777
+ }];
6778
+ readonly name: "dispatchIncoming";
6779
+ readonly outputs: readonly [];
6780
+ readonly stateMutability: "nonpayable";
6781
+ readonly type: "function";
6782
+ }, {
6783
+ readonly inputs: readonly [{
6784
+ readonly components: readonly [{
6785
+ readonly components: readonly [{
6786
+ readonly internalType: "bytes";
6787
+ readonly name: "source";
6788
+ readonly type: "bytes";
6789
+ }, {
6790
+ readonly internalType: "bytes";
6791
+ readonly name: "dest";
6792
+ readonly type: "bytes";
6793
+ }, {
6794
+ readonly internalType: "uint64";
6795
+ readonly name: "nonce";
6796
+ readonly type: "uint64";
6797
+ }, {
6798
+ readonly internalType: "address";
6799
+ readonly name: "from";
6800
+ readonly type: "address";
6801
+ }, {
6802
+ readonly internalType: "uint64";
6803
+ readonly name: "timeoutTimestamp";
6804
+ readonly type: "uint64";
6805
+ }, {
6806
+ readonly internalType: "bytes[]";
6807
+ readonly name: "keys";
6808
+ readonly type: "bytes[]";
6809
+ }, {
6810
+ readonly internalType: "uint64";
6811
+ readonly name: "height";
6812
+ readonly type: "uint64";
6813
+ }, {
6814
+ readonly internalType: "bytes";
6815
+ readonly name: "context";
6816
+ readonly type: "bytes";
6817
+ }];
6818
+ readonly internalType: "struct GetRequest";
6819
+ readonly name: "request";
6820
+ readonly type: "tuple";
6821
+ }, {
6822
+ readonly components: readonly [{
6823
+ readonly internalType: "bytes";
6824
+ readonly name: "key";
6825
+ readonly type: "bytes";
6826
+ }, {
6827
+ readonly internalType: "bytes";
6828
+ readonly name: "value";
6829
+ readonly type: "bytes";
6830
+ }];
6831
+ readonly internalType: "struct StorageValue[]";
6832
+ readonly name: "values";
6833
+ readonly type: "tuple[]";
6834
+ }];
6835
+ readonly internalType: "struct GetResponse";
6836
+ readonly name: "response";
6837
+ readonly type: "tuple";
6838
+ }, {
6839
+ readonly internalType: "address";
6840
+ readonly name: "relayer";
6841
+ readonly type: "address";
6842
+ }];
6843
+ readonly name: "dispatchIncoming";
6844
+ readonly outputs: readonly [];
6845
+ readonly stateMutability: "nonpayable";
6846
+ readonly type: "function";
6847
+ }, {
6848
+ readonly inputs: readonly [{
6849
+ readonly components: readonly [{
6850
+ readonly components: readonly [{
6851
+ readonly internalType: "bytes";
6852
+ readonly name: "source";
6853
+ readonly type: "bytes";
6854
+ }, {
6855
+ readonly internalType: "bytes";
6856
+ readonly name: "dest";
6857
+ readonly type: "bytes";
6858
+ }, {
6859
+ readonly internalType: "uint64";
6860
+ readonly name: "nonce";
6861
+ readonly type: "uint64";
6862
+ }, {
6863
+ readonly internalType: "bytes";
6864
+ readonly name: "from";
6865
+ readonly type: "bytes";
6866
+ }, {
6867
+ readonly internalType: "bytes";
6868
+ readonly name: "to";
6869
+ readonly type: "bytes";
6870
+ }, {
6871
+ readonly internalType: "uint64";
6872
+ readonly name: "timeoutTimestamp";
6873
+ readonly type: "uint64";
6874
+ }, {
6875
+ readonly internalType: "bytes";
6876
+ readonly name: "body";
6877
+ readonly type: "bytes";
6878
+ }];
6879
+ readonly internalType: "struct PostRequest";
6880
+ readonly name: "request";
6881
+ readonly type: "tuple";
6882
+ }, {
6883
+ readonly internalType: "bytes";
6884
+ readonly name: "response";
6885
+ readonly type: "bytes";
6886
+ }, {
6887
+ readonly internalType: "uint64";
6888
+ readonly name: "timeoutTimestamp";
6889
+ readonly type: "uint64";
6890
+ }];
6891
+ readonly internalType: "struct PostResponse";
6892
+ readonly name: "response";
6893
+ readonly type: "tuple";
6894
+ }, {
6895
+ readonly components: readonly [{
6896
+ readonly internalType: "uint256";
6897
+ readonly name: "fee";
6898
+ readonly type: "uint256";
6899
+ }, {
6900
+ readonly internalType: "address";
6901
+ readonly name: "sender";
6902
+ readonly type: "address";
6903
+ }];
6904
+ readonly internalType: "struct FeeMetadata";
6905
+ readonly name: "meta";
6906
+ readonly type: "tuple";
6907
+ }, {
6908
+ readonly internalType: "bytes32";
6909
+ readonly name: "commitment";
6910
+ readonly type: "bytes32";
6911
+ }];
6912
+ readonly name: "dispatchTimeOut";
6913
+ readonly outputs: readonly [];
6914
+ readonly stateMutability: "nonpayable";
6915
+ readonly type: "function";
6916
+ }, {
6917
+ readonly inputs: readonly [{
6918
+ readonly components: readonly [{
6919
+ readonly internalType: "bytes";
6920
+ readonly name: "source";
6921
+ readonly type: "bytes";
6922
+ }, {
6923
+ readonly internalType: "bytes";
6924
+ readonly name: "dest";
6925
+ readonly type: "bytes";
6926
+ }, {
6927
+ readonly internalType: "uint64";
6928
+ readonly name: "nonce";
6929
+ readonly type: "uint64";
6930
+ }, {
6931
+ readonly internalType: "bytes";
6932
+ readonly name: "from";
6933
+ readonly type: "bytes";
6934
+ }, {
6935
+ readonly internalType: "bytes";
6936
+ readonly name: "to";
6937
+ readonly type: "bytes";
6938
+ }, {
6939
+ readonly internalType: "uint64";
6940
+ readonly name: "timeoutTimestamp";
6941
+ readonly type: "uint64";
6942
+ }, {
6943
+ readonly internalType: "bytes";
6944
+ readonly name: "body";
6945
+ readonly type: "bytes";
6946
+ }];
6947
+ readonly internalType: "struct PostRequest";
6948
+ readonly name: "request";
6949
+ readonly type: "tuple";
6950
+ }, {
6951
+ readonly components: readonly [{
6952
+ readonly internalType: "uint256";
6953
+ readonly name: "fee";
6954
+ readonly type: "uint256";
6955
+ }, {
6956
+ readonly internalType: "address";
6957
+ readonly name: "sender";
6958
+ readonly type: "address";
6959
+ }];
6960
+ readonly internalType: "struct FeeMetadata";
6961
+ readonly name: "meta";
6962
+ readonly type: "tuple";
6963
+ }, {
6964
+ readonly internalType: "bytes32";
6965
+ readonly name: "commitment";
6966
+ readonly type: "bytes32";
6967
+ }];
6968
+ readonly name: "dispatchTimeOut";
6969
+ readonly outputs: readonly [];
6970
+ readonly stateMutability: "nonpayable";
6971
+ readonly type: "function";
6972
+ }, {
6973
+ readonly inputs: readonly [{
6974
+ readonly components: readonly [{
6975
+ readonly internalType: "bytes";
6976
+ readonly name: "source";
6977
+ readonly type: "bytes";
6978
+ }, {
6979
+ readonly internalType: "bytes";
6980
+ readonly name: "dest";
6981
+ readonly type: "bytes";
6982
+ }, {
6983
+ readonly internalType: "uint64";
6984
+ readonly name: "nonce";
6985
+ readonly type: "uint64";
6986
+ }, {
6987
+ readonly internalType: "address";
6988
+ readonly name: "from";
6989
+ readonly type: "address";
6990
+ }, {
6991
+ readonly internalType: "uint64";
6992
+ readonly name: "timeoutTimestamp";
6993
+ readonly type: "uint64";
6994
+ }, {
6995
+ readonly internalType: "bytes[]";
6996
+ readonly name: "keys";
6997
+ readonly type: "bytes[]";
6998
+ }, {
6999
+ readonly internalType: "uint64";
7000
+ readonly name: "height";
7001
+ readonly type: "uint64";
7002
+ }, {
7003
+ readonly internalType: "bytes";
7004
+ readonly name: "context";
7005
+ readonly type: "bytes";
7006
+ }];
7007
+ readonly internalType: "struct GetRequest";
7008
+ readonly name: "request";
7009
+ readonly type: "tuple";
7010
+ }, {
7011
+ readonly components: readonly [{
7012
+ readonly internalType: "uint256";
7013
+ readonly name: "fee";
7014
+ readonly type: "uint256";
7015
+ }, {
7016
+ readonly internalType: "address";
7017
+ readonly name: "sender";
7018
+ readonly type: "address";
7019
+ }];
7020
+ readonly internalType: "struct FeeMetadata";
7021
+ readonly name: "meta";
7022
+ readonly type: "tuple";
7023
+ }, {
7024
+ readonly internalType: "bytes32";
7025
+ readonly name: "commitment";
7026
+ readonly type: "bytes32";
7027
+ }];
7028
+ readonly name: "dispatchTimeOut";
7029
+ readonly outputs: readonly [];
7030
+ readonly stateMutability: "nonpayable";
7031
+ readonly type: "function";
7032
+ }, {
7033
+ readonly inputs: readonly [];
7034
+ readonly name: "feeToken";
7035
+ readonly outputs: readonly [{
7036
+ readonly internalType: "address";
7037
+ readonly name: "";
7038
+ readonly type: "address";
7039
+ }];
7040
+ readonly stateMutability: "view";
7041
+ readonly type: "function";
7042
+ }, {
7043
+ readonly inputs: readonly [];
7044
+ readonly name: "frozen";
7045
+ readonly outputs: readonly [{
7046
+ readonly internalType: "enum FrozenStatus";
7047
+ readonly name: "";
7048
+ readonly type: "uint8";
7049
+ }];
7050
+ readonly stateMutability: "view";
7051
+ readonly type: "function";
7052
+ }, {
7053
+ readonly inputs: readonly [{
7054
+ readonly internalType: "bytes32";
7055
+ readonly name: "commitment";
7056
+ readonly type: "bytes32";
7057
+ }, {
7058
+ readonly internalType: "uint256";
7059
+ readonly name: "amount";
7060
+ readonly type: "uint256";
7061
+ }];
7062
+ readonly name: "fundRequest";
7063
+ readonly outputs: readonly [];
7064
+ readonly stateMutability: "payable";
7065
+ readonly type: "function";
7066
+ }, {
7067
+ readonly inputs: readonly [{
7068
+ readonly internalType: "bytes32";
7069
+ readonly name: "commitment";
7070
+ readonly type: "bytes32";
7071
+ }, {
7072
+ readonly internalType: "uint256";
7073
+ readonly name: "amount";
7074
+ readonly type: "uint256";
7075
+ }];
7076
+ readonly name: "fundResponse";
7077
+ readonly outputs: readonly [];
7078
+ readonly stateMutability: "payable";
7079
+ readonly type: "function";
7080
+ }, {
7081
+ readonly inputs: readonly [];
7082
+ readonly name: "host";
7083
+ readonly outputs: readonly [{
7084
+ readonly internalType: "bytes";
7085
+ readonly name: "";
7086
+ readonly type: "bytes";
7087
+ }];
7088
+ readonly stateMutability: "view";
7089
+ readonly type: "function";
7090
+ }, {
7091
+ readonly inputs: readonly [];
7092
+ readonly name: "hostParams";
7093
+ readonly outputs: readonly [{
7094
+ readonly components: readonly [{
7095
+ readonly internalType: "uint256";
7096
+ readonly name: "defaultTimeout";
7097
+ readonly type: "uint256";
7098
+ }, {
7099
+ readonly internalType: "uint256";
7100
+ readonly name: "defaultPerByteFee";
7101
+ readonly type: "uint256";
7102
+ }, {
7103
+ readonly internalType: "uint256";
7104
+ readonly name: "stateCommitmentFee";
7105
+ readonly type: "uint256";
7106
+ }, {
7107
+ readonly internalType: "address";
7108
+ readonly name: "feeToken";
7109
+ readonly type: "address";
7110
+ }, {
7111
+ readonly internalType: "address";
7112
+ readonly name: "admin";
7113
+ readonly type: "address";
7114
+ }, {
7115
+ readonly internalType: "address";
7116
+ readonly name: "handler";
7117
+ readonly type: "address";
7118
+ }, {
7119
+ readonly internalType: "address";
7120
+ readonly name: "hostManager";
7121
+ readonly type: "address";
7122
+ }, {
7123
+ readonly internalType: "address";
7124
+ readonly name: "uniswapV2";
7125
+ readonly type: "address";
7126
+ }, {
7127
+ readonly internalType: "uint256";
7128
+ readonly name: "unStakingPeriod";
7129
+ readonly type: "uint256";
7130
+ }, {
7131
+ readonly internalType: "uint256";
7132
+ readonly name: "challengePeriod";
7133
+ readonly type: "uint256";
7134
+ }, {
7135
+ readonly internalType: "address";
7136
+ readonly name: "consensusClient";
7137
+ readonly type: "address";
7138
+ }, {
7139
+ readonly internalType: "uint256[]";
7140
+ readonly name: "stateMachines";
7141
+ readonly type: "uint256[]";
7142
+ }, {
7143
+ readonly components: readonly [{
7144
+ readonly internalType: "bytes32";
7145
+ readonly name: "stateIdHash";
7146
+ readonly type: "bytes32";
7147
+ }, {
7148
+ readonly internalType: "uint256";
7149
+ readonly name: "perByteFee";
7150
+ readonly type: "uint256";
7151
+ }];
7152
+ readonly internalType: "struct PerByteFee[]";
7153
+ readonly name: "perByteFees";
7154
+ readonly type: "tuple[]";
7155
+ }, {
7156
+ readonly internalType: "bytes";
7157
+ readonly name: "hyperbridge";
7158
+ readonly type: "bytes";
7159
+ }];
7160
+ readonly internalType: "struct HostParams";
7161
+ readonly name: "";
7162
+ readonly type: "tuple";
7163
+ }];
7164
+ readonly stateMutability: "view";
7165
+ readonly type: "function";
7166
+ }, {
7167
+ readonly inputs: readonly [];
7168
+ readonly name: "hyperbridge";
7169
+ readonly outputs: readonly [{
7170
+ readonly internalType: "bytes";
7171
+ readonly name: "";
7172
+ readonly type: "bytes";
7173
+ }];
7174
+ readonly stateMutability: "view";
7175
+ readonly type: "function";
7176
+ }, {
7177
+ readonly inputs: readonly [{
7178
+ readonly internalType: "uint256";
7179
+ readonly name: "id";
7180
+ readonly type: "uint256";
7181
+ }];
7182
+ readonly name: "latestStateMachineHeight";
7183
+ readonly outputs: readonly [{
7184
+ readonly internalType: "uint256";
7185
+ readonly name: "";
7186
+ readonly type: "uint256";
7187
+ }];
7188
+ readonly stateMutability: "view";
7189
+ readonly type: "function";
7190
+ }, {
7191
+ readonly inputs: readonly [];
7192
+ readonly name: "nonce";
7193
+ readonly outputs: readonly [{
7194
+ readonly internalType: "uint256";
7195
+ readonly name: "";
7196
+ readonly type: "uint256";
7197
+ }];
7198
+ readonly stateMutability: "view";
7199
+ readonly type: "function";
7200
+ }, {
7201
+ readonly inputs: readonly [{
7202
+ readonly internalType: "bytes";
7203
+ readonly name: "stateId";
7204
+ readonly type: "bytes";
7205
+ }];
7206
+ readonly name: "perByteFee";
7207
+ readonly outputs: readonly [{
7208
+ readonly internalType: "uint256";
7209
+ readonly name: "";
7210
+ readonly type: "uint256";
7211
+ }];
7212
+ readonly stateMutability: "view";
7213
+ readonly type: "function";
7214
+ }, {
7215
+ readonly inputs: readonly [{
7216
+ readonly internalType: "bytes32";
7217
+ readonly name: "commitment";
7218
+ readonly type: "bytes32";
7219
+ }];
7220
+ readonly name: "requestCommitments";
7221
+ readonly outputs: readonly [{
7222
+ readonly components: readonly [{
7223
+ readonly internalType: "uint256";
7224
+ readonly name: "fee";
7225
+ readonly type: "uint256";
7226
+ }, {
7227
+ readonly internalType: "address";
7228
+ readonly name: "sender";
7229
+ readonly type: "address";
7230
+ }];
7231
+ readonly internalType: "struct FeeMetadata";
7232
+ readonly name: "";
7233
+ readonly type: "tuple";
7234
+ }];
7235
+ readonly stateMutability: "view";
7236
+ readonly type: "function";
7237
+ }, {
7238
+ readonly inputs: readonly [{
7239
+ readonly internalType: "bytes32";
7240
+ readonly name: "commitment";
7241
+ readonly type: "bytes32";
7242
+ }];
7243
+ readonly name: "requestReceipts";
7244
+ readonly outputs: readonly [{
7245
+ readonly internalType: "address";
7246
+ readonly name: "";
7247
+ readonly type: "address";
7248
+ }];
7249
+ readonly stateMutability: "view";
7250
+ readonly type: "function";
7251
+ }, {
7252
+ readonly inputs: readonly [{
7253
+ readonly internalType: "bytes32";
7254
+ readonly name: "commitment";
7255
+ readonly type: "bytes32";
7256
+ }];
7257
+ readonly name: "responded";
7258
+ readonly outputs: readonly [{
7259
+ readonly internalType: "bool";
7260
+ readonly name: "";
7261
+ readonly type: "bool";
7262
+ }];
7263
+ readonly stateMutability: "view";
7264
+ readonly type: "function";
7265
+ }, {
7266
+ readonly inputs: readonly [{
7267
+ readonly internalType: "bytes32";
7268
+ readonly name: "commitment";
7269
+ readonly type: "bytes32";
7270
+ }];
7271
+ readonly name: "responseCommitments";
7272
+ readonly outputs: readonly [{
7273
+ readonly components: readonly [{
7274
+ readonly internalType: "uint256";
7275
+ readonly name: "fee";
7276
+ readonly type: "uint256";
7277
+ }, {
7278
+ readonly internalType: "address";
7279
+ readonly name: "sender";
7280
+ readonly type: "address";
7281
+ }];
7282
+ readonly internalType: "struct FeeMetadata";
7283
+ readonly name: "";
7284
+ readonly type: "tuple";
7285
+ }];
7286
+ readonly stateMutability: "view";
7287
+ readonly type: "function";
7288
+ }, {
7289
+ readonly inputs: readonly [{
7290
+ readonly internalType: "bytes32";
7291
+ readonly name: "commitment";
7292
+ readonly type: "bytes32";
7293
+ }];
7294
+ readonly name: "responseReceipts";
7295
+ readonly outputs: readonly [{
7296
+ readonly components: readonly [{
7297
+ readonly internalType: "bytes32";
7298
+ readonly name: "responseCommitment";
7299
+ readonly type: "bytes32";
7300
+ }, {
7301
+ readonly internalType: "address";
7302
+ readonly name: "relayer";
7303
+ readonly type: "address";
7304
+ }];
7305
+ readonly internalType: "struct ResponseReceipt";
7306
+ readonly name: "";
7307
+ readonly type: "tuple";
7308
+ }];
7309
+ readonly stateMutability: "view";
7310
+ readonly type: "function";
7311
+ }, {
7312
+ readonly inputs: readonly [{
7313
+ readonly internalType: "bytes";
7314
+ readonly name: "state";
7315
+ readonly type: "bytes";
7316
+ }, {
7317
+ readonly components: readonly [{
7318
+ readonly internalType: "uint256";
7319
+ readonly name: "stateMachineId";
7320
+ readonly type: "uint256";
7321
+ }, {
7322
+ readonly internalType: "uint256";
7323
+ readonly name: "height";
7324
+ readonly type: "uint256";
7325
+ }];
7326
+ readonly internalType: "struct StateMachineHeight";
7327
+ readonly name: "height";
7328
+ readonly type: "tuple";
7329
+ }, {
7330
+ readonly components: readonly [{
7331
+ readonly internalType: "uint256";
7332
+ readonly name: "timestamp";
7333
+ readonly type: "uint256";
7334
+ }, {
7335
+ readonly internalType: "bytes32";
7336
+ readonly name: "overlayRoot";
7337
+ readonly type: "bytes32";
7338
+ }, {
7339
+ readonly internalType: "bytes32";
7340
+ readonly name: "stateRoot";
7341
+ readonly type: "bytes32";
7342
+ }];
7343
+ readonly internalType: "struct StateCommitment";
7344
+ readonly name: "commitment";
7345
+ readonly type: "tuple";
7346
+ }];
7347
+ readonly name: "setConsensusState";
7348
+ readonly outputs: readonly [];
7349
+ readonly stateMutability: "nonpayable";
7350
+ readonly type: "function";
7351
+ }, {
7352
+ readonly inputs: readonly [{
7353
+ readonly internalType: "enum FrozenStatus";
7354
+ readonly name: "newState";
7355
+ readonly type: "uint8";
7356
+ }];
7357
+ readonly name: "setFrozenState";
7358
+ readonly outputs: readonly [];
7359
+ readonly stateMutability: "nonpayable";
7360
+ readonly type: "function";
7361
+ }, {
7362
+ readonly inputs: readonly [];
7363
+ readonly name: "stateCommitmentFee";
7364
+ readonly outputs: readonly [{
7365
+ readonly internalType: "uint256";
7366
+ readonly name: "";
7367
+ readonly type: "uint256";
7368
+ }];
7369
+ readonly stateMutability: "view";
7370
+ readonly type: "function";
7371
+ }, {
7372
+ readonly inputs: readonly [{
7373
+ readonly components: readonly [{
7374
+ readonly internalType: "uint256";
7375
+ readonly name: "stateMachineId";
7376
+ readonly type: "uint256";
7377
+ }, {
7378
+ readonly internalType: "uint256";
7379
+ readonly name: "height";
7380
+ readonly type: "uint256";
7381
+ }];
7382
+ readonly internalType: "struct StateMachineHeight";
7383
+ readonly name: "height";
7384
+ readonly type: "tuple";
7385
+ }];
7386
+ readonly name: "stateMachineCommitment";
7387
+ readonly outputs: readonly [{
7388
+ readonly components: readonly [{
7389
+ readonly internalType: "uint256";
7390
+ readonly name: "timestamp";
7391
+ readonly type: "uint256";
7392
+ }, {
7393
+ readonly internalType: "bytes32";
7394
+ readonly name: "overlayRoot";
7395
+ readonly type: "bytes32";
7396
+ }, {
7397
+ readonly internalType: "bytes32";
7398
+ readonly name: "stateRoot";
7399
+ readonly type: "bytes32";
7400
+ }];
7401
+ readonly internalType: "struct StateCommitment";
7402
+ readonly name: "";
7403
+ readonly type: "tuple";
7404
+ }];
7405
+ readonly stateMutability: "payable";
7406
+ readonly type: "function";
7407
+ }, {
7408
+ readonly inputs: readonly [{
7409
+ readonly components: readonly [{
7410
+ readonly internalType: "uint256";
7411
+ readonly name: "stateMachineId";
7412
+ readonly type: "uint256";
7413
+ }, {
7414
+ readonly internalType: "uint256";
7415
+ readonly name: "height";
7416
+ readonly type: "uint256";
7417
+ }];
7418
+ readonly internalType: "struct StateMachineHeight";
7419
+ readonly name: "height";
7420
+ readonly type: "tuple";
7421
+ }];
7422
+ readonly name: "stateMachineCommitmentUpdateTime";
7423
+ readonly outputs: readonly [{
7424
+ readonly internalType: "uint256";
7425
+ readonly name: "";
7426
+ readonly type: "uint256";
7427
+ }];
7428
+ readonly stateMutability: "view";
7429
+ readonly type: "function";
7430
+ }, {
7431
+ readonly inputs: readonly [{
7432
+ readonly internalType: "bytes";
7433
+ readonly name: "parachainId";
7434
+ readonly type: "bytes";
7435
+ }, {
7436
+ readonly internalType: "uint256";
7437
+ readonly name: "id";
7438
+ readonly type: "uint256";
7439
+ }];
7440
+ readonly name: "stateMachineId";
7441
+ readonly outputs: readonly [{
7442
+ readonly internalType: "string";
7443
+ readonly name: "";
7444
+ readonly type: "string";
7445
+ }];
7446
+ readonly stateMutability: "pure";
7447
+ readonly type: "function";
7448
+ }, {
7449
+ readonly inputs: readonly [{
7450
+ readonly internalType: "bytes";
7451
+ readonly name: "state";
7452
+ readonly type: "bytes";
7453
+ }];
7454
+ readonly name: "storeConsensusState";
7455
+ readonly outputs: readonly [];
7456
+ readonly stateMutability: "nonpayable";
7457
+ readonly type: "function";
7458
+ }, {
7459
+ readonly inputs: readonly [{
7460
+ readonly components: readonly [{
7461
+ readonly internalType: "uint256";
7462
+ readonly name: "stateMachineId";
7463
+ readonly type: "uint256";
7464
+ }, {
7465
+ readonly internalType: "uint256";
7466
+ readonly name: "height";
7467
+ readonly type: "uint256";
7468
+ }];
7469
+ readonly internalType: "struct StateMachineHeight";
7470
+ readonly name: "height";
7471
+ readonly type: "tuple";
7472
+ }, {
7473
+ readonly components: readonly [{
7474
+ readonly internalType: "uint256";
7475
+ readonly name: "timestamp";
7476
+ readonly type: "uint256";
7477
+ }, {
7478
+ readonly internalType: "bytes32";
7479
+ readonly name: "overlayRoot";
7480
+ readonly type: "bytes32";
7481
+ }, {
7482
+ readonly internalType: "bytes32";
7483
+ readonly name: "stateRoot";
7484
+ readonly type: "bytes32";
7485
+ }];
7486
+ readonly internalType: "struct StateCommitment";
7487
+ readonly name: "commitment";
7488
+ readonly type: "tuple";
7489
+ }];
7490
+ readonly name: "storeStateMachineCommitment";
7491
+ readonly outputs: readonly [];
7492
+ readonly stateMutability: "nonpayable";
7493
+ readonly type: "function";
7494
+ }, {
7495
+ readonly inputs: readonly [];
7496
+ readonly name: "timestamp";
7497
+ readonly outputs: readonly [{
7498
+ readonly internalType: "uint256";
7499
+ readonly name: "";
7500
+ readonly type: "uint256";
7501
+ }];
7502
+ readonly stateMutability: "view";
7503
+ readonly type: "function";
7504
+ }, {
7505
+ readonly inputs: readonly [];
7506
+ readonly name: "unStakingPeriod";
7507
+ readonly outputs: readonly [{
7508
+ readonly internalType: "uint256";
7509
+ readonly name: "";
7510
+ readonly type: "uint256";
7511
+ }];
7512
+ readonly stateMutability: "view";
7513
+ readonly type: "function";
7514
+ }, {
7515
+ readonly inputs: readonly [];
7516
+ readonly name: "uniswapV2Router";
7517
+ readonly outputs: readonly [{
7518
+ readonly internalType: "address";
7519
+ readonly name: "";
7520
+ readonly type: "address";
7521
+ }];
7522
+ readonly stateMutability: "view";
7523
+ readonly type: "function";
7524
+ }, {
7525
+ readonly inputs: readonly [{
7526
+ readonly components: readonly [{
7527
+ readonly internalType: "uint256";
7528
+ readonly name: "defaultTimeout";
7529
+ readonly type: "uint256";
7530
+ }, {
7531
+ readonly internalType: "uint256";
7532
+ readonly name: "defaultPerByteFee";
7533
+ readonly type: "uint256";
7534
+ }, {
7535
+ readonly internalType: "uint256";
7536
+ readonly name: "stateCommitmentFee";
7537
+ readonly type: "uint256";
7538
+ }, {
7539
+ readonly internalType: "address";
7540
+ readonly name: "feeToken";
7541
+ readonly type: "address";
7542
+ }, {
7543
+ readonly internalType: "address";
7544
+ readonly name: "admin";
7545
+ readonly type: "address";
7546
+ }, {
7547
+ readonly internalType: "address";
7548
+ readonly name: "handler";
7549
+ readonly type: "address";
7550
+ }, {
7551
+ readonly internalType: "address";
7552
+ readonly name: "hostManager";
7553
+ readonly type: "address";
7554
+ }, {
7555
+ readonly internalType: "address";
7556
+ readonly name: "uniswapV2";
7557
+ readonly type: "address";
7558
+ }, {
7559
+ readonly internalType: "uint256";
7560
+ readonly name: "unStakingPeriod";
7561
+ readonly type: "uint256";
7562
+ }, {
7563
+ readonly internalType: "uint256";
7564
+ readonly name: "challengePeriod";
7565
+ readonly type: "uint256";
7566
+ }, {
7567
+ readonly internalType: "address";
7568
+ readonly name: "consensusClient";
7569
+ readonly type: "address";
7570
+ }, {
7571
+ readonly internalType: "uint256[]";
7572
+ readonly name: "stateMachines";
7573
+ readonly type: "uint256[]";
7574
+ }, {
7575
+ readonly components: readonly [{
7576
+ readonly internalType: "bytes32";
7577
+ readonly name: "stateIdHash";
7578
+ readonly type: "bytes32";
7579
+ }, {
7580
+ readonly internalType: "uint256";
7581
+ readonly name: "perByteFee";
7582
+ readonly type: "uint256";
7583
+ }];
7584
+ readonly internalType: "struct PerByteFee[]";
7585
+ readonly name: "perByteFees";
7586
+ readonly type: "tuple[]";
7587
+ }, {
7588
+ readonly internalType: "bytes";
7589
+ readonly name: "hyperbridge";
7590
+ readonly type: "bytes";
7591
+ }];
7592
+ readonly internalType: "struct HostParams";
7593
+ readonly name: "params";
7594
+ readonly type: "tuple";
7595
+ }];
7596
+ readonly name: "updateHostParams";
7597
+ readonly outputs: readonly [];
7598
+ readonly stateMutability: "nonpayable";
7599
+ readonly type: "function";
7600
+ }, {
7601
+ readonly inputs: readonly [{
7602
+ readonly internalType: "uint256";
7603
+ readonly name: "paraId";
7604
+ readonly type: "uint256";
7605
+ }, {
7606
+ readonly internalType: "uint256";
7607
+ readonly name: "height";
7608
+ readonly type: "uint256";
7609
+ }];
7610
+ readonly name: "vetoes";
7611
+ readonly outputs: readonly [{
7612
+ readonly internalType: "address";
7613
+ readonly name: "";
7614
+ readonly type: "address";
7615
+ }];
7616
+ readonly stateMutability: "view";
7617
+ readonly type: "function";
7618
+ }, {
7619
+ readonly inputs: readonly [{
7620
+ readonly components: readonly [{
7621
+ readonly internalType: "address";
7622
+ readonly name: "beneficiary";
7623
+ readonly type: "address";
7624
+ }, {
7625
+ readonly internalType: "uint256";
7626
+ readonly name: "amount";
7627
+ readonly type: "uint256";
7628
+ }, {
7629
+ readonly internalType: "bool";
7630
+ readonly name: "native";
7631
+ readonly type: "bool";
7632
+ }];
7633
+ readonly internalType: "struct WithdrawParams";
7634
+ readonly name: "params";
7635
+ readonly type: "tuple";
7636
+ }];
7637
+ readonly name: "withdraw";
7638
+ readonly outputs: readonly [];
7639
+ readonly stateMutability: "nonpayable";
7640
+ readonly type: "function";
7641
+ }, {
7642
+ readonly stateMutability: "payable";
7643
+ readonly type: "receive";
7644
+ }];
7645
+
7646
+ /**
7647
+ * Result of the quoteNative fee estimation
4046
7648
  */
4047
7649
  interface QuoteNativeResult {
4048
7650
  /** Total native token cost including relayer fee and protocol fee with 1% buffer */
@@ -4364,13 +7966,68 @@ declare enum Chains {
4364
7966
  MAINNET = "EVM-1",
4365
7967
  BSC_MAINNET = "EVM-56",
4366
7968
  ARBITRUM_MAINNET = "EVM-42161",
7969
+ ARBITRUM_SEPOLIA = "EVM-421614",
4367
7970
  BASE_MAINNET = "EVM-8453",
7971
+ BASE_SEPOLIA = "EVM-84532",
7972
+ OPTIMISM_MAINNET = "EVM-10",
7973
+ OPTIMISM_SEPOLIA = "EVM-11155420",
7974
+ GNOSIS_MAINNET = "EVM-100",
7975
+ SONEIUM_MAINNET = "EVM-1868",
4368
7976
  POLYGON_MAINNET = "EVM-137",
4369
7977
  UNICHAIN_MAINNET = "EVM-130",
4370
7978
  POLYGON_AMOY = "EVM-80002",
7979
+ POLKADOT_ASSET_HUB_PASEO = "EVM-420420417",
4371
7980
  TRON_MAINNET = "EVM-728126428",
4372
7981
  TRON_NILE = "EVM-3448148188"
4373
7982
  }
7983
+ /** Polkadot Asset Hub Paseo testnet (chain ID 420420417) — not in viem/chains */
7984
+ declare const polkadotAssetHubPaseo: {
7985
+ blockExplorers: {
7986
+ readonly default: {
7987
+ readonly name: "Routescan";
7988
+ readonly url: "https://polkadot.testnet.routescan.io";
7989
+ };
7990
+ };
7991
+ blockTime?: number | undefined | undefined;
7992
+ contracts?: {
7993
+ [x: string]: viem.ChainContract | {
7994
+ [sourceId: number]: viem.ChainContract | undefined;
7995
+ } | undefined;
7996
+ ensRegistry?: viem.ChainContract | undefined;
7997
+ ensUniversalResolver?: viem.ChainContract | undefined;
7998
+ multicall3?: viem.ChainContract | undefined;
7999
+ erc6492Verifier?: viem.ChainContract | undefined;
8000
+ } | undefined;
8001
+ ensTlds?: readonly string[] | undefined;
8002
+ id: 420420417;
8003
+ name: "Polkadot Asset Hub (Paseo)";
8004
+ nativeCurrency: {
8005
+ readonly name: "PAS";
8006
+ readonly symbol: "PAS";
8007
+ readonly decimals: 10;
8008
+ };
8009
+ experimental_preconfirmationTime?: number | undefined | undefined;
8010
+ rpcUrls: {
8011
+ readonly default: {
8012
+ readonly http: readonly ["https://testnet-asset-hub-eth-rpc.polkadot.io"];
8013
+ };
8014
+ };
8015
+ sourceId?: number | undefined | undefined;
8016
+ testnet?: boolean | undefined | undefined;
8017
+ custom?: Record<string, unknown> | undefined;
8018
+ extendSchema?: Record<string, unknown> | undefined;
8019
+ fees?: viem.ChainFees<undefined> | undefined;
8020
+ formatters?: undefined;
8021
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
8022
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
8023
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
8024
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
8025
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
8026
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
8027
+ }] | undefined;
8028
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
8029
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
8030
+ };
4374
8031
  /** Tron Nile Testnet (chain ID 3448148188) — not in viem/chains */
4375
8032
  declare const tronNile: {
4376
8033
  blockExplorers: {
@@ -4491,4 +8148,4 @@ declare const getChainId: (stateMachineId: string) => number | undefined;
4491
8148
  declare const getViemChain: (chainId: number) => Chain | undefined;
4492
8149
  declare const hyperbridgeAddress = "";
4493
8150
 
4494
- export { ADDRESS_ZERO, type AllStatusKey, type AssetTeleported, type AssetTeleportedResponse, type BidStorageEntry, type BidSubmissionResult, type BlockMetadata, type BundlerGasEstimate, BundlerMethod, type CancelEvent, type CancelEventMap, type CancelOptions, type ChainConfig, type ChainConfigData, ChainConfigService, Chains, type ClientConfig, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DOMAIN_TYPEHASH, DUMMY_PRIVATE_KEY, type DecodedOrderPlacedLog, type DecodedOrderV2PlacedLog, type DecodedPostRequestEvent, type DecodedPostResponseEvent, type DispatchGet, type DispatchInfoV2, type DispatchPost, ERC20Method, type ERC7821Call, ERC7821_BATCH_MODE, type EstimateFillOrderV2Params, type EstimateGasCallData, EvmChain, type EvmChainParams, EvmLanguage, type ExecuteIntentOrderOptions, type ExecutionResult, type FillOptions, type FillOptionsV2, type FillOrderEstimateV2, type FillerBid, type FillerConfig, type GetRequestResponse, type GetRequestWithStatus, type GetResponseByRequestIdResponse, type GetResponseStorageValues, type HexString, type HostParams, HyperClientStatus, type HyperbridgeTxEvents, type IChain, type IConfig, type IEvmChain, type IEvmConfig, type IGetRequest, type IGetRequestMessage, type IGetResponse, type IGetResponseMessage, type IHyperbridgeConfig, type IIsmpMessage, type IMessage, type IPostRequest, type IPostResponse, type IProof, type IRequestMessage, type ISubstrateConfig, type ITimeoutPostRequestMessage, IndexerClient, type IndexerQueryClient, IntentGateway, type IntentGatewayParams, IntentOrderStatus, type IntentOrderStatusKey, type IntentOrderStatusMetadata, type IntentOrderStatusUpdate, IntentsCoprocessor, IntentsV2, type IntentsV2Context, type IsmpRequest, MOCK_ADDRESS, type NewDeployment, ORDER_V2_PARAM_TYPE, type Order, type OrderResponse, OrderStatus, OrderStatusChecker, type OrderStatusMetadata, type OrderV2, type OrderWithStatus, PACKED_USEROP_TYPEHASH, PLACE_ORDER_SELECTOR, type PackedUserOperation, type Params, type PaymentInfo, type PaymentInfoV2, type PostRequestStatus, type PostRequestTimeoutStatus, type PostRequestWithStatus, type QuoteNativeResult, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, type RequestBody, type RequestCommitment, RequestKind, type RequestResponse, RequestStatus, type RequestStatusKey, type RequestStatusWithMetadata, type ResponseCommitmentWithValues, type RetryConfig, SELECT_SOLVER_TYPEHASH, STATE_COMMITMENTS_SLOT, type SelectBidResult, type SelectOptions, type StateMachineHeight, type StateMachineIdParams, type StateMachineResponse, type StateMachineUpdate, type StorageFacade, type SubmitBidOptions, SubstrateChain, Swap, TESTNET_CHAINS, type TeleportParams, TeleportStatus, TimeoutStatus, type TimeoutStatusKey, TokenGateway, type TokenGatewayAssetTeleportedResponse, type TokenGatewayAssetTeleportedWithStatus, type TokenInfo, type TokenInfoV2, type TokenPrice, type TokenPricesResponse, type TokenRegistry, type TokenRegistryResponse, type Transaction, TronChain, type TronChainParams, USE_ETHERSCAN_CHAINS, type XcmGatewayParams, __test, adjustDecimals, bytes20ToBytes32, bytes32ToBytes20, calculateAllowanceMappingLocation, calculateBalanceMappingLocation, chainConfigs, constructRedeemEscrowRequestBody, constructRefundEscrowRequestBody, convertCodecToIGetRequest, convertCodecToIProof, convertIGetRequestToCodec, convertIProofToCodec, convertStateIdToStateMachineId, convertStateMachineEnumToString, convertStateMachineIdToEnum, createChain, createEvmChain, createIndexerClient, createQueryClient, decodeUserOpScale, encodeERC7821ExecuteBatch, encodeISMPMessage, encodeUserOpScale, encodeWithdrawalRequest, estimateGasForPost, fetchPrice, fetchSourceProof, generateRootWithProof, getChain, getChainId, getConfigByStateMachineId, getContractCallInput, getEvmChain, getGasPriceFromEtherscan, getOrFetchStorageSlot, getOrderPlacedFromTx, getPostRequestEventFromTx, getPostResponseEventFromTx, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, getSubstrateChain, getViemChain, hexToString, hyperbridgeAddress, maxBigInt, orderCommitment, orderV2Commitment, parseStateMachineId, postRequestCommitment, queryAssetTeleported, queryGetRequest, queryPostRequest, requestCommitmentKey, retryPromise, teleport, teleportDot, transformOrderForContract, tronChainIds, tronNile };
8151
+ export { ADDRESS_ZERO, type AllStatusKey, type AssetTeleported, type AssetTeleportedResponse, type BidStorageEntry, type BidSubmissionResult, type BlockMetadata, type BundlerGasEstimate, BundlerMethod, type CancelEvent, type CancelOptions, type ChainConfig, type ChainConfigData, ChainConfigService, Chains, type ClientConfig, DEFAULT_ADDRESS, DEFAULT_GRAFFITI, DOMAIN_TYPEHASH, DUMMY_PRIVATE_KEY, type DecodedOrderPlacedLog, type DecodedOrderV2PlacedLog, type DecodedPostRequestEvent, type DecodedPostResponseEvent, type DispatchGet, type DispatchInfoV2, type DispatchPost, ERC20Method, type ERC7821Call, ERC7821_BATCH_MODE, type EstimateFillOrderV2Params, type EstimateGasCallData, EvmChain, type EvmChainParams, ABI as EvmHostABI, EvmLanguage, type ExecuteIntentOrderOptions, type ExecutionResult, type FillOptions, type FillOptionsV2, type FillOrderEstimateV2, type FillerBid, type FillerConfig, type GetRequestResponse, type GetRequestWithStatus, type GetResponseByRequestIdResponse, type GetResponseStorageValues, type HexString, type HostParams, HyperClientStatus, type HyperbridgeTxEvents, type IChain, type IConfig, type IEvmChain, type IEvmConfig, type IGetRequest, type IGetRequestMessage, type IGetResponse, type IGetResponseMessage, type IHyperbridgeConfig, type IIsmpMessage, type IMessage, type IPostRequest, type IPostResponse, type IProof, type IRequestMessage, type ISubstrateConfig, type ITimeoutPostRequestMessage, IndexerClient, type IndexerQueryClient, IntentGateway, type IntentGatewayContext, type IntentGatewayParams, ABI$1 as IntentGatewayV2ABI, IntentOrderStatus, type IntentOrderStatusKey, type IntentOrderStatusUpdate, IntentsCoprocessor, type IsmpRequest, MOCK_ADDRESS, type NewDeployment, ORDER_V2_PARAM_TYPE, type Order, type OrderResponse, OrderStatus, OrderStatusChecker, type OrderStatusMetadata, type OrderV2, type OrderWithStatus, PACKED_USEROP_TYPEHASH, PLACE_ORDER_SELECTOR, type PackedUserOperation, type Params, type PaymentInfo, type PaymentInfoV2, type PostRequestStatus, type PostRequestTimeoutStatus, type PostRequestWithStatus, type QuoteNativeResult, REQUEST_COMMITMENTS_SLOT, REQUEST_RECEIPTS_SLOT, RESPONSE_COMMITMENTS_SLOT, RESPONSE_RECEIPTS_SLOT, type RequestBody, type RequestCommitment, RequestKind, type RequestResponse, RequestStatus, type RequestStatusKey, type RequestStatusWithMetadata, type ResponseCommitmentWithValues, type RetryConfig, SELECT_SOLVER_TYPEHASH, STATE_COMMITMENTS_SLOT, type SelectBidResult, type SelectOptions, type StateMachineHeight, type StateMachineIdParams, type StateMachineResponse, type StateMachineUpdate, type StorageFacade, type SubmitBidOptions, SubstrateChain, Swap, TESTNET_CHAINS, type TeleportParams, TeleportStatus, TimeoutStatus, type TimeoutStatusKey, TokenGateway, type TokenGatewayAssetTeleportedResponse, type TokenGatewayAssetTeleportedWithStatus, type TokenInfo, type TokenInfoV2, type TokenPrice, type TokenPricesResponse, type Transaction, TronChain, type TronChainParams, USE_ETHERSCAN_CHAINS, type XcmGatewayParams, __test, adjustDecimals, bytes20ToBytes32, bytes32ToBytes20, calculateAllowanceMappingLocation, calculateBalanceMappingLocation, chainConfigs, constructRedeemEscrowRequestBody, constructRefundEscrowRequestBody, convertCodecToIGetRequest, convertCodecToIProof, convertIGetRequestToCodec, convertIProofToCodec, convertStateIdToStateMachineId, convertStateMachineEnumToString, convertStateMachineIdToEnum, createChain, createEvmChain, createIndexerClient, createQueryClient, decodeUserOpScale, encodeERC7821ExecuteBatch, encodeISMPMessage, encodeUserOpScale, encodeWithdrawalRequest, estimateGasForPost, fetchPrice, fetchSourceProof, generateRootWithProof, getChain, getChainId, getConfigByStateMachineId, getContractCallInput, getEvmChain, getGasPriceFromEtherscan, getOrFetchStorageSlot, getOrderPlacedFromTx, getPostRequestEventFromTx, getPostResponseEventFromTx, getRequestCommitment, getStateCommitmentFieldSlot, getStateCommitmentSlot, getStorageSlot, getSubstrateChain, getViemChain, hexToString, hyperbridgeAddress, maxBigInt, orderCommitment, orderV2Commitment, parseStateMachineId, polkadotAssetHubPaseo, postRequestCommitment, queryAssetTeleported, queryGetRequest, queryPostRequest, requestCommitmentKey, retryPromise, teleport, teleportDot, transformOrderForContract, tronChainIds, tronNile };