/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { MessageSender, MessageSenderInterface } from "../MessageSender"; const _abi = [ { inputs: [], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint64", name: "dstChainId", type: "uint64", }, ], name: "DstChainIdUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "messageBus", type: "address", }, ], name: "MessageBusUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "sender", type: "address", }, { indexed: false, internalType: "address", name: "receiver", type: "address", }, { indexed: false, internalType: "uint64", name: "srcChainId", type: "uint64", }, { indexed: false, internalType: "uint64", name: "dstChainId", type: "uint64", }, { indexed: false, internalType: "bytes", name: "message", type: "bytes", }, ], name: "MessageSent", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "token", type: "address", }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256", }, { indexed: false, internalType: "bytes", name: "message", type: "bytes", }, { indexed: false, internalType: "address", name: "executor", type: "address", }, ], name: "MessageWithTransferRefund", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "NativeWithdrawal", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "receiver", type: "address", }, ], name: "ReceiverUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "payment", type: "address", }, ], name: "SrcChainPaymentUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { indexed: false, internalType: "address", name: "to", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "Withdrawal", type: "event", }, { inputs: [ { internalType: "bytes", name: "message", type: "bytes", }, ], name: "calcFee", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "dstChainId", outputs: [ { internalType: "uint64", name: "", type: "uint64", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_token", type: "address", }, { internalType: "uint256", name: "_amount", type: "uint256", }, { internalType: "bytes", name: "_message", type: "bytes", }, { internalType: "address", name: "executor", type: "address", }, ], name: "executeMessageWithTransferRefund", outputs: [ { internalType: "enum MessageSender.ExecutionStatus", name: "", type: "uint8", }, ], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "address", name: "owner", type: "address", }, { internalType: "address", name: "_messageBus", type: "address", }, { internalType: "address", name: "_receiver", type: "address", }, { internalType: "uint64", name: "_dstChainId", type: "uint64", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "messageBus", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "sender", type: "address", }, { internalType: "address", name: "receiver", type: "address", }, { internalType: "uint64", name: "srcChainId", type: "uint64", }, { internalType: "bytes32", name: "srcTxHash", type: "bytes32", }, ], internalType: "struct MsgDataTypes.RouteInfo", name: "route", type: "tuple", }, { internalType: "uint64", name: "dstChainId", type: "uint64", }, { internalType: "bytes", name: "message", type: "bytes", }, ], name: "messageId", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "contract IERC20Upgradeable", name: "token", type: "address", }, { internalType: "address", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "ownerWithdrawERC20", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address payable", name: "to", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], name: "ownerWithdrawNative", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "receiver", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes", name: "message", type: "bytes", }, ], name: "sendMessage", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [ { internalType: "uint64", name: "dstChainId", type: "uint64", }, ], name: "setDstChainId", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "messageBus", type: "address", }, ], name: "setMessageBus", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_receiver", type: "address", }, ], name: "setReceiver", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_payment", type: "address", }, ], name: "setSrcChainPayment", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "srcChainPayment", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, ]; const _bytecode = "0x60806040523480156200001157600080fd5b5060006200002060016200008e565b9050801562000039576000805461ff0019166101001790555b801562000087576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906200007e9060019062000168565b60405180910390a15b50620001cb565b60008054610100900460ff1615620000f7578160ff166001148015620000c75750620000c5306200013b60201b620008b21760201c565b155b620000ef5760405162461bcd60e51b8152600401620000e69062000178565b60405180910390fd5b506000919050565b60005460ff808416911610620001215760405162461bcd60e51b8152600401620000e69062000178565b506000805460ff191660ff92909216919091179055600190565b6001600160a01b03163b151590565b600060ff82165b92915050565b62000162816200014a565b82525050565b6020810162000151828462000157565b602080825281016200015181602e81527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160208201526d191e481a5b9a5d1a585b1a5e995960921b604082015260600190565b6118ec80620001db6000396000f3fe6080604052600436106101095760003560e01c80638da5cb5b11610095578063bbd53ea711610064578063bbd53ea7146102c9578063d204d9a8146102e9578063d7c8cb2414610309578063f2fde38b14610329578063f7260d3e1461034957600080fd5b80638da5cb5b1461024257806393563a9514610269578063a1a227fa14610289578063bb0248aa146102a957600080fd5b8063547cad12116100dc578063547cad12146101ba578063699256f4146101da578063715018a6146101fa578063718da7ee1461020f57806382646a581461022f57600080fd5b80630bcb49821461010e57806330c593f7146101375780633fe3f1cf1461016b5780635335dca21461018d575b600080fd5b61012161011c366004610dd2565b610369565b60405161012e9190610e9f565b60405180910390f35b34801561014357600080fd5b5060675461015e90600160a01b90046001600160401b031681565b60405161012e9190610ebc565b34801561017757600080fd5b5061018b610186366004610ee4565b6103ea565b005b34801561019957600080fd5b506101ad6101a836600461103c565b610484565b60405161012e919061107c565b3480156101c657600080fd5b5061018b6101d536600461108a565b61050b565b3480156101e657600080fd5b5061018b6101f53660046110ab565b610541565b34801561020657600080fd5b5061018b6105ef565b34801561021b57600080fd5b5061018b61022a36600461108a565b610625565b61018b61023d36600461103c565b610658565b34801561024e57600080fd5b506033546001600160a01b03165b60405161012e91906110f1565b34801561027557600080fd5b5061018b61028436600461111e565b610711565b34801561029557600080fd5b5060665461025c906001600160a01b031681565b3480156102b557600080fd5b506101ad6102c4366004611189565b610782565b3480156102d557600080fd5b5061018b6102e436600461108a565b6107f3565b3480156102f557600080fd5b5060655461025c906001600160a01b031681565b34801561031557600080fd5b5061018b6103243660046111f6565b610826565b34801561033557600080fd5b5061018b61034436600461108a565b610859565b34801561035557600080fd5b5060675461025c906001600160a01b031681565b6066546000906001600160a01b0316331461039f5760405162461bcd60e51b815260040161039690611261565b60405180910390fd5b7f9afeef02b2dc7c87e4d0fe67945dedf1c4ee5bcf5cdf26f94fb1837859816f3386868686866040516103d695949392919061129a565b60405180910390a150600195945050505050565b60006103f660016108c1565b9050801561040e576000805461ff0019166101001790555b6104178561094e565b610420846109a0565b610429836109ec565b61043282610a37565b801561047d576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890610474906001906112fe565b60405180910390a15b5050505050565b60665460405163299aee5160e11b81526000916001600160a01b031690635335dca2906104b590859060040161136a565b60206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105059190611386565b92915050565b6033546001600160a01b031633146105355760405162461bcd60e51b8152600401610396906113dc565b61053e816109a0565b50565b6033546001600160a01b0316331461056b5760405162461bcd60e51b8152600401610396906113dc565b6040516000906001600160a01b0384169083156108fc0290849084818181858888f193505050509050806105b15760405162461bcd60e51b815260040161039690611438565b7f2c876ecb97b3c6854f2488d373403f903eacb800e51c159a5c0c7a9c857e482783836040516105e292919061145c565b60405180910390a1505050565b6033546001600160a01b031633146106195760405162461bcd60e51b8152600401610396906113dc565b610623600061094e565b565b6033546001600160a01b0316331461064f5760405162461bcd60e51b8152600401610396906113dc565b61053e816109ec565b6065546001600160a01b031633146106825760405162461bcd60e51b8152600401610396906114c1565b6067546066546106b3916001600160a01b0380821692600160a01b9092046001600160401b03169185911634610a8c565b6067546040517fbbb476e98b9b7845d6cfd4e37a62d14480243e3fe95454791d9eb9a6ca748e32916107069130916001600160a01b038116914691600160a01b90046001600160401b03169087906114d1565b60405180910390a150565b6033546001600160a01b0316331461073b5760405162461bcd60e51b8152600401610396906113dc565b61074f6001600160a01b0384168383610af7565b7f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63988383836040516105e293929190611518565b60006001610793602087018761108a565b6107a3604088016020890161108a565b6107b36060890160408a016111f6565b88606001358888886040516020016107d29897969594939291906115db565b6040516020818303038152906040528051906020012090505b949350505050565b6033546001600160a01b0316331461081d5760405162461bcd60e51b8152600401610396906113dc565b61053e81610b52565b6033546001600160a01b031633146108505760405162461bcd60e51b8152600401610396906113dc565b61053e81610a37565b6033546001600160a01b031633146108835760405162461bcd60e51b8152600401610396906113dc565b6001600160a01b0381166108a95760405162461bcd60e51b815260040161039690611699565b61053e8161094e565b6001600160a01b03163b151590565b60008054610100900460ff1615610908578160ff1660011480156108e45750303b155b6109005760405162461bcd60e51b8152600401610396906116f4565b506000919050565b60005460ff80841691161061092f5760405162461bcd60e51b8152600401610396906116f4565b506000805460ff191660ff92909216919091179055600190565b919050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040517f3f8223bcd8b3b875473e9f9e14e1ad075451a2b5ffd31591655da9a01516bf5e91610706916110f1565b606780546001600160a01b0319166001600160a01b0383161790556040517f75fd3aa5d9b6e2a8a9d8894008c9263200713f4b1fa9113665e09ceac0027746906107069083906110f1565b6067805467ffffffffffffffff60a01b1916600160a01b6001600160401b038416021790556040517fb21f4918f3e7b110065f3bf18a09b38074a4553144258ccfc30b57a76211e92990610706908390610ebc565b604051634f9e72ad60e11b81526001600160a01b03831690639f3ce55a908390610abe90899089908990600401611722565b6000604051808303818588803b158015610ad757600080fd5b505af1158015610aeb573d6000803e3d6000fd5b50505050505050505050565b610b4d8363a9059cbb60e01b8484604051602401610b16929190611758565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610b9d565b505050565b606580546001600160a01b0319166001600160a01b0383161790556040517faf4cc7de2dd4900af1750e9a7af95c24ca2096d76903102700c90a6abaa819a2906107069083906110f1565b6000610bf2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610c2c9092919063ffffffff16565b805190915015610b4d5780806020019051810190610c109190611779565b610b4d5760405162461bcd60e51b8152600401610396906117e1565b6060610c3b8484600085610c45565b90505b9392505050565b606082471015610c675760405162461bcd60e51b815260040161039690611834565b6001600160a01b0385163b610c8e5760405162461bcd60e51b815260040161039690611878565b600080866001600160a01b03168587604051610caa91906118aa565b60006040518083038185875af1925050503d8060008114610ce7576040519150601f19603f3d011682016040523d82523d6000602084013e610cec565b606091505b5091509150610cfc828286610d07565b979650505050505050565b60608315610d16575081610c3e565b825115610d265782518084602001fd5b8160405162461bcd60e51b8152600401610396919061136a565b60006001600160a01b038216610505565b610d5a81610d40565b811461053e57600080fd5b803561050581610d51565b80610d5a565b803561050581610d70565b60008083601f840112610d9657610d96600080fd5b5081356001600160401b03811115610db057610db0600080fd5b602083019150836001820283011115610dcb57610dcb600080fd5b9250929050565b600080600080600060808688031215610ded57610ded600080fd5b6000610df98888610d65565b9550506020610e0a88828901610d76565b94505060408601356001600160401b03811115610e2957610e29600080fd5b610e3588828901610d81565b93509350506060610e4888828901610d65565b9150509295509295909350565b634e487b7160e01b600052602160045260246000fd5b6003811061053e5761053e610e55565b8061094981610e6b565b600061050582610e7b565b610e9981610e85565b82525050565b602081016105058284610e90565b6001600160401b038116610e99565b602081016105058284610ead565b6001600160401b038116610d5a565b803561050581610eca565b60008060008060808587031215610efd57610efd600080fd5b6000610f098787610d65565b9450506020610f1a87828801610d65565b9350506040610f2b87828801610d65565b9250506060610f3c87828801610ed9565b91505092959194509250565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b0382111715610f8357610f83610f48565b6040525050565b6000610f9560405190565b90506109498282610f5e565b60006001600160401b03821115610fba57610fba610f48565b601f19601f83011660200192915050565b82818337506000910152565b6000610fea610fe584610fa1565b610f8a565b90508281526020810184848401111561100557611005600080fd5b611010848285610fcb565b509392505050565b600082601f83011261102c5761102c600080fd5b81356107eb848260208601610fd7565b60006020828403121561105157611051600080fd5b81356001600160401b0381111561106a5761106a600080fd5b6107eb84828501611018565b80610e99565b602081016105058284611076565b60006020828403121561109f5761109f600080fd5b60006107eb8484610d65565b600080604083850312156110c1576110c1600080fd5b60006110cd8585610d65565b92505060206110de85828601610d76565b9150509250929050565b610e9981610d40565b6020810161050582846110e8565b600061050582610d40565b610d5a816110ff565b80356105058161110a565b60008060006060848603121561113657611136600080fd5b60006111428686611113565b935050602061115386828701610d65565b925050604061116486828701610d76565b9150509250925092565b60006080828403121561118357611183600080fd5b50919050565b60008060008060c085870312156111a2576111a2600080fd5b60006111ae878761116e565b94505060806111bf87828801610ed9565b93505060a08501356001600160401b038111156111de576111de600080fd5b6111ea87828801610d81565b95989497509550505050565b60006020828403121561120b5761120b600080fd5b60006107eb8484610ed9565b602a81526000602082017f4d65737361676552656365697665723a2063616c6c6572206973206e6f74206d8152696573736167652062757360b01b602082015291505b5060400190565b6020808252810161050581611217565b8183526000602084019350611287838584610fcb565b601f19601f8401165b9093019392505050565b608081016112a882886110e8565b6112b56020830187611076565b81810360408301526112c8818587611271565b90506112d760608301846110e8565b9695505050505050565b6000610505826112ef565b90565b60ff1690565b610e99816112e1565b6020810161050582846112f5565b60005b8381101561132757818101518382015260200161130f565b83811115611336576000848401525b50505050565b6000611346825190565b80845260208401935061135d81856020860161130c565b601f19601f820116611290565b60208082528101610c3e818461133c565b805161050581610d70565b60006020828403121561139b5761139b600080fd5b60006107eb848461137b565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572910190815260005b5060200190565b60208082528101610505816113a7565b602f81526000602082017f4f776e6572576974686472617761626c653a207769746864726177206e61746981526e1d99481d1bdad95b8819985a5b1959608a1b6020820152915061125a565b60208082528101610505816113ec565b6000610505826110ff565b610e9981611448565b6040810161146a8285611453565b610c3e6020830184611076565b602d81526000602082017f4d65737361676553656e6465723a2063616c6c6572206973206e6f742070617981526c1b595b9d0818dbdb9d1c9858dd609a1b6020820152915061125a565b6020808252810161050581611477565b60a081016114df82886110e8565b6114ec60208301876110e8565b6114f96040830186610ead565b6115066060830185610ead565b8181036080830152610cfc818461133c565b606081016115268286611453565b61153360208301856110e8565b6107eb6040830184611076565b6002811061053e5761053e610e55565b8061094981611540565b600061050582611550565b60006105058260f81b90565b610e9961157d8261155a565b611565565b60006105058260601b90565b600061050582611582565b610e996115a582610d40565b61158e565b60006105058260c01b90565b610e996001600160401b0382166115aa565b60006115d5838584610fcb565b50500190565b60006115e7828b611571565b6001820191506115f7828a611599565b6014820191506116078289611599565b60148201915061161782886115b6565b6008820191506116278287611076565b60208201915061163782866115b6565b6008820191506116488284866115c8565b9a9950505050505050505050565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b6020820152915061125a565b6020808252810161050581611656565b602e81526000602082017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b6020820152915061125a565b60208082528101610505816116a9565b60006105056112ec6001600160401b03841681565b610e9981611704565b6060810161173082866110e8565b61173d6020830185611719565b818103604083015261174f818461133c565b95945050505050565b6040810161146a82856110e8565b801515610d5a565b805161050581611766565b60006020828403121561178e5761178e600080fd5b60006107eb848461176e565b602a81526000602082017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b6020820152915061125a565b602080825281016105058161179a565b602681526000602082017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b6020820152915061125a565b60208082528101610505816117f1565b601d81526000602082017f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815291506113d5565b6020808252810161050581611844565b6000611892825190565b6118a081856020860161130c565b9290920192915050565b6000610c3e828461188856fea264697066735822122039e902b739856f4996677f56dcae83ccac3e89e6202ace55cc6c6e69d534f00564736f6c63430008090033"; export class MessageSender__factory extends ContractFactory { constructor( ...args: [signer: Signer] | ConstructorParameters ) { if (args.length === 1) { super(_abi, _bytecode, args[0]); } else { super(...args); } } deploy( overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction( overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): MessageSender { return super.attach(address) as MessageSender; } connect(signer: Signer): MessageSender__factory { return super.connect(signer) as MessageSender__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): MessageSenderInterface { return new utils.Interface(_abi) as MessageSenderInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): MessageSender { return new Contract(address, _abi, signerOrProvider) as MessageSender; } }