Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@abacus-network/app

Package Overview
Dependencies
Maintainers
4
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@abacus-network/app - npm Package Compare versions

Comparing version 0.0.4-sdkdev to 0.1.0-alpha3

11

dist/AbacusConnectionClient.d.ts
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface AbacusConnectionClientInterface extends ethers.utils.Interface {

@@ -0,3 +1,3 @@

import { Result } from "@ethersproject/abi";
import { EventFilter, Event } from "ethers";
import { Result } from "@ethersproject/abi";
export interface TypedEventFilter<_EventArgsArray, _EventArgsObject> extends EventFilter {

@@ -4,0 +4,0 @@ }

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=commons.js.map

@@ -0,4 +1,4 @@

import type { AbacusConnectionClient, AbacusConnectionClientInterface } from "../AbacusConnectionClient";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { AbacusConnectionClient, AbacusConnectionClientInterface } from "../AbacusConnectionClient";
export declare class AbacusConnectionClient__factory {

@@ -5,0 +5,0 @@ static readonly abi: ({

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.AbacusConnectionClient__factory = void 0;

@@ -0,4 +1,4 @@

import type { IAbacusConnectionManager, IAbacusConnectionManagerInterface } from "../IAbacusConnectionManager";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { IAbacusConnectionManager, IAbacusConnectionManagerInterface } from "../IAbacusConnectionManager";
export declare class IAbacusConnectionManager__factory {

@@ -5,0 +5,0 @@ static readonly abi: {

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.IAbacusConnectionManager__factory = void 0;

@@ -0,4 +1,4 @@

import type { ICommon, ICommonInterface } from "../ICommon";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { ICommon, ICommonInterface } from "../ICommon";
export declare class ICommon__factory {

@@ -5,0 +5,0 @@ static readonly abi: {

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.ICommon__factory = void 0;

@@ -0,4 +1,4 @@

import type { IInterchainGasPaymaster, IInterchainGasPaymasterInterface } from "../IInterchainGasPaymaster";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { IInterchainGasPaymaster, IInterchainGasPaymasterInterface } from "../IInterchainGasPaymaster";
export declare class IInterchainGasPaymaster__factory {

@@ -5,0 +5,0 @@ static readonly abi: {

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.IInterchainGasPaymaster__factory = void 0;

@@ -0,4 +1,4 @@

import type { IMessageRecipient, IMessageRecipientInterface } from "../IMessageRecipient";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { IMessageRecipient, IMessageRecipientInterface } from "../IMessageRecipient";
export declare class IMessageRecipient__factory {

@@ -5,0 +5,0 @@ static readonly abi: {

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.IMessageRecipient__factory = void 0;

@@ -0,4 +1,4 @@

import type { IOutbox, IOutboxInterface } from "../IOutbox";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { IOutbox, IOutboxInterface } from "../IOutbox";
export declare class IOutbox__factory {

@@ -5,0 +5,0 @@ static readonly abi: {

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.IOutbox__factory = void 0;

@@ -0,4 +1,4 @@

import type { OwnableUpgradeable, OwnableUpgradeableInterface } from "../OwnableUpgradeable";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { OwnableUpgradeable, OwnableUpgradeableInterface } from "../OwnableUpgradeable";
export declare class OwnableUpgradeable__factory {

@@ -5,0 +5,0 @@ static readonly abi: ({

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.OwnableUpgradeable__factory = void 0;

@@ -0,4 +1,4 @@

import type { Router, RouterInterface } from "../Router";
import { Provider } from "@ethersproject/providers";
import { Signer } from "ethers";
import { Provider } from "@ethersproject/providers";
import type { Router, RouterInterface } from "../Router";
export declare class Router__factory {

@@ -5,0 +5,0 @@ static readonly abi: ({

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.Router__factory = void 0;

@@ -0,4 +1,4 @@

import type { TestAbacusConnectionClient, TestAbacusConnectionClientInterface } from "../TestAbacusConnectionClient";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import type { TestAbacusConnectionClient, TestAbacusConnectionClientInterface } from "../TestAbacusConnectionClient";
export declare class TestAbacusConnectionClient__factory extends ContractFactory {

@@ -5,0 +5,0 @@ constructor(signer?: Signer);

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -6,0 +4,0 @@ exports.TestAbacusConnectionClient__factory = void 0;

@@ -0,4 +1,4 @@

import type { TestRouter, TestRouterInterface } from "../TestRouter";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import type { TestRouter, TestRouterInterface } from "../TestRouter";
export declare class TestRouter__factory extends ContractFactory {

@@ -14,3 +14,3 @@ constructor(signer?: Signer);

connect(signer: Signer): TestRouter__factory;
static readonly bytecode = "0x608060405234801561001057600080fd5b50611996806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780639a35c359116100665780639a35c35914610210578063b49c53a71461022e578063c4d66de81461024a578063f2fde38b14610266576100cf565b8063715018a6146101cc5780638d8dff24146101d65780638da5cb5b146101f2576100cf565b806312b1d780146100d4578063133b79a9146100f057806319d2df84146101205780632e6a9e4b146101505780632ead72f61461018057806356d5d475146101b0575b600080fd5b6100ee60048036038101906100e99190610eb6565b610282565b005b61010a60048036038101906101059190610f1f565b61030a565b6040516101179190610f65565b60405180910390f35b61013a60048036038101906101359190610fe5565b61031c565b604051610147919061105e565b60405180910390f35b61016a600480360381019061016591906110a5565b610375565b6040516101779190611100565b60405180910390f35b61019a60048036038101906101959190610f1f565b610389565b6040516101a79190610f65565b60405180910390f35b6101ca60048036038101906101c5919061125c565b6103a1565b005b6101d4610446565b005b6101f060048036038101906101eb91906112f7565b6104ce565b005b6101fa610523565b604051610207919061137a565b60405180910390f35b61021861054d565b60405161022591906113f4565b60405180910390f35b610248600480360381019061024391906110a5565b610573565b005b610264600480360381019061025f9190610eb6565b6105fd565b005b610280600480360381019061027b9190610eb6565b6106eb565b005b61028a6107e2565b73ffffffffffffffffffffffffffffffffffffffff166102a8610523565b73ffffffffffffffffffffffffffffffffffffffff16146102fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f59061146c565b60405180910390fd5b610307816107ea565b50565b600061031582610871565b9050919050565b600061036c8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108df565b90509392505050565b6000610381838361097d565b905092915050565b60976020528060005260406000206000915090505481565b6103aa336109a9565b6103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e0906114d8565b60405180910390fd5b82826103f5828261097d565b610434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042b90611544565b60405180910390fd5b61043f858585610a4e565b5050505050565b61044e6107e2565b73ffffffffffffffffffffffffffffffffffffffff1661046c610523565b73ffffffffffffffffffffffffffffffffffffffff16146104c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b99061146c565b60405180910390fd5b6104cc6000610a53565b565b61051d8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083610b19565b50505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61057b6107e2565b73ffffffffffffffffffffffffffffffffffffffff16610599610523565b73ffffffffffffffffffffffffffffffffffffffff16146105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061146c565b60405180910390fd5b6105f98282610baa565b5050565b600060019054906101000a900460ff166106255760008054906101000a900460ff161561062e565b61062d610c06565b5b61066d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610664906115d6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156106bd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6106c682610c17565b80156106e75760008060016101000a81548160ff0219169083151502179055505b5050565b6106f36107e2565b73ffffffffffffffffffffffffffffffffffffffff16610711610523565b73ffffffffffffffffffffffffffffffffffffffff1614610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e9061146c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90611668565b60405180910390fd5b6107df81610a53565b50565b600033905090565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167ffd9d51f0a51aa62211445229fd1a1ef01bbe01347290d8e15249b8c33a89eea660405160405180910390a250565b6000609760008363ffffffff1663ffffffff1681526020019081526020016000205490506000801b81036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611544565b60405180910390fd5b919050565b6000806108eb84610871565b90506108f5610c23565b73ffffffffffffffffffffffffffffffffffffffff1663fa31de018583866040518463ffffffff1660e01b81526004016109319392919061171f565b6020604051808303816000875af1158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109749190611772565b91505092915050565b600081609760008563ffffffff1663ffffffff1681526020019081526020016000205414905092915050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282f51eb836040518263ffffffff1660e01b8152600401610a06919061137a565b602060405180830381865afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4791906117cb565b9050919050565b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610b2584846108df565b90506000821115610ba457610b38610cbb565b73ffffffffffffffffffffffffffffffffffffffff166331f1dd3383836040518363ffffffff1660e01b8152600401610b71919061105e565b6000604051808303818588803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b50505050505b50505050565b80609760008463ffffffff1663ffffffff16815260200190815260200160002081905550808263ffffffff167f7a69b3d35edf59b97fd4d38d8ecf2b4ecd0a19d236e421d8c543ea234d66597460405160405180910390a35050565b6000610c1130610d53565b15905090565b610c2081610d76565b50565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611836565b905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e91906118a1565b905090565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b610d7f816107ea565b610d87610d8a565b50565b600060019054906101000a900460ff16610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090611940565b60405180910390fd5b610de1610de3565b565b600060019054906101000a900460ff16610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990611940565b60405180910390fd5b610e42610e3d6107e2565b610a53565b565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e8382610e58565b9050919050565b610e9381610e78565b8114610e9e57600080fd5b50565b600081359050610eb081610e8a565b92915050565b600060208284031215610ecc57610ecb610e4e565b5b6000610eda84828501610ea1565b91505092915050565b600063ffffffff82169050919050565b610efc81610ee3565b8114610f0757600080fd5b50565b600081359050610f1981610ef3565b92915050565b600060208284031215610f3557610f34610e4e565b5b6000610f4384828501610f0a565b91505092915050565b6000819050919050565b610f5f81610f4c565b82525050565b6000602082019050610f7a6000830184610f56565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fa557610fa4610f80565b5b8235905067ffffffffffffffff811115610fc257610fc1610f85565b5b602083019150836001820283011115610fde57610fdd610f8a565b5b9250929050565b600080600060408486031215610ffe57610ffd610e4e565b5b600061100c86828701610f0a565b935050602084013567ffffffffffffffff81111561102d5761102c610e53565b5b61103986828701610f8f565b92509250509250925092565b6000819050919050565b61105881611045565b82525050565b6000602082019050611073600083018461104f565b92915050565b61108281610f4c565b811461108d57600080fd5b50565b60008135905061109f81611079565b92915050565b600080604083850312156110bc576110bb610e4e565b5b60006110ca85828601610f0a565b92505060206110db85828601611090565b9150509250929050565b60008115159050919050565b6110fa816110e5565b82525050565b600060208201905061111560008301846110f1565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61116982611120565b810181811067ffffffffffffffff8211171561118857611187611131565b5b80604052505050565b600061119b610e44565b90506111a78282611160565b919050565b600067ffffffffffffffff8211156111c7576111c6611131565b5b6111d082611120565b9050602081019050919050565b82818337600083830152505050565b60006111ff6111fa846111ac565b611191565b90508281526020810184848401111561121b5761121a61111b565b5b6112268482856111dd565b509392505050565b600082601f83011261124357611242610f80565b5b81356112538482602086016111ec565b91505092915050565b60008060006060848603121561127557611274610e4e565b5b600061128386828701610f0a565b935050602061129486828701611090565b925050604084013567ffffffffffffffff8111156112b5576112b4610e53565b5b6112c18682870161122e565b9150509250925092565b6112d481611045565b81146112df57600080fd5b50565b6000813590506112f1816112cb565b92915050565b6000806000806060858703121561131157611310610e4e565b5b600061131f87828801610f0a565b945050602085013567ffffffffffffffff8111156113405761133f610e53565b5b61134c87828801610f8f565b9350935050604061135f878288016112e2565b91505092959194509250565b61137481610e78565b82525050565b600060208201905061138f600083018461136b565b92915050565b6000819050919050565b60006113ba6113b56113b084610e58565b611395565b610e58565b9050919050565b60006113cc8261139f565b9050919050565b60006113de826113c1565b9050919050565b6113ee816113d3565b82525050565b600060208201905061140960008301846113e5565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061145660208361140f565b915061146182611420565b602082019050919050565b6000602082019050818103600083015261148581611449565b9050919050565b7f21696e626f780000000000000000000000000000000000000000000000000000600082015250565b60006114c260068361140f565b91506114cd8261148c565b602082019050919050565b600060208201905081810360008301526114f1816114b5565b9050919050565b7f21726f7574657200000000000000000000000000000000000000000000000000600082015250565b600061152e60078361140f565b9150611539826114f8565b602082019050919050565b6000602082019050818103600083015261155d81611521565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006115c0602e8361140f565b91506115cb82611564565b604082019050919050565b600060208201905081810360008301526115ef816115b3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061165260268361140f565b915061165d826115f6565b604082019050919050565b6000602082019050818103600083015261168181611645565b9050919050565b61169181610ee3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116d15780820151818401526020810190506116b6565b838111156116e0576000848401525b50505050565b60006116f182611697565b6116fb81856116a2565b935061170b8185602086016116b3565b61171481611120565b840191505092915050565b60006060820190506117346000830186611688565b6117416020830185610f56565b818103604083015261175381846116e6565b9050949350505050565b60008151905061176c816112cb565b92915050565b60006020828403121561178857611787610e4e565b5b60006117968482850161175d565b91505092915050565b6117a8816110e5565b81146117b357600080fd5b50565b6000815190506117c58161179f565b92915050565b6000602082840312156117e1576117e0610e4e565b5b60006117ef848285016117b6565b91505092915050565b600061180382610e78565b9050919050565b611813816117f8565b811461181e57600080fd5b50565b6000815190506118308161180a565b92915050565b60006020828403121561184c5761184b610e4e565b5b600061185a84828501611821565b91505092915050565b600061186e82610e78565b9050919050565b61187e81611863565b811461188957600080fd5b50565b60008151905061189b81611875565b92915050565b6000602082840312156118b7576118b6610e4e565b5b60006118c58482850161188c565b91505092915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061192a602b8361140f565b9150611935826118ce565b604082019050919050565b600060208201905081810360008301526119598161191d565b905091905056fea26469706673582212201a594bc05f469ac3093722fa4fb8aa39fab80db3986995155f21837627b7d96364736f6c634300080d0033";
static readonly bytecode = "0x608060405234801561001057600080fd5b50611cc0806100206000396000f3fe6080604052600436106100f35760003560e01c80637249609f1161008a578063c2c4c5c111610059578063c2c4c5c1146102f8578063c4d66de81461030f578063cf7a165914610338578063f2fde38b14610361576100f3565b80637249609f146102505780638da5cb5b146102795780639a35c359146102a4578063b49c53a7146102cf576100f3565b80632ead72f6116100c65780632ead72f6146101b757806356d5d475146101f4578063638263661461021d578063715018a614610239576100f3565b80630da27895146100f857806312b1d78014610114578063133b79a91461013d5780632e6a9e4b1461017a575b600080fd5b610112600480360381019061010d91906113a3565b61038a565b005b34801561012057600080fd5b5061013b60048036038101906101369190611470565b61039a565b005b34801561014957600080fd5b50610164600480360381019061015f919061149d565b610422565b60405161017191906114e3565b60405180910390f35b34801561018657600080fd5b506101a1600480360381019061019c919061152a565b610434565b6040516101ae9190611585565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061149d565b610448565b6040516101eb91906114e3565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906115a0565b610460565b005b610237600480360381019061023291906113a3565b610505565b005b34801561024557600080fd5b5061024e610515565b005b34801561025c57600080fd5b506102776004803603810190610272919061160f565b61059d565b005b34801561028557600080fd5b5061028e6105ac565b60405161029b919061167a565b60405180910390f35b3480156102b057600080fd5b506102b96105d6565b6040516102c691906116f4565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f1919061152a565b6105fc565b005b34801561030457600080fd5b5061030d610686565b005b34801561031b57600080fd5b5061033660048036038101906103319190611470565b610690565b005b34801561034457600080fd5b5061035f600480360381019061035a919061160f565b61077e565b005b34801561036d57600080fd5b5061038860048036038101906103839190611470565b61078c565b005b610395838383610883565b505050565b6103a2610999565b73ffffffffffffffffffffffffffffffffffffffff166103c06105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040d9061176c565b60405180910390fd5b61041f816109a1565b50565b600061042d82610a28565b9050919050565b60006104408383610a96565b905092915050565b60976020528060005260406000206000915090505481565b61046933610ac2565b6104a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f906117d8565b60405180910390fd5b82826104b48282610a96565b6104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90611844565b60405180910390fd5b6104fe858585610b67565b5050505050565b610510838383610b6c565b505050565b61051d610999565b73ffffffffffffffffffffffffffffffffffffffff1661053b6105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105889061176c565b60405180910390fd5b61059b6000610ce8565b565b6105a78282610dae565b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610604610999565b73ffffffffffffffffffffffffffffffffffffffff166106226105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066f9061176c565b60405180910390fd5b6106828282610dca565b5050565b61068e610e26565b565b600060019054906101000a900460ff166106b85760008054906101000a900460ff16156106c1565b6106c0610e8f565b5b610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f7906118d6565b60405180910390fd5b60008060019054906101000a900460ff161590508015610750576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61075982610ea0565b801561077a5760008060016101000a81548160ff0219169083151502179055505b5050565b6107888282610eac565b5050565b610794610999565b73ffffffffffffffffffffffffffffffffffffffff166107b26105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061176c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e90611968565b60405180910390fd5b61088081610ce8565b50565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109938173ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c91906119c6565b8273ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098b9190611a31565b868686610f29565b50505050565b600033905090565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167ffd9d51f0a51aa62211445229fd1a1ef01bbe01347290d8e15249b8c33a89eea660405160405180910390a250565b6000609760008363ffffffff1663ffffffff1681526020019081526020016000205490506000801b8103610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611844565b60405180910390fd5b919050565b600081609760008563ffffffff1663ffffffff1681526020019081526020016000205414905092915050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282f51eb836040518263ffffffff1660e01b8152600401610b1f919061167a565b602060405180830381865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611a8a565b9050919050565b505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906119c6565b9050610c81818373ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c799190611a31565b878787610f29565b8073ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b505050505050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610dc2610dbb610fb6565b848461104e565b905092915050565b80609760008463ffffffff1663ffffffff16815260200190815260200160002081905550808263ffffffff167f7a69b3d35edf59b97fd4d38d8ecf2b4ecd0a19d236e421d8c543ea234d66597460405160405180910390a35050565b610e2e610fb6565b73ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050565b6000610e9a306110e6565b15905090565b610ea981611109565b50565b6000610eb6610fb6565b9050610ec381848461104e565b508073ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f0c57600080fd5b505af1158015610f20573d6000803e3d6000fd5b50505050505050565b6000610f3686858561104e565b90506000821115610fae578473ffffffffffffffffffffffffffffffffffffffff166331f1dd3383836040518363ffffffff1660e01b8152600401610f7b9190611ac6565b6000604051808303818588803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b50505050505b505050505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611025573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104991906119c6565b905090565b60008061105a84610a28565b90508473ffffffffffffffffffffffffffffffffffffffff1663fa31de018583866040518463ffffffff1660e01b815260040161109993929190611b78565b6020604051808303816000875af11580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dc9190611bcb565b9150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b611112816109a1565b61111a61111d565b50565b600060019054906101000a900460ff1661116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611c6a565b60405180910390fd5b611174611176565b565b600060019054906101000a900460ff166111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90611c6a565b60405180910390fd5b6111d56111d0610999565b610ce8565b565b6000604051905090565b600080fd5b600080fd5b600063ffffffff82169050919050565b611204816111eb565b811461120f57600080fd5b50565b600081359050611221816111fb565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61127a82611231565b810181811067ffffffffffffffff8211171561129957611298611242565b5b80604052505050565b60006112ac6111d7565b90506112b88282611271565b919050565b600067ffffffffffffffff8211156112d8576112d7611242565b5b6112e182611231565b9050602081019050919050565b82818337600083830152505050565b600061131061130b846112bd565b6112a2565b90508281526020810184848401111561132c5761132b61122c565b5b6113378482856112ee565b509392505050565b600082601f83011261135457611353611227565b5b81356113648482602086016112fd565b91505092915050565b6000819050919050565b6113808161136d565b811461138b57600080fd5b50565b60008135905061139d81611377565b92915050565b6000806000606084860312156113bc576113bb6111e1565b5b60006113ca86828701611212565b935050602084013567ffffffffffffffff8111156113eb576113ea6111e6565b5b6113f78682870161133f565b92505060406114088682870161138e565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061143d82611412565b9050919050565b61144d81611432565b811461145857600080fd5b50565b60008135905061146a81611444565b92915050565b600060208284031215611486576114856111e1565b5b60006114948482850161145b565b91505092915050565b6000602082840312156114b3576114b26111e1565b5b60006114c184828501611212565b91505092915050565b6000819050919050565b6114dd816114ca565b82525050565b60006020820190506114f860008301846114d4565b92915050565b611507816114ca565b811461151257600080fd5b50565b600081359050611524816114fe565b92915050565b60008060408385031215611541576115406111e1565b5b600061154f85828601611212565b925050602061156085828601611515565b9150509250929050565b60008115159050919050565b61157f8161156a565b82525050565b600060208201905061159a6000830184611576565b92915050565b6000806000606084860312156115b9576115b86111e1565b5b60006115c786828701611212565b93505060206115d886828701611515565b925050604084013567ffffffffffffffff8111156115f9576115f86111e6565b5b6116058682870161133f565b9150509250925092565b60008060408385031215611626576116256111e1565b5b600061163485828601611212565b925050602083013567ffffffffffffffff811115611655576116546111e6565b5b6116618582860161133f565b9150509250929050565b61167481611432565b82525050565b600060208201905061168f600083018461166b565b92915050565b6000819050919050565b60006116ba6116b56116b084611412565b611695565b611412565b9050919050565b60006116cc8261169f565b9050919050565b60006116de826116c1565b9050919050565b6116ee816116d3565b82525050565b600060208201905061170960008301846116e5565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061175660208361170f565b915061176182611720565b602082019050919050565b6000602082019050818103600083015261178581611749565b9050919050565b7f21696e626f780000000000000000000000000000000000000000000000000000600082015250565b60006117c260068361170f565b91506117cd8261178c565b602082019050919050565b600060208201905081810360008301526117f1816117b5565b9050919050565b7f21726f7574657200000000000000000000000000000000000000000000000000600082015250565b600061182e60078361170f565b9150611839826117f8565b602082019050919050565b6000602082019050818103600083015261185d81611821565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006118c0602e8361170f565b91506118cb82611864565b604082019050919050565b600060208201905081810360008301526118ef816118b3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061195260268361170f565b915061195d826118f6565b604082019050919050565b6000602082019050818103600083015261198181611945565b9050919050565b600061199382611432565b9050919050565b6119a381611988565b81146119ae57600080fd5b50565b6000815190506119c08161199a565b92915050565b6000602082840312156119dc576119db6111e1565b5b60006119ea848285016119b1565b91505092915050565b60006119fe82611432565b9050919050565b611a0e816119f3565b8114611a1957600080fd5b50565b600081519050611a2b81611a05565b92915050565b600060208284031215611a4757611a466111e1565b5b6000611a5584828501611a1c565b91505092915050565b611a678161156a565b8114611a7257600080fd5b50565b600081519050611a8481611a5e565b92915050565b600060208284031215611aa057611a9f6111e1565b5b6000611aae84828501611a75565b91505092915050565b611ac08161136d565b82525050565b6000602082019050611adb6000830184611ab7565b92915050565b611aea816111eb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b2a578082015181840152602081019050611b0f565b83811115611b39576000848401525b50505050565b6000611b4a82611af0565b611b548185611afb565b9350611b64818560208601611b0c565b611b6d81611231565b840191505092915050565b6000606082019050611b8d6000830186611ae1565b611b9a60208301856114d4565b8181036040830152611bac8184611b3f565b9050949350505050565b600081519050611bc581611377565b92915050565b600060208284031215611be157611be06111e1565b5b6000611bef84828501611bb6565b91505092915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000611c54602b8361170f565b9150611c5f82611bf8565b604082019050919050565b60006020820190508181036000830152611c8381611c47565b905091905056fea2646970667358221220507fb39efec103c780bf69593ec42eba2d295ee11d160c3431d19130dd50ba5964736f6c634300080d0033";
static readonly abi: ({

@@ -17,0 +17,0 @@ anonymous: boolean;

"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });

@@ -74,2 +72,9 @@ exports.TestRouter__factory = void 0;

{
inputs: [],
name: "checkpoint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [

@@ -87,11 +92,46 @@ {

],
name: "dispatchToRemoteRouter",
outputs: [
name: "dispatch",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint32",
name: "_destination",
type: "uint32",
},
{
internalType: "bytes",
name: "_msg",
type: "bytes",
},
],
name: "dispatchAndCheckpoint",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint32",
name: "_destination",
type: "uint32",
},
{
internalType: "bytes",
name: "_msg",
type: "bytes",
},
{
internalType: "uint256",
name: "",
name: "_gasPayment",
type: "uint256",
},
],
stateMutability: "nonpayable",
name: "dispatchWithGas",
outputs: [],
stateMutability: "payable",
type: "function",

@@ -117,5 +157,5 @@ },

],
name: "dispatchToRemoteRouterWithGas",
name: "dispatchWithGasAndCheckpoint",
outputs: [],
stateMutability: "nonpayable",
stateMutability: "payable",
type: "function",

@@ -286,3 +326,3 @@ },

];
const _bytecode = "0x608060405234801561001057600080fd5b50611996806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c5780639a35c359116100665780639a35c35914610210578063b49c53a71461022e578063c4d66de81461024a578063f2fde38b14610266576100cf565b8063715018a6146101cc5780638d8dff24146101d65780638da5cb5b146101f2576100cf565b806312b1d780146100d4578063133b79a9146100f057806319d2df84146101205780632e6a9e4b146101505780632ead72f61461018057806356d5d475146101b0575b600080fd5b6100ee60048036038101906100e99190610eb6565b610282565b005b61010a60048036038101906101059190610f1f565b61030a565b6040516101179190610f65565b60405180910390f35b61013a60048036038101906101359190610fe5565b61031c565b604051610147919061105e565b60405180910390f35b61016a600480360381019061016591906110a5565b610375565b6040516101779190611100565b60405180910390f35b61019a60048036038101906101959190610f1f565b610389565b6040516101a79190610f65565b60405180910390f35b6101ca60048036038101906101c5919061125c565b6103a1565b005b6101d4610446565b005b6101f060048036038101906101eb91906112f7565b6104ce565b005b6101fa610523565b604051610207919061137a565b60405180910390f35b61021861054d565b60405161022591906113f4565b60405180910390f35b610248600480360381019061024391906110a5565b610573565b005b610264600480360381019061025f9190610eb6565b6105fd565b005b610280600480360381019061027b9190610eb6565b6106eb565b005b61028a6107e2565b73ffffffffffffffffffffffffffffffffffffffff166102a8610523565b73ffffffffffffffffffffffffffffffffffffffff16146102fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f59061146c565b60405180910390fd5b610307816107ea565b50565b600061031582610871565b9050919050565b600061036c8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506108df565b90509392505050565b6000610381838361097d565b905092915050565b60976020528060005260406000206000915090505481565b6103aa336109a9565b6103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e0906114d8565b60405180910390fd5b82826103f5828261097d565b610434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042b90611544565b60405180910390fd5b61043f858585610a4e565b5050505050565b61044e6107e2565b73ffffffffffffffffffffffffffffffffffffffff1661046c610523565b73ffffffffffffffffffffffffffffffffffffffff16146104c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b99061146c565b60405180910390fd5b6104cc6000610a53565b565b61051d8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083610b19565b50505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61057b6107e2565b73ffffffffffffffffffffffffffffffffffffffff16610599610523565b73ffffffffffffffffffffffffffffffffffffffff16146105ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e69061146c565b60405180910390fd5b6105f98282610baa565b5050565b600060019054906101000a900460ff166106255760008054906101000a900460ff161561062e565b61062d610c06565b5b61066d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610664906115d6565b60405180910390fd5b60008060019054906101000a900460ff1615905080156106bd576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6106c682610c17565b80156106e75760008060016101000a81548160ff0219169083151502179055505b5050565b6106f36107e2565b73ffffffffffffffffffffffffffffffffffffffff16610711610523565b73ffffffffffffffffffffffffffffffffffffffff1614610767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e9061146c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd90611668565b60405180910390fd5b6107df81610a53565b50565b600033905090565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167ffd9d51f0a51aa62211445229fd1a1ef01bbe01347290d8e15249b8c33a89eea660405160405180910390a250565b6000609760008363ffffffff1663ffffffff1681526020019081526020016000205490506000801b81036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611544565b60405180910390fd5b919050565b6000806108eb84610871565b90506108f5610c23565b73ffffffffffffffffffffffffffffffffffffffff1663fa31de018583866040518463ffffffff1660e01b81526004016109319392919061171f565b6020604051808303816000875af1158015610950573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109749190611772565b91505092915050565b600081609760008563ffffffff1663ffffffff1681526020019081526020016000205414905092915050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282f51eb836040518263ffffffff1660e01b8152600401610a06919061137a565b602060405180830381865afa158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4791906117cb565b9050919050565b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610b2584846108df565b90506000821115610ba457610b38610cbb565b73ffffffffffffffffffffffffffffffffffffffff166331f1dd3383836040518363ffffffff1660e01b8152600401610b71919061105e565b6000604051808303818588803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b50505050505b50505050565b80609760008463ffffffff1663ffffffff16815260200190815260200160002081905550808263ffffffff167f7a69b3d35edf59b97fd4d38d8ecf2b4ecd0a19d236e421d8c543ea234d66597460405160405180910390a35050565b6000610c1130610d53565b15905090565b610c2081610d76565b50565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611836565b905090565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e91906118a1565b905090565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b610d7f816107ea565b610d87610d8a565b50565b600060019054906101000a900460ff16610dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd090611940565b60405180910390fd5b610de1610de3565b565b600060019054906101000a900460ff16610e32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2990611940565b60405180910390fd5b610e42610e3d6107e2565b610a53565b565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e8382610e58565b9050919050565b610e9381610e78565b8114610e9e57600080fd5b50565b600081359050610eb081610e8a565b92915050565b600060208284031215610ecc57610ecb610e4e565b5b6000610eda84828501610ea1565b91505092915050565b600063ffffffff82169050919050565b610efc81610ee3565b8114610f0757600080fd5b50565b600081359050610f1981610ef3565b92915050565b600060208284031215610f3557610f34610e4e565b5b6000610f4384828501610f0a565b91505092915050565b6000819050919050565b610f5f81610f4c565b82525050565b6000602082019050610f7a6000830184610f56565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610fa557610fa4610f80565b5b8235905067ffffffffffffffff811115610fc257610fc1610f85565b5b602083019150836001820283011115610fde57610fdd610f8a565b5b9250929050565b600080600060408486031215610ffe57610ffd610e4e565b5b600061100c86828701610f0a565b935050602084013567ffffffffffffffff81111561102d5761102c610e53565b5b61103986828701610f8f565b92509250509250925092565b6000819050919050565b61105881611045565b82525050565b6000602082019050611073600083018461104f565b92915050565b61108281610f4c565b811461108d57600080fd5b50565b60008135905061109f81611079565b92915050565b600080604083850312156110bc576110bb610e4e565b5b60006110ca85828601610f0a565b92505060206110db85828601611090565b9150509250929050565b60008115159050919050565b6110fa816110e5565b82525050565b600060208201905061111560008301846110f1565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61116982611120565b810181811067ffffffffffffffff8211171561118857611187611131565b5b80604052505050565b600061119b610e44565b90506111a78282611160565b919050565b600067ffffffffffffffff8211156111c7576111c6611131565b5b6111d082611120565b9050602081019050919050565b82818337600083830152505050565b60006111ff6111fa846111ac565b611191565b90508281526020810184848401111561121b5761121a61111b565b5b6112268482856111dd565b509392505050565b600082601f83011261124357611242610f80565b5b81356112538482602086016111ec565b91505092915050565b60008060006060848603121561127557611274610e4e565b5b600061128386828701610f0a565b935050602061129486828701611090565b925050604084013567ffffffffffffffff8111156112b5576112b4610e53565b5b6112c18682870161122e565b9150509250925092565b6112d481611045565b81146112df57600080fd5b50565b6000813590506112f1816112cb565b92915050565b6000806000806060858703121561131157611310610e4e565b5b600061131f87828801610f0a565b945050602085013567ffffffffffffffff8111156113405761133f610e53565b5b61134c87828801610f8f565b9350935050604061135f878288016112e2565b91505092959194509250565b61137481610e78565b82525050565b600060208201905061138f600083018461136b565b92915050565b6000819050919050565b60006113ba6113b56113b084610e58565b611395565b610e58565b9050919050565b60006113cc8261139f565b9050919050565b60006113de826113c1565b9050919050565b6113ee816113d3565b82525050565b600060208201905061140960008301846113e5565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061145660208361140f565b915061146182611420565b602082019050919050565b6000602082019050818103600083015261148581611449565b9050919050565b7f21696e626f780000000000000000000000000000000000000000000000000000600082015250565b60006114c260068361140f565b91506114cd8261148c565b602082019050919050565b600060208201905081810360008301526114f1816114b5565b9050919050565b7f21726f7574657200000000000000000000000000000000000000000000000000600082015250565b600061152e60078361140f565b9150611539826114f8565b602082019050919050565b6000602082019050818103600083015261155d81611521565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006115c0602e8361140f565b91506115cb82611564565b604082019050919050565b600060208201905081810360008301526115ef816115b3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061165260268361140f565b915061165d826115f6565b604082019050919050565b6000602082019050818103600083015261168181611645565b9050919050565b61169181610ee3565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116d15780820151818401526020810190506116b6565b838111156116e0576000848401525b50505050565b60006116f182611697565b6116fb81856116a2565b935061170b8185602086016116b3565b61171481611120565b840191505092915050565b60006060820190506117346000830186611688565b6117416020830185610f56565b818103604083015261175381846116e6565b9050949350505050565b60008151905061176c816112cb565b92915050565b60006020828403121561178857611787610e4e565b5b60006117968482850161175d565b91505092915050565b6117a8816110e5565b81146117b357600080fd5b50565b6000815190506117c58161179f565b92915050565b6000602082840312156117e1576117e0610e4e565b5b60006117ef848285016117b6565b91505092915050565b600061180382610e78565b9050919050565b611813816117f8565b811461181e57600080fd5b50565b6000815190506118308161180a565b92915050565b60006020828403121561184c5761184b610e4e565b5b600061185a84828501611821565b91505092915050565b600061186e82610e78565b9050919050565b61187e81611863565b811461188957600080fd5b50565b60008151905061189b81611875565b92915050565b6000602082840312156118b7576118b6610e4e565b5b60006118c58482850161188c565b91505092915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061192a602b8361140f565b9150611935826118ce565b604082019050919050565b600060208201905081810360008301526119598161191d565b905091905056fea26469706673582212201a594bc05f469ac3093722fa4fb8aa39fab80db3986995155f21837627b7d96364736f6c634300080d0033";
const _bytecode = "0x608060405234801561001057600080fd5b50611cc0806100206000396000f3fe6080604052600436106100f35760003560e01c80637249609f1161008a578063c2c4c5c111610059578063c2c4c5c1146102f8578063c4d66de81461030f578063cf7a165914610338578063f2fde38b14610361576100f3565b80637249609f146102505780638da5cb5b146102795780639a35c359146102a4578063b49c53a7146102cf576100f3565b80632ead72f6116100c65780632ead72f6146101b757806356d5d475146101f4578063638263661461021d578063715018a614610239576100f3565b80630da27895146100f857806312b1d78014610114578063133b79a91461013d5780632e6a9e4b1461017a575b600080fd5b610112600480360381019061010d91906113a3565b61038a565b005b34801561012057600080fd5b5061013b60048036038101906101369190611470565b61039a565b005b34801561014957600080fd5b50610164600480360381019061015f919061149d565b610422565b60405161017191906114e3565b60405180910390f35b34801561018657600080fd5b506101a1600480360381019061019c919061152a565b610434565b6040516101ae9190611585565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061149d565b610448565b6040516101eb91906114e3565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906115a0565b610460565b005b610237600480360381019061023291906113a3565b610505565b005b34801561024557600080fd5b5061024e610515565b005b34801561025c57600080fd5b506102776004803603810190610272919061160f565b61059d565b005b34801561028557600080fd5b5061028e6105ac565b60405161029b919061167a565b60405180910390f35b3480156102b057600080fd5b506102b96105d6565b6040516102c691906116f4565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f1919061152a565b6105fc565b005b34801561030457600080fd5b5061030d610686565b005b34801561031b57600080fd5b5061033660048036038101906103319190611470565b610690565b005b34801561034457600080fd5b5061035f600480360381019061035a919061160f565b61077e565b005b34801561036d57600080fd5b5061038860048036038101906103839190611470565b61078c565b005b610395838383610883565b505050565b6103a2610999565b73ffffffffffffffffffffffffffffffffffffffff166103c06105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040d9061176c565b60405180910390fd5b61041f816109a1565b50565b600061042d82610a28565b9050919050565b60006104408383610a96565b905092915050565b60976020528060005260406000206000915090505481565b61046933610ac2565b6104a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049f906117d8565b60405180910390fd5b82826104b48282610a96565b6104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90611844565b60405180910390fd5b6104fe858585610b67565b5050505050565b610510838383610b6c565b505050565b61051d610999565b73ffffffffffffffffffffffffffffffffffffffff1661053b6105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610591576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105889061176c565b60405180910390fd5b61059b6000610ce8565b565b6105a78282610dae565b505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610604610999565b73ffffffffffffffffffffffffffffffffffffffff166106226105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610678576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066f9061176c565b60405180910390fd5b6106828282610dca565b5050565b61068e610e26565b565b600060019054906101000a900460ff166106b85760008054906101000a900460ff16156106c1565b6106c0610e8f565b5b610700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f7906118d6565b60405180910390fd5b60008060019054906101000a900460ff161590508015610750576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b61075982610ea0565b801561077a5760008060016101000a81548160ff0219169083151502179055505b5050565b6107888282610eac565b5050565b610794610999565b73ffffffffffffffffffffffffffffffffffffffff166107b26105ac565b73ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff9061176c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e90611968565b60405180910390fd5b61088081610ce8565b50565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109938173ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c91906119c6565b8273ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098b9190611a31565b868686610f29565b50505050565b600033905090565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167ffd9d51f0a51aa62211445229fd1a1ef01bbe01347290d8e15249b8c33a89eea660405160405180910390a250565b6000609760008363ffffffff1663ffffffff1681526020019081526020016000205490506000801b8103610a91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8890611844565b60405180910390fd5b919050565b600081609760008563ffffffff1663ffffffff1681526020019081526020016000205414905092915050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663282f51eb836040518263ffffffff1660e01b8152600401610b1f919061167a565b602060405180830381865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b609190611a8a565b9050919050565b505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906119c6565b9050610c81818373ffffffffffffffffffffffffffffffffffffffff166339bb4ad96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c799190611a31565b878787610f29565b8073ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cc957600080fd5b505af1158015610cdd573d6000803e3d6000fd5b505050505050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610dc2610dbb610fb6565b848461104e565b905092915050565b80609760008463ffffffff1663ffffffff16815260200190815260200160002081905550808263ffffffff167f7a69b3d35edf59b97fd4d38d8ecf2b4ecd0a19d236e421d8c543ea234d66597460405160405180910390a35050565b610e2e610fb6565b73ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050565b6000610e9a306110e6565b15905090565b610ea981611109565b50565b6000610eb6610fb6565b9050610ec381848461104e565b508073ffffffffffffffffffffffffffffffffffffffff1663c2c4c5c16040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f0c57600080fd5b505af1158015610f20573d6000803e3d6000fd5b50505050505050565b6000610f3686858561104e565b90506000821115610fae578473ffffffffffffffffffffffffffffffffffffffff166331f1dd3383836040518363ffffffff1660e01b8152600401610f7b9190611ac6565b6000604051808303818588803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b50505050505b505050505050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce11e6ab6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611025573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104991906119c6565b905090565b60008061105a84610a28565b90508473ffffffffffffffffffffffffffffffffffffffff1663fa31de018583866040518463ffffffff1660e01b815260040161109993929190611b78565b6020604051808303816000875af11580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dc9190611bcb565b9150509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b611112816109a1565b61111a61111d565b50565b600060019054906101000a900460ff1661116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390611c6a565b60405180910390fd5b611174611176565b565b600060019054906101000a900460ff166111c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bc90611c6a565b60405180910390fd5b6111d56111d0610999565b610ce8565b565b6000604051905090565b600080fd5b600080fd5b600063ffffffff82169050919050565b611204816111eb565b811461120f57600080fd5b50565b600081359050611221816111fb565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61127a82611231565b810181811067ffffffffffffffff8211171561129957611298611242565b5b80604052505050565b60006112ac6111d7565b90506112b88282611271565b919050565b600067ffffffffffffffff8211156112d8576112d7611242565b5b6112e182611231565b9050602081019050919050565b82818337600083830152505050565b600061131061130b846112bd565b6112a2565b90508281526020810184848401111561132c5761132b61122c565b5b6113378482856112ee565b509392505050565b600082601f83011261135457611353611227565b5b81356113648482602086016112fd565b91505092915050565b6000819050919050565b6113808161136d565b811461138b57600080fd5b50565b60008135905061139d81611377565b92915050565b6000806000606084860312156113bc576113bb6111e1565b5b60006113ca86828701611212565b935050602084013567ffffffffffffffff8111156113eb576113ea6111e6565b5b6113f78682870161133f565b92505060406114088682870161138e565b9150509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061143d82611412565b9050919050565b61144d81611432565b811461145857600080fd5b50565b60008135905061146a81611444565b92915050565b600060208284031215611486576114856111e1565b5b60006114948482850161145b565b91505092915050565b6000602082840312156114b3576114b26111e1565b5b60006114c184828501611212565b91505092915050565b6000819050919050565b6114dd816114ca565b82525050565b60006020820190506114f860008301846114d4565b92915050565b611507816114ca565b811461151257600080fd5b50565b600081359050611524816114fe565b92915050565b60008060408385031215611541576115406111e1565b5b600061154f85828601611212565b925050602061156085828601611515565b9150509250929050565b60008115159050919050565b61157f8161156a565b82525050565b600060208201905061159a6000830184611576565b92915050565b6000806000606084860312156115b9576115b86111e1565b5b60006115c786828701611212565b93505060206115d886828701611515565b925050604084013567ffffffffffffffff8111156115f9576115f86111e6565b5b6116058682870161133f565b9150509250925092565b60008060408385031215611626576116256111e1565b5b600061163485828601611212565b925050602083013567ffffffffffffffff811115611655576116546111e6565b5b6116618582860161133f565b9150509250929050565b61167481611432565b82525050565b600060208201905061168f600083018461166b565b92915050565b6000819050919050565b60006116ba6116b56116b084611412565b611695565b611412565b9050919050565b60006116cc8261169f565b9050919050565b60006116de826116c1565b9050919050565b6116ee816116d3565b82525050565b600060208201905061170960008301846116e5565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061175660208361170f565b915061176182611720565b602082019050919050565b6000602082019050818103600083015261178581611749565b9050919050565b7f21696e626f780000000000000000000000000000000000000000000000000000600082015250565b60006117c260068361170f565b91506117cd8261178c565b602082019050919050565b600060208201905081810360008301526117f1816117b5565b9050919050565b7f21726f7574657200000000000000000000000000000000000000000000000000600082015250565b600061182e60078361170f565b9150611839826117f8565b602082019050919050565b6000602082019050818103600083015261185d81611821565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b60006118c0602e8361170f565b91506118cb82611864565b604082019050919050565b600060208201905081810360008301526118ef816118b3565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061195260268361170f565b915061195d826118f6565b604082019050919050565b6000602082019050818103600083015261198181611945565b9050919050565b600061199382611432565b9050919050565b6119a381611988565b81146119ae57600080fd5b50565b6000815190506119c08161199a565b92915050565b6000602082840312156119dc576119db6111e1565b5b60006119ea848285016119b1565b91505092915050565b60006119fe82611432565b9050919050565b611a0e816119f3565b8114611a1957600080fd5b50565b600081519050611a2b81611a05565b92915050565b600060208284031215611a4757611a466111e1565b5b6000611a5584828501611a1c565b91505092915050565b611a678161156a565b8114611a7257600080fd5b50565b600081519050611a8481611a5e565b92915050565b600060208284031215611aa057611a9f6111e1565b5b6000611aae84828501611a75565b91505092915050565b611ac08161136d565b82525050565b6000602082019050611adb6000830184611ab7565b92915050565b611aea816111eb565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b2a578082015181840152602081019050611b0f565b83811115611b39576000848401525b50505050565b6000611b4a82611af0565b611b548185611afb565b9350611b64818560208601611b0c565b611b6d81611231565b840191505092915050565b6000606082019050611b8d6000830186611ae1565b611b9a60208301856114d4565b8181036040830152611bac8184611b3f565b9050949350505050565b600081519050611bc581611377565b92915050565b600060208284031215611be157611be06111e1565b5b6000611bef84828501611bb6565b91505092915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000611c54602b8361170f565b9150611c5f82611bf8565b604082019050919050565b60006020820190508181036000830152611c8381611c47565b905091905056fea2646970667358221220507fb39efec103c780bf69593ec42eba2d295ee11d160c3431d19130dd50ba5964736f6c634300080d0033";
class TestRouter__factory extends ethers_1.ContractFactory {

@@ -289,0 +329,0 @@ constructor(signer) {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { ethers } from "ethers";
import * as Contracts from ".";
import {

@@ -10,5 +11,4 @@ FactoryOptions,

} from "@nomiclabs/hardhat-ethers/types";
import { ethers } from "ethers";
import * as Contracts from ".";
declare module "hardhat/types/runtime" {

@@ -15,0 +15,0 @@ interface HardhatEthersHelpers extends HardhatEthersHelpersBase {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -16,6 +21,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -22,0 +23,0 @@ interface IAbacusConnectionManagerInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -16,6 +21,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -22,0 +23,0 @@ interface ICommonInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface IInterchainGasPaymasterInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface IMessageRecipientInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface IOutboxInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface OwnableUpgradeableInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface RouterInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -17,6 +22,2 @@ ethers,

} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -23,0 +24,0 @@ interface TestAbacusConnectionClientInterface extends ethers.utils.Interface {

/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import {

@@ -15,8 +20,5 @@ ethers,

Overrides,
PayableOverrides,
CallOverrides,
} from "ethers";
import { BytesLike } from "@ethersproject/bytes";
import { Listener, Provider } from "@ethersproject/providers";
import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi";
import { TypedEventFilter, TypedEvent, TypedListener } from "./commons";

@@ -26,4 +28,7 @@ interface TestRouterInterface extends ethers.utils.Interface {

"abacusConnectionManager()": FunctionFragment;
"dispatchToRemoteRouter(uint32,bytes)": FunctionFragment;
"dispatchToRemoteRouterWithGas(uint32,bytes,uint256)": FunctionFragment;
"checkpoint()": FunctionFragment;
"dispatch(uint32,bytes)": FunctionFragment;
"dispatchAndCheckpoint(uint32,bytes)": FunctionFragment;
"dispatchWithGas(uint32,bytes,uint256)": FunctionFragment;
"dispatchWithGasAndCheckpoint(uint32,bytes,uint256)": FunctionFragment;
"enrollRemoteRouter(uint32,bytes32)": FunctionFragment;

@@ -46,10 +51,22 @@ "handle(uint32,bytes32,bytes)": FunctionFragment;

encodeFunctionData(
functionFragment: "dispatchToRemoteRouter",
functionFragment: "checkpoint",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "dispatch",
values: [BigNumberish, BytesLike]
): string;
encodeFunctionData(
functionFragment: "dispatchToRemoteRouterWithGas",
functionFragment: "dispatchAndCheckpoint",
values: [BigNumberish, BytesLike]
): string;
encodeFunctionData(
functionFragment: "dispatchWithGas",
values: [BigNumberish, BytesLike, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "dispatchWithGasAndCheckpoint",
values: [BigNumberish, BytesLike, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "enrollRemoteRouter",

@@ -93,11 +110,17 @@ values: [BigNumberish, BytesLike]

): Result;
decodeFunctionResult(functionFragment: "checkpoint", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "dispatch", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "dispatchToRemoteRouter",
functionFragment: "dispatchAndCheckpoint",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "dispatchToRemoteRouterWithGas",
functionFragment: "dispatchWithGas",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "dispatchWithGasAndCheckpoint",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "enrollRemoteRouter",

@@ -188,3 +211,7 @@ data: BytesLike

dispatchToRemoteRouter(
checkpoint(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatch(
_destination: BigNumberish,

@@ -195,9 +222,22 @@ _msg: BytesLike,

dispatchToRemoteRouterWithGas(
dispatchAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatchWithGas(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatchWithGasAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
enrollRemoteRouter(

@@ -253,3 +293,7 @@ _domain: BigNumberish,

dispatchToRemoteRouter(
checkpoint(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatch(
_destination: BigNumberish,

@@ -260,9 +304,22 @@ _msg: BytesLike,

dispatchToRemoteRouterWithGas(
dispatchAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatchWithGas(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
dispatchWithGasAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
enrollRemoteRouter(

@@ -318,11 +375,19 @@ _domain: BigNumberish,

dispatchToRemoteRouter(
checkpoint(overrides?: CallOverrides): Promise<void>;
dispatch(
_destination: BigNumberish,
_msg: BytesLike,
overrides?: CallOverrides
): Promise<BigNumber>;
): Promise<void>;
dispatchToRemoteRouterWithGas(
dispatchAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
overrides?: CallOverrides
): Promise<void>;
dispatchWithGas(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,

@@ -332,2 +397,9 @@ overrides?: CallOverrides

dispatchWithGasAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
enrollRemoteRouter(

@@ -401,3 +473,7 @@ _domain: BigNumberish,

dispatchToRemoteRouter(
checkpoint(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
dispatch(
_destination: BigNumberish,

@@ -408,9 +484,22 @@ _msg: BytesLike,

dispatchToRemoteRouterWithGas(
dispatchAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
dispatchWithGas(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
dispatchWithGasAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
enrollRemoteRouter(

@@ -469,3 +558,7 @@ _domain: BigNumberish,

dispatchToRemoteRouter(
checkpoint(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
dispatch(
_destination: BigNumberish,

@@ -476,9 +569,22 @@ _msg: BytesLike,

dispatchToRemoteRouterWithGas(
dispatchAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
dispatchWithGas(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
dispatchWithGasAndCheckpoint(
_destination: BigNumberish,
_msg: BytesLike,
_gasPayment: BigNumberish,
overrides?: PayableOverrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
enrollRemoteRouter(

@@ -485,0 +591,0 @@ _domain: BigNumberish,

@@ -24,3 +24,3 @@ {

},
"version": "0.0.4-sdkdev",
"version": "0.1.0-alpha3",
"main": "dist/index.js",

@@ -33,3 +33,3 @@ "types": "dist/index.d.ts",

"prettier": "prettier --write ./contracts ./test",
"build": "hardhat compile && hardhat typechain && npm run prettier && tsc && npm run copy-types",
"build": "hardhat compile && hardhat typechain && tsc && npm run copy-types",
"copy-types": "cp types/*.d.ts dist/",

@@ -41,6 +41,6 @@ "coverage": "hardhat coverage",

"dependencies": {
"@abacus-network/core": "^0.0.7-sdkdev",
"@abacus-network/utils": "^0.0.9-sdkdev",
"@abacus-network/core": "^0.1.0-alpha3",
"@abacus-network/utils": "^0.1.0-alpha3",
"@openzeppelin/contracts-upgradeable": "^4.5.0"
}
}

@@ -0,8 +1,9 @@

import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import { expect } from 'chai';
import { ethers } from 'hardhat';
import { expect } from 'chai';
import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import {
Outbox__factory,
AbacusConnectionManager,
AbacusConnectionManager__factory,
Outbox__factory,
} from '@abacus-network/core';

@@ -9,0 +10,0 @@

@@ -0,8 +1,13 @@

import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import { expect } from 'chai';
import { ContractTransaction } from 'ethers';
import { ethers } from 'hardhat';
import { expect } from 'chai';
import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers';
import {
Outbox__factory,
AbacusConnectionManager,
AbacusConnectionManager__factory,
InterchainGasPaymaster,
InterchainGasPaymaster__factory,
Outbox,
Outbox__factory,
} from '@abacus-network/core';

@@ -16,2 +21,3 @@ import { utils } from '@abacus-network/utils';

const destination = 2;
const destinationWithoutRouter = 3;
const message = '0xdeadbeef';

@@ -21,2 +27,3 @@

let router: TestRouter,
outbox: Outbox,
connectionManager: AbacusConnectionManager,

@@ -36,2 +43,12 @@ signer: SignerWithAddress,

const outboxFactory = new Outbox__factory(signer);
outbox = await outboxFactory.deploy(origin);
// dispatch dummy message
await outbox.dispatch(
destination,
utils.addressToBytes32(outbox.address),
'0x',
);
await connectionManager.setOutbox(outbox.address);
const routerFactory = new TestRouter__factory(signer);

@@ -89,23 +106,132 @@ router = await routerFactory.deploy();

it('dispatches message to enrolled remote router', async () => {
const outboxFactory = new Outbox__factory(signer);
const outbox = await outboxFactory.deploy(origin);
await connectionManager.setOutbox(outbox.address);
describe('dispatch functions', () => {
let interchainGasPaymaster: InterchainGasPaymaster;
beforeEach(async () => {
const interchainGasPaymasterFactory = new InterchainGasPaymaster__factory(
signer,
);
interchainGasPaymaster = await interchainGasPaymasterFactory.deploy();
await connectionManager.setInterchainGasPaymaster(
interchainGasPaymaster.address,
);
const remote = nonOwner.address;
await router.enrollRemoteRouter(
destination,
utils.addressToBytes32(remote),
);
await expect(router.dispatchToRemoteRouter(destination, message)).to.emit(
outbox,
'Dispatch',
);
// Enroll a remote router on the destination domain.
// The address is arbitrary because no messages will actually be processed.
await router.enrollRemoteRouter(
destination,
utils.addressToBytes32(nonOwner.address),
);
});
// Helper for testing different variations of dispatch functions
const runDispatchFunctionTests = async (
dispatchFunction: (
destinationDomain: number,
interchainGasPayment?: number,
) => Promise<ContractTransaction>,
expectCheckpoint: boolean,
expectGasPayment: boolean,
) => {
// Allows a Chai Assertion to be programmatically negated
const expectAssertion = (
assertion: Chai.Assertion,
expected: boolean,
) => {
return expected ? assertion : assertion.not;
};
it('dispatches a message', async () => {
await expect(dispatchFunction(destination)).to.emit(outbox, 'Dispatch');
});
it(`${
expectGasPayment ? 'pays' : 'does not pay'
} interchain gas`, async () => {
const testInterchainGasPayment = 1234;
const leafIndex = await outbox.count();
const assertion = expectAssertion(
expect(dispatchFunction(destination, testInterchainGasPayment)).to,
expectGasPayment,
);
await assertion
.emit(interchainGasPaymaster, 'GasPayment')
.withArgs(leafIndex, testInterchainGasPayment);
});
it(`${
expectCheckpoint ? 'creates' : 'does not create'
} a checkpoint`, async () => {
const assertion = expectAssertion(
expect(dispatchFunction(destination)).to,
expectCheckpoint,
);
await assertion.emit(outbox, 'Checkpoint');
});
it('reverts when dispatching a message to an unenrolled remote router', async () => {
await expect(
dispatchFunction(destinationWithoutRouter),
).to.be.revertedWith('!router');
});
};
describe('#dispatch', () => {
runDispatchFunctionTests(
(destinationDomain) => router.dispatch(destinationDomain, '0x'),
false,
false,
);
});
describe('#dispatchAndCheckpoint', () => {
runDispatchFunctionTests(
(destinationDomain) =>
router.dispatchAndCheckpoint(destinationDomain, '0x'),
true,
false,
);
});
describe('#dispatchWithGas', () => {
runDispatchFunctionTests(
(destinationDomain, interchainGasPayment = 0) =>
router.dispatchWithGas(
destinationDomain,
'0x',
interchainGasPayment,
{
value: interchainGasPayment,
},
),
false,
true,
);
});
describe('#dispatchWithGasAndCheckpoint', () => {
runDispatchFunctionTests(
(destinationDomain, interchainGasPayment = 0) =>
router.dispatchWithGasAndCheckpoint(
destinationDomain,
'0x',
interchainGasPayment,
{ value: interchainGasPayment },
),
true,
true,
);
});
});
it('reverts when dispatching message to unenrolled remote router', async () => {
await expect(
router.dispatchToRemoteRouter(destination, message),
).to.be.revertedWith('!router');
describe('#checkpoint', () => {
it('creates a checkpoint', async () => {
// dispatch dummy message
await outbox.dispatch(
destination,
utils.addressToBytes32(outbox.address),
'0x',
);
await expect(router.checkpoint()).to.emit(outbox, 'Checkpoint');
});
});
});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc