@hyperlane-xyz/multicollateral 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/LICENSE.md +193 -0
  2. package/contracts/MultiCollateral.sol +349 -0
  3. package/contracts/MultiCollateralRoutingFee.sol +129 -0
  4. package/contracts/interfaces/IMultiCollateralFee.sol +13 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/typechain/MultiCollateral.d.ts +1195 -0
  10. package/dist/typechain/MultiCollateral.d.ts.map +1 -0
  11. package/dist/typechain/MultiCollateral.js +2 -0
  12. package/dist/typechain/MultiCollateral.js.map +1 -0
  13. package/dist/typechain/MultiCollateralRoutingFee.d.ts +179 -0
  14. package/dist/typechain/MultiCollateralRoutingFee.d.ts.map +1 -0
  15. package/dist/typechain/MultiCollateralRoutingFee.js +2 -0
  16. package/dist/typechain/MultiCollateralRoutingFee.js.map +1 -0
  17. package/dist/typechain/common.d.ts +22 -0
  18. package/dist/typechain/common.d.ts.map +1 -0
  19. package/dist/typechain/common.js +2 -0
  20. package/dist/typechain/common.js.map +1 -0
  21. package/dist/typechain/factories/MultiCollateralRoutingFee__factory.d.ts +216 -0
  22. package/dist/typechain/factories/MultiCollateralRoutingFee__factory.d.ts.map +1 -0
  23. package/dist/typechain/factories/MultiCollateralRoutingFee__factory.js +292 -0
  24. package/dist/typechain/factories/MultiCollateralRoutingFee__factory.js.map +1 -0
  25. package/dist/typechain/factories/MultiCollateral__factory.d.ts +1413 -0
  26. package/dist/typechain/factories/MultiCollateral__factory.d.ts.map +1 -0
  27. package/dist/typechain/factories/MultiCollateral__factory.js +1855 -0
  28. package/dist/typechain/factories/MultiCollateral__factory.js.map +1 -0
  29. package/dist/typechain/factories/index.d.ts +3 -0
  30. package/dist/typechain/factories/index.d.ts.map +1 -0
  31. package/dist/typechain/factories/index.js +6 -0
  32. package/dist/typechain/factories/index.js.map +1 -0
  33. package/dist/typechain/index.d.ts +6 -0
  34. package/dist/typechain/index.d.ts.map +1 -0
  35. package/dist/typechain/index.js +4 -0
  36. package/dist/typechain/index.js.map +1 -0
  37. package/package.json +51 -0
@@ -0,0 +1,1413 @@
1
+ import { Signer, ContractFactory, BigNumberish, Overrides } from "ethers";
2
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
+ import type { MultiCollateral, MultiCollateralInterface } from "../MultiCollateral.js";
4
+ type MultiCollateralConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
5
+ export declare class MultiCollateral__factory extends ContractFactory {
6
+ constructor(...args: MultiCollateralConstructorParams);
7
+ deploy(erc20: string, _scaleNumerator: BigNumberish, _scaleDenominator: BigNumberish, _mailbox: string, overrides?: Overrides & {
8
+ from?: string;
9
+ }): Promise<MultiCollateral>;
10
+ getDeployTransaction(erc20: string, _scaleNumerator: BigNumberish, _scaleDenominator: BigNumberish, _mailbox: string, overrides?: Overrides & {
11
+ from?: string;
12
+ }): TransactionRequest;
13
+ attach(address: string): MultiCollateral;
14
+ connect(signer: Signer): MultiCollateral__factory;
15
+ static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162005a1a38038062005a1a83398101604081905262000035916200027f565b83838383828282808080806000816001600160a01b03163b11620000a05760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f78000060448201526064015b60405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001119190620002ca565b63ffffffff1660a052620001253362000210565b505050506000831180156200013a5750600082115b620001885760405162461bcd60e51b815260206004820152601e60248201527f546f6b656e526f757465723a207363616c652063616e6e6f7420626520300000604482015260640162000097565b5060c09190915260e0526001600160a01b0384163b620001f55760405162461bcd60e51b815260206004820152602160248201527f4879704552433230436f6c6c61746572616c3a20696e76616c696420746f6b656044820152603760f91b606482015260840162000097565b5050506001600160a01b03166101005250620002f992505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200027a57600080fd5b919050565b600080600080608085870312156200029657600080fd5b620002a18562000262565b93506020850151925060408501519150620002bf6060860162000262565b905092959194509250565b600060208284031215620002dd57600080fd5b815163ffffffff81168114620002f257600080fd5b9392505050565b60805160a05160c05160e05161010051615611620004096000396000818161068701528181610a7e01528181610e52015281816115100152818161157b015281816115fb0152818161177b01528181611a4f01528181611aba01528181612d6801528181612f860152818161312601528181613323015281816135bc01528181613622015281816139f20152613e65015260008181610ab201528181612e5c0152613e120152600081816105af01528181612e3b0152613e33015260008181610970015281816113b50152818161146b015281816120970152818161215a015281816122160152613656015260008181610c5b01528181611330015281816122bd015261380b01526156116000f3fe60806040526004361061045d5760003560e01c80638da5cb5b1161023f578063c6e6f59211610139578063e9198bf9116100b6578063f2ed8c531161007a578063f2ed8c5314610dc3578063f2fde38b14610de3578063fa57f15714610e03578063fbaca44c14610e23578063fc0c546a14610e4357600080fd5b8063e9198bf914610d5b578063ef8b30f714610c09578063efae508a14610d7b578063f11f446114610d9b578063f14faf6f14610db057600080fd5b8063dd62ed3e116100fd578063dd62ed3e14610cb0578063de523cf314610cd0578063e62e284714610cee578063e74b981b14610d0e578063e83b530014610d2e57600080fd5b8063c6e6f59214610c09578063ce96cb7714610c29578063d5438eae14610c49578063d905777e14610c7d578063d9755d0f14610c9d57600080fd5b8063a9059cbb116101c7578063ba0876521161018b578063ba08765214610b94578063c0c53b8b14610bb4578063c382711514610bd4578063c63d75b6146106ff578063c69c8ce214610bf457600080fd5b8063a9059cbb14610af4578063b1bd643614610b14578063b3d7f6b914610b34578063b460af9414610b54578063b49c53a714610b7457600080fd5b806394bf804d1161020e57806394bf804d14610a3757806395d89b4114610a57578063996c6cc314610a6c5780639f0b765914610aa0578063a457c2d714610ad457600080fd5b80638da5cb5b146109a75780638f16bd4d146109c557806392c18454146109e557806393c4484714610a0557600080fd5b806343bc4b9a1161035b5780636e553f65116102d857806377e2dc7a1161029c57806377e2dc7a146108d85780637f5a7c7b1461090b57806381b4e8b41461092b5780638bd90b821461093e5780638d3638f41461095e57600080fd5b80636e553f651461082057806370a0823114610840578063715018a61461087657806371a15b381461088b578063775313a1146108ab57600080fd5b80634e38a81d1161031f5780634e38a81d1461079857806356d5d475146107b857806360ed438c146107cb578063647846a5146107f85780636a99c3331461080d57600080fd5b806343bc4b9a14610721578063440df4f414610741578063469048401461076357806349d462ef146107785780634cdad506146104a957600080fd5b80631c2eaac0116103e9578063313ce567116103ad578063313ce5671461065157806338d52e0f1461067857806339509351146106bf5780633dfd3873146106df578063402d267d146106ff57600080fd5b80631c2eaac01461059d57806323b872dd146105d15780632a53a6d5146105f15780632c2d8089146106115780632ead72f61461063157600080fd5b80630a28a477116104305780630a28a477146104f95780630c979919146105195780630e72cc061461053b57806318160ddd1461055b5780631ba831491461057057600080fd5b806301e1d1141461046257806306fdde031461048757806307a2d13a146104a9578063095ea7b3146104c9575b600080fd5b34801561046e57600080fd5b50610133545b6040519081526020015b60405180910390f35b34801561049357600080fd5b5061049c610e76565b60405161047e9190614aa6565b3480156104b557600080fd5b506104746104c4366004614ab9565b610f08565b3480156104d557600080fd5b506104e96104e4366004614ae7565b610f1b565b604051901515815260200161047e565b34801561050557600080fd5b50610474610514366004614ab9565b610f33565b34801561052557600080fd5b50610539610534366004614b13565b610f40565b005b34801561054757600080fd5b50610539610556366004614b13565b610f57565b34801561056757600080fd5b5060d154610474565b34801561057c57600080fd5b5061059061058b366004614b44565b610ffb565b60405161047e9190614b5f565b3480156105a957600080fd5b506104747f000000000000000000000000000000000000000000000000000000000000000081565b3480156105dd57600080fd5b506104e96105ec366004614bac565b61101c565b3480156105fd57600080fd5b5061053961060c366004614c32565b611042565b34801561061d57600080fd5b5061053961062c366004614c9e565b611191565b34801561063d57600080fd5b5061047461064c366004614b44565b6111bc565b34801561065d57600080fd5b506106666111db565b60405160ff909116815260200161047e565b34801561068457600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161047e565b3480156106cb57600080fd5b506104e96106da366004614ae7565b6111fb565b3480156106eb57600080fd5b506105396106fa366004614b13565b61121d565b34801561070b57600080fd5b5061047461071a366004614b13565b5060001990565b34801561072d57600080fd5b5061053961073c366004614b13565b6112b0565b34801561074d57600080fd5b506107566112c3565b60405161047e9190614cba565b34801561076f57600080fd5b506106a76112cf565b34801561078457600080fd5b50610539610793366004614c9e565b611302565b3480156107a457600080fd5b506105396107b3366004614cf8565b611314565b6105396107c6366004614d2f565b611326565b3480156107d757600080fd5b506107eb6107e6366004614db6565b61141b565b60405161047e9190614def565b34801561080457600080fd5b506106a76115d9565b61053961081b366004614e47565b61161d565b34801561082c57600080fd5b5061047461083b366004614e87565b6118f5565b34801561084c57600080fd5b5061047461085b366004614b13565b6001600160a01b0316600090815260cf602052604090205490565b34801561088257600080fd5b5061053961190f565b34801561089757600080fd5b506105396108a6366004614eac565b611923565b3480156108b757600080fd5b506104746108c6366004614b44565b60ca6020526000908152604090205481565b3480156108e457600080fd5b506104746108f3366004614b44565b63ffffffff16600090815260cb602052604090205490565b34801561091757600080fd5b506065546106a7906001600160a01b031681565b610474610939366004614eee565b611978565b34801561094a57600080fd5b506107eb610959366004614eee565b61199b565b34801561096a57600080fd5b506109927f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161047e565b3480156109b357600080fd5b506033546001600160a01b03166106a7565b3480156109d157600080fd5b506105396109e0366004614c32565b611b16565b3480156109f157600080fd5b50610539610a00366004614b13565b611c5e565b348015610a1157600080fd5b5061049c6040518060400160405280600681526020016531312e302e3160d01b81525081565b348015610a4357600080fd5b50610474610a52366004614e87565b611c72565b348015610a6357600080fd5b5061049c611c8c565b348015610a7857600080fd5b506106a77f000000000000000000000000000000000000000000000000000000000000000081565b348015610aac57600080fd5b506104747f000000000000000000000000000000000000000000000000000000000000000081565b348015610ae057600080fd5b506104e9610aef366004614ae7565b611c9b565b348015610b0057600080fd5b506104e9610b0f366004614ae7565b611d21565b348015610b2057600080fd5b50610539610b2f366004614f21565b611d2f565b348015610b4057600080fd5b50610474610b4f366004614ab9565b611da5565b348015610b6057600080fd5b50610474610b6f366004614f96565b611db2565b348015610b8057600080fd5b50610539610b8f366004614c9e565b611e26565b348015610ba057600080fd5b50610474610baf366004614f96565b611e38565b348015610bc057600080fd5b50610539610bcf366004614fcd565b611eac565b348015610be057600080fd5b50610539610bef366004614b44565b611fca565b348015610c0057600080fd5b50610590611fe9565b348015610c1557600080fd5b50610474610c24366004614ab9565b611ff5565b348015610c3557600080fd5b50610474610c44366004614b13565b612002565b348015610c5557600080fd5b506106a77f000000000000000000000000000000000000000000000000000000000000000081565b348015610c8957600080fd5b50610474610c98366004614b13565b612026565b610474610cab366004614db6565b612044565b348015610cbc57600080fd5b50610474610ccb366004614ffd565b612381565b348015610cdc57600080fd5b506066546001600160a01b03166106a7565b348015610cfa57600080fd5b506104e9610d09366004614c9e565b6123ac565b348015610d1a57600080fd5b50610539610d29366004614b13565b6123d2565b348015610d3a57600080fd5b50610d4e610d49366004614b44565b6124a7565b60405161047e919061501b565b348015610d6757600080fd5b50610539610d76366004614c32565b6124c9565b348015610d8757600080fd5b50610539610d96366004614b44565b612578565b348015610da757600080fd5b506106a7612589565b610539610dbe366004614ab9565b6125b1565b348015610dcf57600080fd5b50610474610dde366004614b44565b612608565b348015610def57600080fd5b50610539610dfe366004614b13565b612638565b348015610e0f57600080fd5b50610539610e1e366004614ffd565b6126ae565b348015610e2f57600080fd5b50610539610e3e366004614cf8565b6126cc565b348015610e4f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006106a7565b606060d28054610e8590615053565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb190615053565b8015610efe5780601f10610ed357610100808354040283529160200191610efe565b820191906000526020600020905b815481529060010190602001808311610ee157829003601f168201915b5050505050905090565b6000610f158260006126e8565b92915050565b600033610f29818585612724565b5060019392505050565b6000610f15826001612848565b610f48612874565b610f5360cd826128ce565b5050565b806000816001600160a01b03163b1180610f7857506001600160a01b038116155b610f9d5760405162461bcd60e51b8152600401610f949061508d565b60405180910390fd5b610fa5612874565b606680546001600160a01b0319166001600160a01b0384169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b63ffffffff8116600090815260cc60205260409020606090610f15906128e3565b60003361102a8582856128f0565b611035858585612964565b60019150505b9392505050565b61104a612874565b82811461108f5760405162461bcd60e51b815260206004820152601360248201527209a867440d8cadccee8d040dad2e6dac2e8c6d606b1b6044820152606401610f94565b60005b8381101561118a5761110a8383838181106110af576110af6150d4565b9050602002013561013460008888868181106110cd576110cd6150d4565b90506020020160208101906110e29190614b44565b63ffffffff1663ffffffff168152602001908152602001600020612b0f90919063ffffffff16565b1561118257828282818110611121576111216150d4565b9050602002013585858381811061113a5761113a6150d4565b905060200201602081019061114f9190614b44565b63ffffffff167f50f2ff5d2aecb68a5747b2c222d14e5f8d49a1e00bc6df7ef943af8e3643926560405160405180910390a35b600101611092565b5050505050565b611199612874565b6111a282612b1b565b5063ffffffff909116600090815260cb6020526040902055565b6000806111d3609763ffffffff80861690612b6616565b949350505050565b600080610101546111f69190600160a01b900460ff16615100565b905090565b600033610f2981858561120e8383612381565b6112189190615119565b612724565b806000816001600160a01b03163b118061123e57506001600160a01b038116155b61125a5760405162461bcd60e51b8152600401610f949061508d565b611262612874565b606580546001600160a01b0319166001600160a01b0384169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610fef565b6112b8612874565b610f5360cd82612b7f565b60606111f66097612b94565b60007f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d115b546001600160a01b0316919050565b61130a612874565b610f538282612c45565b61131c612874565b610f538282612ccf565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633036113aa576113608484612d90565b80611389575063ffffffff808516600090815261013460205260409020611389918590612da416565b6113a55760405162461bcd60e51b8152600401610f949061512c565b611409565b6113ed3363ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152610134602052604090209190612da416565b6114095760405162461bcd60e51b8152600401610f949061512c565b61141584848484612dbc565b50505050565b60408051600380825260808201909252606091816020015b60408051808201909152600080825260208201528152602001906001900390816114335790505090506000806114676115d9565b90507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168763ffffffff16146114b3576114b087876114aa88612e33565b84612e81565b91505b6040518060400160405280826001600160a01b0316815260200183815250836000815181106114e4576114e46150d4565b602002602001018190525060006114fd88888888612eb6565b91505060405180604001604052806115327f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0316815260200161154a8389615119565b81525084600181518110611560576115606150d4565b6020026020010181905250604051806040016040528061159d7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031681526020016000815250846002815181106115c3576115c36150d4565b6020026020010181905250505050949350505050565b6000806115e4612589565b6001600160a01b0316036115f85750600090565b507f000000000000000000000000000000000000000000000000000000000000000090565b61162860cd33613050565b61166b5760405162461bcd60e51b815260206004820152601460248201527326a1a91d1027b7363c902932b130b630b731b2b960611b6044820152606401610f94565b63ffffffff808416600090815260cc602052604090208491839190611694908290849061305016565b6116e05760405162461bcd60e51b815260206004820152601760248201527f4d43523a204e6f7420616c6c6f776564206272696467650000000000000000006044820152606401610f94565b60006116eb87613072565b6040516345ec85c160e11b815263ffffffff8916600482015260248101829052604481018890529091506000906001600160a01b03871690638bd90b8290606401600060405180830381865afa158015611749573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261177191908101906151d3565b9050600061179f827f000000000000000000000000000000000000000000000000000000000000000061309b565b9050878111156117bb576117bb6117b6898361529e565b613119565b60006117c7838261309b565b9050478111156118255760405162461bcd60e51b8152602060048201526024808201527f526562616c616e6365206e61746976652066656520657863656564732062616c604482015263616e636560e01b6064820152608401610f94565b60405163206d3a2d60e21b815263ffffffff8b16600482015260248101859052604481018a90526001600160a01b038916906381b4e8b490839060640160206040518083038185885af1158015611880573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118a591906152b1565b5060408051858152602081018b9052339163ffffffff8d16917fb1e1b117ddf429b1b8a359fe0e978f0ae191c0f70e0babfea7acaad1b0ee8a2d910160405180910390a350505050505050505050565b60008061190184611ff5565b905061103b3384868461314c565b611917612874565b61192160006131d4565b565b61192b612874565b8060005b818110156114155761196684848381811061194c5761194c6150d4565b90506020020160208101906119619190614b44565b613226565b611971600182615119565b905061192f565b60008061198485612b1b565b905061199285858584612044565b95945050505050565b606060006119a76115d9565b60408051600380825260808201909252919250816020015b60408051808201909152600080825260208201528152602001906001900390816119bf5790505091506040518060400160405280826001600160a01b03168152602001611a0e87878786612e81565b81525082600081518110611a2457611a246150d4565b60200260200101819052506000611a3c86868661325a565b9150506040518060400160405280611a717f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001611a898387615119565b81525083600181518110611a9f57611a9f6150d4565b60200260200101819052506040518060400160405280611adc7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03168152602001600081525083600281518110611b0257611b026150d4565b602002602001018190525050509392505050565b611b1e612874565b828114611b635760405162461bcd60e51b815260206004820152601360248201527209a867440d8cadccee8d040dad2e6dac2e8c6d606b1b6044820152606401610f94565b60005b8381101561118a57611bde838383818110611b8357611b836150d4565b905060200201356101346000888886818110611ba157611ba16150d4565b9050602002016020810190611bb69190614b44565b63ffffffff1663ffffffff1681526020019081526020016000206133fe90919063ffffffff16565b15611c5657828282818110611bf557611bf56150d4565b90506020020135858583818110611c0e57611c0e6150d4565b9050602002016020810190611c239190614b44565b63ffffffff167fd68ae398d7c894590fe1cc029a8141af08d20bf2d2b7888841d8c8d5dba2b3dd60405160405180910390a35b600101611b66565b611c66612874565b611c6f8161340a565b50565b600080611c7e84611da5565b905061103b3384838761314c565b606060d38054610e8590615053565b60003381611ca98286612381565b905083811015611d095760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610f94565b611d168286868403612724565b506001949350505050565b600033610f29818585612964565b611d37612874565b60005b81811015611da057611d8e838383818110611d5757611d576150d4565b611d6d9260206040909202019081019150614b44565b848484818110611d7f57611d7f6150d4565b90506040020160200135612c45565b611d99600182615119565b9050611d3a565b505050565b6000610f158260016126e8565b6000611dbd82612002565b841115611e0c5760405162461bcd60e51b815260206004820152601f60248201527f455243343632363a207769746864726177206d6f7265207468616e206d6178006044820152606401610f94565b6000611e1785610f33565b90506111d33385858885613478565b611e2e612874565b610f538282613530565b6000611e4382612026565b841115611e925760405162461bcd60e51b815260206004820152601d60248201527f455243343632363a2072656465656d206d6f7265207468616e206d61780000006044820152606401610f94565b6000611e9d85610f08565b90506111d33385858489613478565b600054610100900460ff1615808015611ecc5750600054600160ff909116105b80611ee65750303b158015611ee6575060005460ff166001145b611f495760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f94565b6000805460ff191660011790558015611f6c576000805461ff0019166101001790555b611f77848484613546565b611f7f613590565b8015611415576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b611fd2612874565b63ffffffff16600090815260cb6020526040812055565b60606111f660cd6128e3565b6000610f15826000612848565b6001600160a01b038116600090815260cf6020526040812054610f159060006126e8565b6001600160a01b038116600090815260cf6020526040812054610f15565b60006120508583612d90565b80612079575063ffffffff808616600090815261013460205260409020612079918490612da416565b6120955760405162461bcd60e51b8152600401610f949061512c565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168563ffffffff16036121165734156121165760405162461bcd60e51b815260206004820152601f60248201527f4d433a206c6f63616c207472616e73666572206e6f206d73672e76616c7565006044820152606401610f94565b600061212586868634876135e0565b915050600061213385612e33565b604080516020810189905280820183905281518082038301815260609091019091529091507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168863ffffffff160361227a57600061219686613735565b90506000816001600160a01b03163b116121f25760405162461bcd60e51b815260206004820152601e60248201527f4d433a2074617267657420726f75746572206e6f7420636f6e747261637400006044820152606401610f94565b6040516356d5d47560e01b81526001600160a01b038216906356d5d47590612242907f000000000000000000000000000000000000000000000000000000000000000090309087906004016152ca565b600060405180830381600087803b15801561225c57600080fd5b505af1158015612270573d6000803e3d6000fd5b5050505050612376565b868863ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec846040516122b391815260200190565b60405180910390a37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310b83dc0848a88856122ff8e6122fa6115d9565b61379e565b6065546040516001600160e01b031960e089901b16815261233095949392916001600160a01b0316906004016152ef565b60206040518083038185885af115801561234e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061237391906152b1565b93505b505050949350505050565b6001600160a01b03918216600090815260d06020908152604080832093909416825291909152205490565b63ffffffff808316600090815261013460205260408120909161103b91908490612da416565b6123da612874565b306001600160a01b038216036124325760405162461bcd60e51b815260206004820152601c60248201527f46656520726563697069656e742063616e6e6f742062652073656c66000000006044820152606401610f94565b807f721d42344eebce0a76684e8fddd9c81a84afda39f3019e5a078a53853f098d1180546001600160a01b0319166001600160a01b0392831617905560405190821681527fbf9a9534339a9d6b81696e05dcfb614b7dc518a31d48be3cfb757988381fb323906020015b60405180910390a150565b63ffffffff8116600090815261013460205260409020606090610f15906128e3565b6124d1612874565b82811461250a5760405162461bcd60e51b8152602060048201526007602482015266042d8cadccee8d60cb1b6044820152606401610f94565b8260005b818110156125705761255e86868381811061252b5761252b6150d4565b90506020020160208101906125409190614b44565b858584818110612552576125526150d4565b90506020020135613530565b612569600182615119565b905061250e565b505050505050565b612580612874565b611c6f81613226565b60007fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f6112f3565b6125ba81613119565b8061013360008282546125cd9190615119565b909155505060408051338152602081018390527f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e910161249c565b6000610f158260405180602001604052806000815250612627856137c3565b6065546001600160a01b03166137e5565b612640612874565b6001600160a01b0381166126a55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f94565b611c6f816131d4565b6126b6612874565b610f536001600160a01b03831682600019613893565b6126d4612874565b6126dd82612b1b565b50610f5382826139db565b600061103b6126f76101335490565b612702906001615119565b61270e6000600a61541d565b60d15461271b9190615119565b85919085613a1b565b6001600160a01b0383166127865760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f94565b6001600160a01b0382166127e75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f94565b6001600160a01b03838116600081815260d0602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061103b61285882600a61541d565b60d1546128659190615119565b6101335461271b906001615119565b6033546001600160a01b031633146119215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f94565b600061103b836001600160a01b038416613a6c565b6060600061103b83613abb565b60006128fc8484612381565b9050600019811461141557818110156129575760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610f94565b6114158484848403612724565b6001600160a01b0383166129c85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f94565b6001600160a01b038216612a2a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f94565b6001600160a01b038316600090815260cf602052604090205481811015612aa25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610f94565b6001600160a01b03808516600081815260cf602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612b029086815260200190565b60405180910390a3611415565b600061103b8383613a6c565b60008080612b33609763ffffffff80871690612b6616565b915091508115612b44579392505050565b612b4d84613b17565b60405162461bcd60e51b8152600401610f949190614aa6565b600080612b738484613b4e565b915091505b9250929050565b600061103b836001600160a01b038416613b90565b60606000612ba183613c83565b9050805167ffffffffffffffff811115612bbd57612bbd615163565b604051908082528060200260200182016040528015612be6578160200160208202803683370190505b50915060005b8151811015612c3e57818181518110612c0757612c076150d4565b6020026020010151838281518110612c2157612c216150d4565b63ffffffff90921660209283029190910190910152600101612bec565b5050919050565b612c59609763ffffffff80851690613d1416565b612c6283613b17565b90612c805760405162461bcd60e51b8152600401610f949190614aa6565b5063ffffffff8216600081815260ca6020908152604091829020849055815192835282018390527fc3de732a98b24a2b5c6f67e8a7fb057ffc14046b83968a2c73e4148d2fba978b9101610fef565b612cd98282613d20565b6000612ce56097612b94565b905060005b8151811015612d5a57600060cb6001016000848481518110612d0e57612d0e6150d4565b602002602001015163ffffffff1663ffffffff1681526020019081526020016000209050612d45848261305090919063ffffffff16565b15612d51575050505050565b50600101612cea565b50611da06001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016836000613d42565b600081612d9c846111bc565b149392505050565b6000818152600183016020526040812054151561103b565b6000612dc88383613dd1565b90506000612dd68484613dfa565b9050818663ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a683604051612e1191815260200190565b60405180910390a3612570612e2583613735565b612e2e83613e0a565b613e58565b6000610f15827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613a1b565b60408051602081018590528082018490528151808203830181526060909101909152600090611992908690612627888661379e565b600080612ec16112cf565b91506001600160a01b038216612ed957506000613047565b60405163183b50e360e21b815263ffffffff871660048201526024810186905260448101859052606481018490526000906001600160a01b038416906360ed438c90608401600060405180830381865afa158015612f3b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f6391908101906151d3565b90508051600003612f78575060009050613047565b80516001148015612fd857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681600081518110612fc157612fc16150d4565b6020026020010151600001516001600160a01b0316145b6130245760405162461bcd60e51b815260206004820152601860248201527f4d433a20666565206d757374206d6174636820746f6b656e00000000000000006044820152606401610f94565b80600081518110613037576130376150d4565b6020026020010151602001519150505b94509492505050565b6001600160a01b0381166000908152600183016020526040812054151561103b565b63ffffffff8116600090815260cb60205260409020548061309657610f1582612b1b565b919050565b6000805b835181101561311257826001600160a01b03168482815181106130c4576130c46150d4565b6020026020010151600001516001600160a01b03160361310a578381815181106130f0576130f06150d4565b602002602001015160200151826131079190615119565b91505b60010161309f565b5092915050565b611c6f6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001682613e8c565b61315582613119565b8161013360008282546131689190615119565b9091555061317890508382613ea1565b826001600160a01b0316846001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d784846040516131c6929190918252602082015260400190565b60405180910390a350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63ffffffff8116600090815260cb6020908152604080832083905560cc909152902061325190613f62565b611c6f81613fba565b6000806132656112cf565b91506001600160a01b03821661327d575060006133f6565b6040516345ec85c160e11b815263ffffffff8616600482015260248101859052604481018490526000906001600160a01b03841690638bd90b8290606401600060405180830381865afa1580156132d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261330091908101906151d3565b905080516000036133155750600090506133f6565b8051600114801561337557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168160008151811061335e5761335e6150d4565b6020026020010151600001516001600160a01b0316145b6133d35760405162461bcd60e51b815260206004820152602960248201527f46756e6769626c65546f6b656e526f757465723a20666565206d757374206d616044820152683a31b4103a37b5b2b760b91b6064820152608401610f94565b806000815181106133e6576133e66150d4565b6020026020010151602001519150505b935093915050565b600061103b8383613b90565b807fe797cab0ddd50f45c2a522220a721ebb6d0f53785d8595512b6122e7164a201f80546001600160a01b0319166001600160a01b0392831617905560405190821681527fd6e2f80c31feccfd7c896d69ad9963871021131ff84f2a9828b40bad60dd8cb49060200161249c565b826001600160a01b0316856001600160a01b03161461349c5761349c8386836128f0565b6134a68382613ff5565b8161013360008282546134b9919061529e565b909155506134c990508483613e58565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051613521929190918252602082015260400190565b60405180910390a45050505050565b610f53609763ffffffff80851690849061412916565b600054610100900460ff1661356d5760405162461bcd60e51b8152600401610f949061542c565b613575614134565b61357e8361121d565b61358782610f57565b611da0816131d4565b600054610100900460ff166135b75760405162461bcd60e51b8152600401610f949061542c565b6119217f0000000000000000000000000000000000000000000000000000000000000000614163565b6000806000806135f289898988612eb6565b909250905060009350600084613608838a615119565b6136129190615119565b9050600061361e612589565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0382161580159061368557507f000000000000000000000000000000000000000000000000000000000000000063ffffffff168c63ffffffff1614155b156136ec5760006136988d8d8d85612e81565b905080156136ea576001600160a01b03821630146136c1576136ba8185615119565b93506136d6565b6136d66001600160a01b038316333084614193565b6136ea6001600160a01b0383168483613d42565b505b6136f583613119565b83156137055761370585856141cb565b6001600160a01b0381166137225761371d838a61529e565b613724565b885b955050505050509550959350505050565b60006001600160a01b0382111561379a5760405162461bcd60e51b8152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f766572604482015263666c6f7760e01b6064820152608401610f94565b5090565b63ffffffff8216600090815260ca60205260408120546060916111d3908233866141d5565b63ffffffff8116600090815260ca6020526040902054606090610f1590614232565b6000806137f186612b1b565b6040516381d2ea9560e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061384890899085908a908a908a906004016152ef565b602060405180830381865afa158015613865573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061388991906152b1565b9695505050505050565b80158061390d5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156138e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061390b91906152b1565b155b6139785760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610f94565b6040516001600160a01b038316602482015260448101829052611da090849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614250565b6139e58282614325565b610f536001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001682600019613d42565b600080613a29868686614347565b90506001836002811115613a3f57613a3f615477565b148015613a5c575060008480613a5757613a5761548d565b868809115b1561199257613889600182615119565b6000818152600183016020526040812054613ab357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f15565b506000610f15565b606081600001805480602002602001604051908101604052809291908181526020018280548015613b0b57602002820191906000526020600020905b815481526020019060010190808311613af7575b50505050509050919050565b6060613b288263ffffffff16614431565b604051602001613b3891906154a3565b6040516020818303038152906040529050919050565b6000818152600283016020526040812054819080613b7d57613b7085856144c4565b925060009150612b789050565b600192509050612b78565b509250929050565b60008181526001830160205260408120548015613c79576000613bb460018361529e565b8554909150600090613bc89060019061529e565b9050818114613c2d576000866000018281548110613be857613be86150d4565b9060005260206000200154905080876000018481548110613c0b57613c0b6150d4565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613c3e57613c3e6154e8565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610f15565b6000915050610f15565b60606000613c90836144d0565b90508067ffffffffffffffff811115613cab57613cab615163565b604051908082528060200260200182016040528015613cd4578160200160208202803683370190505b50915060005b81811015612c3e57613cec84826144db565b60001c838281518110613d0157613d016150d4565b6020908102919091010152600101613cda565b600061103b83836144c4565b63ffffffff808316600090815260cc60205260409020611da0918390612b7f16565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052613d9384826144e7565b611415576040516001600160a01b038416602482015260006044820152613dc790859063095ea7b360e01b906064016139a4565b6114158482614250565b6000828183613de1826020615100565b60ff1692613df1939291906154fe565b61103b91615528565b600082602083613de18280615100565b6000610f15827f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084613a1b565b610f536001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361458a565b610f536001600160a01b038316333084614193565b6001600160a01b038216613ef75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f94565b8060d16000828254613f099190615119565b90915550506001600160a01b038216600081815260cf60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b805460005b81811015613fb257826001016000846000018381548110613f8a57613f8a6150d4565b9060005260206000200154815260200190815260200160002060009055806001019050613f67565b505060009055565b613fce609763ffffffff8084169061459e16565b613fd782613b17565b90610f535760405162461bcd60e51b8152600401610f949190614aa6565b6001600160a01b0382166140555760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610f94565b6001600160a01b038216600090815260cf6020526040902054818110156140c95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610f94565b6001600160a01b038316600081815260cf60209081526040808320868603905560d180548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6114158383836145aa565b600054610100900460ff1661415b5760405162461bcd60e51b8152600401610f949061542c565b6119216145c7565b600054610100900460ff1661418a5760405162461bcd60e51b8152600401610f949061542c565b611c6f816145f7565b6040516001600160a01b03808516602483015283166044820152606481018290526114159085906323b872dd60e01b906084016139a4565b610f538282613e58565b604051600160f01b60208201526022810185905260428101849052606083811b6bffffffffffffffffffffffff19908116606284015283821b16607683015290608a015b6040516020818303038152906040529050949350505050565b6060610f15600083336040518060200160405280600081525061467d565b60006142a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166146999092919063ffffffff16565b90508051600014806142c65750808060200190518101906142c69190615546565b611da05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f94565b63ffffffff808316600090815260cc60205260409020611da09183906128ce16565b6000808060001985870985870292508281108382030391505080600003614381578382816143775761437761548d565b049250505061103b565b8084116143c85760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610f94565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6060600061443e836146a8565b600101905060008167ffffffffffffffff81111561445e5761445e615163565b6040519080825280601f01601f191660200182016040528015614488576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461449257509392505050565b600061103b8383612da4565b6000610f1582614780565b600061103b838361478a565b6000806000846001600160a01b0316846040516145049190615568565b6000604051808303816000865af19150503d8060008114614541576040519150601f19603f3d011682016040523d82523d6000602084013e614546565b606091505b50915091508180156145705750805115806145705750808060200190518101906145709190615546565b80156119925750505050506001600160a01b03163b151590565b611da06001600160a01b03841683836147b4565b600061103b83836147e4565b600082815260028401602052604081208290556111d38484612b0f565b600054610100900460ff166145ee5760405162461bcd60e51b8152600401610f949061542c565b611921336131d4565b600054610100900460ff1661461e5760405162461bcd60e51b8152600401610f949061542c565b60008061462a83614801565b915091508161463a57601261463c565b805b61010180546001600160a01b039095166001600160a01b031960ff93909316600160a01b02929092166001600160a81b031990951694909417179092555050565b6060600185858585604051602001614219959493929190615584565b60606111d384846000856148dd565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106146e75772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614713576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061473157662386f26fc10000830492506010015b6305f5e1008310614749576305f5e100830492506008015b612710831061475d57612710830492506004015b6064831061476f576064830492506002015b600a8310610f155760010192915050565b6000610f15825490565b60008260000182815481106147a1576147a16150d4565b9060005260206000200154905092915050565b6040516001600160a01b038316602482015260448101829052611da090849063a9059cbb60e01b906064016139a4565b6000818152600283016020526040812081905561103b83836133fe565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b0387169161484891615568565b600060405180830381855afa9150503d8060008114614883576040519150601f19603f3d011682016040523d82523d6000602084013e614888565b606091505b509150915081801561489c57506020815110155b156148d0576000818060200190518101906148b791906152b1565b905060ff81116148ce576001969095509350505050565b505b5060009485945092505050565b60608247101561493e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f94565b600080866001600160a01b0316858760405161495a9190615568565b60006040518083038185875af1925050503d8060008114614997576040519150601f19603f3d011682016040523d82523d6000602084013e61499c565b606091505b50915091506149ad878383876149b8565b979650505050505050565b60608315614a27578251600003614a20576001600160a01b0385163b614a205760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f94565b50816111d3565b6111d38383815115614a3c5781518083602001fd5b8060405162461bcd60e51b8152600401610f949190614aa6565b60005b83811015614a71578181015183820152602001614a59565b50506000910152565b60008151808452614a92816020860160208601614a56565b601f01601f19169290920160200192915050565b60208152600061103b6020830184614a7a565b600060208284031215614acb57600080fd5b5035919050565b6001600160a01b0381168114611c6f57600080fd5b60008060408385031215614afa57600080fd5b8235614b0581614ad2565b946020939093013593505050565b600060208284031215614b2557600080fd5b813561103b81614ad2565b803563ffffffff8116811461309657600080fd5b600060208284031215614b5657600080fd5b61103b82614b30565b6020808252825182820181905260009190848201906040850190845b81811015614ba05783516001600160a01b031683529284019291840191600101614b7b565b50909695505050505050565b600080600060608486031215614bc157600080fd5b8335614bcc81614ad2565b92506020840135614bdc81614ad2565b929592945050506040919091013590565b60008083601f840112614bff57600080fd5b50813567ffffffffffffffff811115614c1757600080fd5b6020830191508360208260051b8501011115612b7857600080fd5b60008060008060408587031215614c4857600080fd5b843567ffffffffffffffff80821115614c6057600080fd5b614c6c88838901614bed565b90965094506020870135915080821115614c8557600080fd5b50614c9287828801614bed565b95989497509550505050565b60008060408385031215614cb157600080fd5b614b0583614b30565b6020808252825182820181905260009190848201906040850190845b81811015614ba057835163ffffffff1683529284019291840191600101614cd6565b60008060408385031215614d0b57600080fd5b614d1483614b30565b91506020830135614d2481614ad2565b809150509250929050565b60008060008060608587031215614d4557600080fd5b614d4e85614b30565b935060208501359250604085013567ffffffffffffffff80821115614d7257600080fd5b818701915087601f830112614d8657600080fd5b813581811115614d9557600080fd5b886020828501011115614da757600080fd5b95989497505060200194505050565b60008060008060808587031215614dcc57600080fd5b614dd585614b30565b966020860135965060408601359560600135945092505050565b602080825282518282018190526000919060409081850190868401855b82811015614e3a57815180516001600160a01b03168552860151868501529284019290850190600101614e0c565b5091979650505050505050565b600080600060608486031215614e5c57600080fd5b614e6584614b30565b9250602084013591506040840135614e7c81614ad2565b809150509250925092565b60008060408385031215614e9a57600080fd5b823591506020830135614d2481614ad2565b60008060208385031215614ebf57600080fd5b823567ffffffffffffffff811115614ed657600080fd5b614ee285828601614bed565b90969095509350505050565b600080600060608486031215614f0357600080fd5b614f0c84614b30565b95602085013595506040909401359392505050565b60008060208385031215614f3457600080fd5b823567ffffffffffffffff80821115614f4c57600080fd5b818501915085601f830112614f6057600080fd5b813581811115614f6f57600080fd5b8660208260061b8501011115614f8457600080fd5b60209290920196919550909350505050565b600080600060608486031215614fab57600080fd5b833592506020840135614fbd81614ad2565b91506040840135614e7c81614ad2565b600080600060608486031215614fe257600080fd5b8335614fed81614ad2565b92506020840135614fbd81614ad2565b6000806040838503121561501057600080fd5b8235614d1481614ad2565b6020808252825182820181905260009190848201906040850190845b81811015614ba057835183529284019291840191600101615037565b600181811c9082168061506757607f821691505b60208210810361508757634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526027908201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060408201526673657474696e6760c81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610f1557610f156150ea565b80820180821115610f1557610f156150ea565b60208082526017908201527f4d433a20756e617574686f72697a656420726f75746572000000000000000000604082015260600190565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561519c5761519c615163565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156151cb576151cb615163565b604052919050565b600060208083850312156151e657600080fd5b825167ffffffffffffffff808211156151fe57600080fd5b818501915085601f83011261521257600080fd5b81518181111561522457615224615163565b615232848260051b016151a2565b818152848101925060069190911b83018401908782111561525257600080fd5b928401925b818410156149ad57604084890312156152705760008081fd5b615278615179565b845161528381614ad2565b81528486015186820152835260409093019291840191615257565b81810381811115610f1557610f156150ea565b6000602082840312156152c357600080fd5b5051919050565b63ffffffff841681528260208201526060604082015260006119926060830184614a7a565b63ffffffff8616815284602082015260a06040820152600061531460a0830186614a7a565b82810360608401526153268186614a7a565b91505060018060a01b03831660808301529695505050505050565b600181815b80851115613b88578160001904821115615362576153626150ea565b8085161561536f57918102915b93841c9390800290615346565b60008261538b57506001610f15565b8161539857506000610f15565b81600181146153ae57600281146153b8576153d4565b6001915050610f15565b60ff8411156153c9576153c96150ea565b50506001821b610f15565b5060208310610133831016604e8410600b84101617156153f7575081810a610f15565b6154018383615341565b8060001904821115615415576154156150ea565b029392505050565b600061103b60ff84168361537c565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516154db81601f850160208701614a56565b91909101601f0192915050565b634e487b7160e01b600052603160045260246000fd5b6000808585111561550e57600080fd5b8386111561551b57600080fd5b5050820193919092039150565b80356020831015610f1557600019602084900360031b1b1692915050565b60006020828403121561555857600080fd5b8151801515811461103b57600080fd5b6000825161557a818460208701614a56565b9190910192915050565b61ffff60f01b8660f01b1681528460028201528360228201526bffffffffffffffffffffffff198360601b166042820152600082516155ca816056850160208701614a56565b91909101605601969550505050505056fea26469706673582212202200cb25dc480bec8bde649865e03f74fc3f23cd22babde20c602f44e8a0f26764736f6c63430008160033";
16
+ static readonly abi: readonly [{
17
+ readonly type: "constructor";
18
+ readonly inputs: readonly [{
19
+ readonly name: "erc20";
20
+ readonly type: "address";
21
+ readonly internalType: "address";
22
+ }, {
23
+ readonly name: "_scaleNumerator";
24
+ readonly type: "uint256";
25
+ readonly internalType: "uint256";
26
+ }, {
27
+ readonly name: "_scaleDenominator";
28
+ readonly type: "uint256";
29
+ readonly internalType: "uint256";
30
+ }, {
31
+ readonly name: "_mailbox";
32
+ readonly type: "address";
33
+ readonly internalType: "address";
34
+ }];
35
+ readonly stateMutability: "nonpayable";
36
+ }, {
37
+ readonly type: "function";
38
+ readonly name: "PACKAGE_VERSION";
39
+ readonly inputs: readonly [];
40
+ readonly outputs: readonly [{
41
+ readonly name: "";
42
+ readonly type: "string";
43
+ readonly internalType: "string";
44
+ }];
45
+ readonly stateMutability: "view";
46
+ }, {
47
+ readonly type: "function";
48
+ readonly name: "addBridge";
49
+ readonly inputs: readonly [{
50
+ readonly name: "domain";
51
+ readonly type: "uint32";
52
+ readonly internalType: "uint32";
53
+ }, {
54
+ readonly name: "bridge";
55
+ readonly type: "address";
56
+ readonly internalType: "contract ITokenBridge";
57
+ }];
58
+ readonly outputs: readonly [];
59
+ readonly stateMutability: "nonpayable";
60
+ }, {
61
+ readonly type: "function";
62
+ readonly name: "addRebalancer";
63
+ readonly inputs: readonly [{
64
+ readonly name: "rebalancer";
65
+ readonly type: "address";
66
+ readonly internalType: "address";
67
+ }];
68
+ readonly outputs: readonly [];
69
+ readonly stateMutability: "nonpayable";
70
+ }, {
71
+ readonly type: "function";
72
+ readonly name: "allowance";
73
+ readonly inputs: readonly [{
74
+ readonly name: "owner";
75
+ readonly type: "address";
76
+ readonly internalType: "address";
77
+ }, {
78
+ readonly name: "spender";
79
+ readonly type: "address";
80
+ readonly internalType: "address";
81
+ }];
82
+ readonly outputs: readonly [{
83
+ readonly name: "";
84
+ readonly type: "uint256";
85
+ readonly internalType: "uint256";
86
+ }];
87
+ readonly stateMutability: "view";
88
+ }, {
89
+ readonly type: "function";
90
+ readonly name: "allowedBridges";
91
+ readonly inputs: readonly [{
92
+ readonly name: "domain";
93
+ readonly type: "uint32";
94
+ readonly internalType: "uint32";
95
+ }];
96
+ readonly outputs: readonly [{
97
+ readonly name: "";
98
+ readonly type: "address[]";
99
+ readonly internalType: "address[]";
100
+ }];
101
+ readonly stateMutability: "view";
102
+ }, {
103
+ readonly type: "function";
104
+ readonly name: "allowedRebalancers";
105
+ readonly inputs: readonly [];
106
+ readonly outputs: readonly [{
107
+ readonly name: "";
108
+ readonly type: "address[]";
109
+ readonly internalType: "address[]";
110
+ }];
111
+ readonly stateMutability: "view";
112
+ }, {
113
+ readonly type: "function";
114
+ readonly name: "allowedRecipient";
115
+ readonly inputs: readonly [{
116
+ readonly name: "domain";
117
+ readonly type: "uint32";
118
+ readonly internalType: "uint32";
119
+ }];
120
+ readonly outputs: readonly [{
121
+ readonly name: "";
122
+ readonly type: "bytes32";
123
+ readonly internalType: "bytes32";
124
+ }];
125
+ readonly stateMutability: "view";
126
+ }, {
127
+ readonly type: "function";
128
+ readonly name: "approve";
129
+ readonly inputs: readonly [{
130
+ readonly name: "spender";
131
+ readonly type: "address";
132
+ readonly internalType: "address";
133
+ }, {
134
+ readonly name: "amount";
135
+ readonly type: "uint256";
136
+ readonly internalType: "uint256";
137
+ }];
138
+ readonly outputs: readonly [{
139
+ readonly name: "";
140
+ readonly type: "bool";
141
+ readonly internalType: "bool";
142
+ }];
143
+ readonly stateMutability: "nonpayable";
144
+ }, {
145
+ readonly type: "function";
146
+ readonly name: "approveTokenForBridge";
147
+ readonly inputs: readonly [{
148
+ readonly name: "token";
149
+ readonly type: "address";
150
+ readonly internalType: "contract IERC20";
151
+ }, {
152
+ readonly name: "bridge";
153
+ readonly type: "address";
154
+ readonly internalType: "contract ITokenBridge";
155
+ }];
156
+ readonly outputs: readonly [];
157
+ readonly stateMutability: "nonpayable";
158
+ }, {
159
+ readonly type: "function";
160
+ readonly name: "asset";
161
+ readonly inputs: readonly [];
162
+ readonly outputs: readonly [{
163
+ readonly name: "";
164
+ readonly type: "address";
165
+ readonly internalType: "address";
166
+ }];
167
+ readonly stateMutability: "view";
168
+ }, {
169
+ readonly type: "function";
170
+ readonly name: "balanceOf";
171
+ readonly inputs: readonly [{
172
+ readonly name: "account";
173
+ readonly type: "address";
174
+ readonly internalType: "address";
175
+ }];
176
+ readonly outputs: readonly [{
177
+ readonly name: "";
178
+ readonly type: "uint256";
179
+ readonly internalType: "uint256";
180
+ }];
181
+ readonly stateMutability: "view";
182
+ }, {
183
+ readonly type: "function";
184
+ readonly name: "convertToAssets";
185
+ readonly inputs: readonly [{
186
+ readonly name: "shares";
187
+ readonly type: "uint256";
188
+ readonly internalType: "uint256";
189
+ }];
190
+ readonly outputs: readonly [{
191
+ readonly name: "";
192
+ readonly type: "uint256";
193
+ readonly internalType: "uint256";
194
+ }];
195
+ readonly stateMutability: "view";
196
+ }, {
197
+ readonly type: "function";
198
+ readonly name: "convertToShares";
199
+ readonly inputs: readonly [{
200
+ readonly name: "assets";
201
+ readonly type: "uint256";
202
+ readonly internalType: "uint256";
203
+ }];
204
+ readonly outputs: readonly [{
205
+ readonly name: "";
206
+ readonly type: "uint256";
207
+ readonly internalType: "uint256";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ }, {
211
+ readonly type: "function";
212
+ readonly name: "decimals";
213
+ readonly inputs: readonly [];
214
+ readonly outputs: readonly [{
215
+ readonly name: "";
216
+ readonly type: "uint8";
217
+ readonly internalType: "uint8";
218
+ }];
219
+ readonly stateMutability: "view";
220
+ }, {
221
+ readonly type: "function";
222
+ readonly name: "decreaseAllowance";
223
+ readonly inputs: readonly [{
224
+ readonly name: "spender";
225
+ readonly type: "address";
226
+ readonly internalType: "address";
227
+ }, {
228
+ readonly name: "subtractedValue";
229
+ readonly type: "uint256";
230
+ readonly internalType: "uint256";
231
+ }];
232
+ readonly outputs: readonly [{
233
+ readonly name: "";
234
+ readonly type: "bool";
235
+ readonly internalType: "bool";
236
+ }];
237
+ readonly stateMutability: "nonpayable";
238
+ }, {
239
+ readonly type: "function";
240
+ readonly name: "deposit";
241
+ readonly inputs: readonly [{
242
+ readonly name: "assets";
243
+ readonly type: "uint256";
244
+ readonly internalType: "uint256";
245
+ }, {
246
+ readonly name: "receiver";
247
+ readonly type: "address";
248
+ readonly internalType: "address";
249
+ }];
250
+ readonly outputs: readonly [{
251
+ readonly name: "";
252
+ readonly type: "uint256";
253
+ readonly internalType: "uint256";
254
+ }];
255
+ readonly stateMutability: "nonpayable";
256
+ }, {
257
+ readonly type: "function";
258
+ readonly name: "destinationGas";
259
+ readonly inputs: readonly [{
260
+ readonly name: "destinationDomain";
261
+ readonly type: "uint32";
262
+ readonly internalType: "uint32";
263
+ }];
264
+ readonly outputs: readonly [{
265
+ readonly name: "gasLimit";
266
+ readonly type: "uint256";
267
+ readonly internalType: "uint256";
268
+ }];
269
+ readonly stateMutability: "view";
270
+ }, {
271
+ readonly type: "function";
272
+ readonly name: "domains";
273
+ readonly inputs: readonly [];
274
+ readonly outputs: readonly [{
275
+ readonly name: "";
276
+ readonly type: "uint32[]";
277
+ readonly internalType: "uint32[]";
278
+ }];
279
+ readonly stateMutability: "view";
280
+ }, {
281
+ readonly type: "function";
282
+ readonly name: "donate";
283
+ readonly inputs: readonly [{
284
+ readonly name: "amount";
285
+ readonly type: "uint256";
286
+ readonly internalType: "uint256";
287
+ }];
288
+ readonly outputs: readonly [];
289
+ readonly stateMutability: "payable";
290
+ }, {
291
+ readonly type: "function";
292
+ readonly name: "enrollRemoteRouter";
293
+ readonly inputs: readonly [{
294
+ readonly name: "_domain";
295
+ readonly type: "uint32";
296
+ readonly internalType: "uint32";
297
+ }, {
298
+ readonly name: "_router";
299
+ readonly type: "bytes32";
300
+ readonly internalType: "bytes32";
301
+ }];
302
+ readonly outputs: readonly [];
303
+ readonly stateMutability: "nonpayable";
304
+ }, {
305
+ readonly type: "function";
306
+ readonly name: "enrollRemoteRouters";
307
+ readonly inputs: readonly [{
308
+ readonly name: "_domains";
309
+ readonly type: "uint32[]";
310
+ readonly internalType: "uint32[]";
311
+ }, {
312
+ readonly name: "_addresses";
313
+ readonly type: "bytes32[]";
314
+ readonly internalType: "bytes32[]";
315
+ }];
316
+ readonly outputs: readonly [];
317
+ readonly stateMutability: "nonpayable";
318
+ }, {
319
+ readonly type: "function";
320
+ readonly name: "enrollRouters";
321
+ readonly inputs: readonly [{
322
+ readonly name: "_domains";
323
+ readonly type: "uint32[]";
324
+ readonly internalType: "uint32[]";
325
+ }, {
326
+ readonly name: "_routers";
327
+ readonly type: "bytes32[]";
328
+ readonly internalType: "bytes32[]";
329
+ }];
330
+ readonly outputs: readonly [];
331
+ readonly stateMutability: "nonpayable";
332
+ }, {
333
+ readonly type: "function";
334
+ readonly name: "enrolledRouters";
335
+ readonly inputs: readonly [{
336
+ readonly name: "_domain";
337
+ readonly type: "uint32";
338
+ readonly internalType: "uint32";
339
+ }, {
340
+ readonly name: "_router";
341
+ readonly type: "bytes32";
342
+ readonly internalType: "bytes32";
343
+ }];
344
+ readonly outputs: readonly [{
345
+ readonly name: "";
346
+ readonly type: "bool";
347
+ readonly internalType: "bool";
348
+ }];
349
+ readonly stateMutability: "view";
350
+ }, {
351
+ readonly type: "function";
352
+ readonly name: "feeHook";
353
+ readonly inputs: readonly [];
354
+ readonly outputs: readonly [{
355
+ readonly name: "";
356
+ readonly type: "address";
357
+ readonly internalType: "address";
358
+ }];
359
+ readonly stateMutability: "view";
360
+ }, {
361
+ readonly type: "function";
362
+ readonly name: "feeRecipient";
363
+ readonly inputs: readonly [];
364
+ readonly outputs: readonly [{
365
+ readonly name: "";
366
+ readonly type: "address";
367
+ readonly internalType: "address";
368
+ }];
369
+ readonly stateMutability: "view";
370
+ }, {
371
+ readonly type: "function";
372
+ readonly name: "feeToken";
373
+ readonly inputs: readonly [];
374
+ readonly outputs: readonly [{
375
+ readonly name: "";
376
+ readonly type: "address";
377
+ readonly internalType: "address";
378
+ }];
379
+ readonly stateMutability: "view";
380
+ }, {
381
+ readonly type: "function";
382
+ readonly name: "getEnrolledRouters";
383
+ readonly inputs: readonly [{
384
+ readonly name: "_domain";
385
+ readonly type: "uint32";
386
+ readonly internalType: "uint32";
387
+ }];
388
+ readonly outputs: readonly [{
389
+ readonly name: "";
390
+ readonly type: "bytes32[]";
391
+ readonly internalType: "bytes32[]";
392
+ }];
393
+ readonly stateMutability: "view";
394
+ }, {
395
+ readonly type: "function";
396
+ readonly name: "handle";
397
+ readonly inputs: readonly [{
398
+ readonly name: "_origin";
399
+ readonly type: "uint32";
400
+ readonly internalType: "uint32";
401
+ }, {
402
+ readonly name: "_sender";
403
+ readonly type: "bytes32";
404
+ readonly internalType: "bytes32";
405
+ }, {
406
+ readonly name: "_message";
407
+ readonly type: "bytes";
408
+ readonly internalType: "bytes";
409
+ }];
410
+ readonly outputs: readonly [];
411
+ readonly stateMutability: "payable";
412
+ }, {
413
+ readonly type: "function";
414
+ readonly name: "hook";
415
+ readonly inputs: readonly [];
416
+ readonly outputs: readonly [{
417
+ readonly name: "";
418
+ readonly type: "address";
419
+ readonly internalType: "contract IPostDispatchHook";
420
+ }];
421
+ readonly stateMutability: "view";
422
+ }, {
423
+ readonly type: "function";
424
+ readonly name: "increaseAllowance";
425
+ readonly inputs: readonly [{
426
+ readonly name: "spender";
427
+ readonly type: "address";
428
+ readonly internalType: "address";
429
+ }, {
430
+ readonly name: "addedValue";
431
+ readonly type: "uint256";
432
+ readonly internalType: "uint256";
433
+ }];
434
+ readonly outputs: readonly [{
435
+ readonly name: "";
436
+ readonly type: "bool";
437
+ readonly internalType: "bool";
438
+ }];
439
+ readonly stateMutability: "nonpayable";
440
+ }, {
441
+ readonly type: "function";
442
+ readonly name: "initialize";
443
+ readonly inputs: readonly [{
444
+ readonly name: "_hook";
445
+ readonly type: "address";
446
+ readonly internalType: "address";
447
+ }, {
448
+ readonly name: "_interchainSecurityModule";
449
+ readonly type: "address";
450
+ readonly internalType: "address";
451
+ }, {
452
+ readonly name: "_owner";
453
+ readonly type: "address";
454
+ readonly internalType: "address";
455
+ }];
456
+ readonly outputs: readonly [];
457
+ readonly stateMutability: "nonpayable";
458
+ }, {
459
+ readonly type: "function";
460
+ readonly name: "interchainSecurityModule";
461
+ readonly inputs: readonly [];
462
+ readonly outputs: readonly [{
463
+ readonly name: "";
464
+ readonly type: "address";
465
+ readonly internalType: "contract IInterchainSecurityModule";
466
+ }];
467
+ readonly stateMutability: "view";
468
+ }, {
469
+ readonly type: "function";
470
+ readonly name: "localDomain";
471
+ readonly inputs: readonly [];
472
+ readonly outputs: readonly [{
473
+ readonly name: "";
474
+ readonly type: "uint32";
475
+ readonly internalType: "uint32";
476
+ }];
477
+ readonly stateMutability: "view";
478
+ }, {
479
+ readonly type: "function";
480
+ readonly name: "mailbox";
481
+ readonly inputs: readonly [];
482
+ readonly outputs: readonly [{
483
+ readonly name: "";
484
+ readonly type: "address";
485
+ readonly internalType: "contract IMailbox";
486
+ }];
487
+ readonly stateMutability: "view";
488
+ }, {
489
+ readonly type: "function";
490
+ readonly name: "maxDeposit";
491
+ readonly inputs: readonly [{
492
+ readonly name: "";
493
+ readonly type: "address";
494
+ readonly internalType: "address";
495
+ }];
496
+ readonly outputs: readonly [{
497
+ readonly name: "";
498
+ readonly type: "uint256";
499
+ readonly internalType: "uint256";
500
+ }];
501
+ readonly stateMutability: "view";
502
+ }, {
503
+ readonly type: "function";
504
+ readonly name: "maxMint";
505
+ readonly inputs: readonly [{
506
+ readonly name: "";
507
+ readonly type: "address";
508
+ readonly internalType: "address";
509
+ }];
510
+ readonly outputs: readonly [{
511
+ readonly name: "";
512
+ readonly type: "uint256";
513
+ readonly internalType: "uint256";
514
+ }];
515
+ readonly stateMutability: "view";
516
+ }, {
517
+ readonly type: "function";
518
+ readonly name: "maxRedeem";
519
+ readonly inputs: readonly [{
520
+ readonly name: "owner";
521
+ readonly type: "address";
522
+ readonly internalType: "address";
523
+ }];
524
+ readonly outputs: readonly [{
525
+ readonly name: "";
526
+ readonly type: "uint256";
527
+ readonly internalType: "uint256";
528
+ }];
529
+ readonly stateMutability: "view";
530
+ }, {
531
+ readonly type: "function";
532
+ readonly name: "maxWithdraw";
533
+ readonly inputs: readonly [{
534
+ readonly name: "owner";
535
+ readonly type: "address";
536
+ readonly internalType: "address";
537
+ }];
538
+ readonly outputs: readonly [{
539
+ readonly name: "";
540
+ readonly type: "uint256";
541
+ readonly internalType: "uint256";
542
+ }];
543
+ readonly stateMutability: "view";
544
+ }, {
545
+ readonly type: "function";
546
+ readonly name: "mint";
547
+ readonly inputs: readonly [{
548
+ readonly name: "shares";
549
+ readonly type: "uint256";
550
+ readonly internalType: "uint256";
551
+ }, {
552
+ readonly name: "receiver";
553
+ readonly type: "address";
554
+ readonly internalType: "address";
555
+ }];
556
+ readonly outputs: readonly [{
557
+ readonly name: "";
558
+ readonly type: "uint256";
559
+ readonly internalType: "uint256";
560
+ }];
561
+ readonly stateMutability: "nonpayable";
562
+ }, {
563
+ readonly type: "function";
564
+ readonly name: "name";
565
+ readonly inputs: readonly [];
566
+ readonly outputs: readonly [{
567
+ readonly name: "";
568
+ readonly type: "string";
569
+ readonly internalType: "string";
570
+ }];
571
+ readonly stateMutability: "view";
572
+ }, {
573
+ readonly type: "function";
574
+ readonly name: "owner";
575
+ readonly inputs: readonly [];
576
+ readonly outputs: readonly [{
577
+ readonly name: "";
578
+ readonly type: "address";
579
+ readonly internalType: "address";
580
+ }];
581
+ readonly stateMutability: "view";
582
+ }, {
583
+ readonly type: "function";
584
+ readonly name: "previewDeposit";
585
+ readonly inputs: readonly [{
586
+ readonly name: "assets";
587
+ readonly type: "uint256";
588
+ readonly internalType: "uint256";
589
+ }];
590
+ readonly outputs: readonly [{
591
+ readonly name: "";
592
+ readonly type: "uint256";
593
+ readonly internalType: "uint256";
594
+ }];
595
+ readonly stateMutability: "view";
596
+ }, {
597
+ readonly type: "function";
598
+ readonly name: "previewMint";
599
+ readonly inputs: readonly [{
600
+ readonly name: "shares";
601
+ readonly type: "uint256";
602
+ readonly internalType: "uint256";
603
+ }];
604
+ readonly outputs: readonly [{
605
+ readonly name: "";
606
+ readonly type: "uint256";
607
+ readonly internalType: "uint256";
608
+ }];
609
+ readonly stateMutability: "view";
610
+ }, {
611
+ readonly type: "function";
612
+ readonly name: "previewRedeem";
613
+ readonly inputs: readonly [{
614
+ readonly name: "shares";
615
+ readonly type: "uint256";
616
+ readonly internalType: "uint256";
617
+ }];
618
+ readonly outputs: readonly [{
619
+ readonly name: "";
620
+ readonly type: "uint256";
621
+ readonly internalType: "uint256";
622
+ }];
623
+ readonly stateMutability: "view";
624
+ }, {
625
+ readonly type: "function";
626
+ readonly name: "previewWithdraw";
627
+ readonly inputs: readonly [{
628
+ readonly name: "assets";
629
+ readonly type: "uint256";
630
+ readonly internalType: "uint256";
631
+ }];
632
+ readonly outputs: readonly [{
633
+ readonly name: "";
634
+ readonly type: "uint256";
635
+ readonly internalType: "uint256";
636
+ }];
637
+ readonly stateMutability: "view";
638
+ }, {
639
+ readonly type: "function";
640
+ readonly name: "quoteGasPayment";
641
+ readonly inputs: readonly [{
642
+ readonly name: "_destinationDomain";
643
+ readonly type: "uint32";
644
+ readonly internalType: "uint32";
645
+ }];
646
+ readonly outputs: readonly [{
647
+ readonly name: "";
648
+ readonly type: "uint256";
649
+ readonly internalType: "uint256";
650
+ }];
651
+ readonly stateMutability: "view";
652
+ }, {
653
+ readonly type: "function";
654
+ readonly name: "quoteTransferRemote";
655
+ readonly inputs: readonly [{
656
+ readonly name: "_destination";
657
+ readonly type: "uint32";
658
+ readonly internalType: "uint32";
659
+ }, {
660
+ readonly name: "_recipient";
661
+ readonly type: "bytes32";
662
+ readonly internalType: "bytes32";
663
+ }, {
664
+ readonly name: "_amount";
665
+ readonly type: "uint256";
666
+ readonly internalType: "uint256";
667
+ }];
668
+ readonly outputs: readonly [{
669
+ readonly name: "quotes";
670
+ readonly type: "tuple[]";
671
+ readonly internalType: "struct Quote[]";
672
+ readonly components: readonly [{
673
+ readonly name: "token";
674
+ readonly type: "address";
675
+ readonly internalType: "address";
676
+ }, {
677
+ readonly name: "amount";
678
+ readonly type: "uint256";
679
+ readonly internalType: "uint256";
680
+ }];
681
+ }];
682
+ readonly stateMutability: "view";
683
+ }, {
684
+ readonly type: "function";
685
+ readonly name: "quoteTransferRemoteTo";
686
+ readonly inputs: readonly [{
687
+ readonly name: "_destination";
688
+ readonly type: "uint32";
689
+ readonly internalType: "uint32";
690
+ }, {
691
+ readonly name: "_recipient";
692
+ readonly type: "bytes32";
693
+ readonly internalType: "bytes32";
694
+ }, {
695
+ readonly name: "_amount";
696
+ readonly type: "uint256";
697
+ readonly internalType: "uint256";
698
+ }, {
699
+ readonly name: "_targetRouter";
700
+ readonly type: "bytes32";
701
+ readonly internalType: "bytes32";
702
+ }];
703
+ readonly outputs: readonly [{
704
+ readonly name: "quotes";
705
+ readonly type: "tuple[]";
706
+ readonly internalType: "struct Quote[]";
707
+ readonly components: readonly [{
708
+ readonly name: "token";
709
+ readonly type: "address";
710
+ readonly internalType: "address";
711
+ }, {
712
+ readonly name: "amount";
713
+ readonly type: "uint256";
714
+ readonly internalType: "uint256";
715
+ }];
716
+ }];
717
+ readonly stateMutability: "view";
718
+ }, {
719
+ readonly type: "function";
720
+ readonly name: "rebalance";
721
+ readonly inputs: readonly [{
722
+ readonly name: "domain";
723
+ readonly type: "uint32";
724
+ readonly internalType: "uint32";
725
+ }, {
726
+ readonly name: "collateralAmount";
727
+ readonly type: "uint256";
728
+ readonly internalType: "uint256";
729
+ }, {
730
+ readonly name: "bridge";
731
+ readonly type: "address";
732
+ readonly internalType: "contract ITokenBridge";
733
+ }];
734
+ readonly outputs: readonly [];
735
+ readonly stateMutability: "payable";
736
+ }, {
737
+ readonly type: "function";
738
+ readonly name: "redeem";
739
+ readonly inputs: readonly [{
740
+ readonly name: "shares";
741
+ readonly type: "uint256";
742
+ readonly internalType: "uint256";
743
+ }, {
744
+ readonly name: "receiver";
745
+ readonly type: "address";
746
+ readonly internalType: "address";
747
+ }, {
748
+ readonly name: "owner";
749
+ readonly type: "address";
750
+ readonly internalType: "address";
751
+ }];
752
+ readonly outputs: readonly [{
753
+ readonly name: "";
754
+ readonly type: "uint256";
755
+ readonly internalType: "uint256";
756
+ }];
757
+ readonly stateMutability: "nonpayable";
758
+ }, {
759
+ readonly type: "function";
760
+ readonly name: "removeBridge";
761
+ readonly inputs: readonly [{
762
+ readonly name: "domain";
763
+ readonly type: "uint32";
764
+ readonly internalType: "uint32";
765
+ }, {
766
+ readonly name: "bridge";
767
+ readonly type: "address";
768
+ readonly internalType: "contract ITokenBridge";
769
+ }];
770
+ readonly outputs: readonly [];
771
+ readonly stateMutability: "nonpayable";
772
+ }, {
773
+ readonly type: "function";
774
+ readonly name: "removeRebalancer";
775
+ readonly inputs: readonly [{
776
+ readonly name: "rebalancer";
777
+ readonly type: "address";
778
+ readonly internalType: "address";
779
+ }];
780
+ readonly outputs: readonly [];
781
+ readonly stateMutability: "nonpayable";
782
+ }, {
783
+ readonly type: "function";
784
+ readonly name: "removeRecipient";
785
+ readonly inputs: readonly [{
786
+ readonly name: "domain";
787
+ readonly type: "uint32";
788
+ readonly internalType: "uint32";
789
+ }];
790
+ readonly outputs: readonly [];
791
+ readonly stateMutability: "nonpayable";
792
+ }, {
793
+ readonly type: "function";
794
+ readonly name: "renounceOwnership";
795
+ readonly inputs: readonly [];
796
+ readonly outputs: readonly [];
797
+ readonly stateMutability: "nonpayable";
798
+ }, {
799
+ readonly type: "function";
800
+ readonly name: "routers";
801
+ readonly inputs: readonly [{
802
+ readonly name: "_domain";
803
+ readonly type: "uint32";
804
+ readonly internalType: "uint32";
805
+ }];
806
+ readonly outputs: readonly [{
807
+ readonly name: "";
808
+ readonly type: "bytes32";
809
+ readonly internalType: "bytes32";
810
+ }];
811
+ readonly stateMutability: "view";
812
+ }, {
813
+ readonly type: "function";
814
+ readonly name: "scaleDenominator";
815
+ readonly inputs: readonly [];
816
+ readonly outputs: readonly [{
817
+ readonly name: "";
818
+ readonly type: "uint256";
819
+ readonly internalType: "uint256";
820
+ }];
821
+ readonly stateMutability: "view";
822
+ }, {
823
+ readonly type: "function";
824
+ readonly name: "scaleNumerator";
825
+ readonly inputs: readonly [];
826
+ readonly outputs: readonly [{
827
+ readonly name: "";
828
+ readonly type: "uint256";
829
+ readonly internalType: "uint256";
830
+ }];
831
+ readonly stateMutability: "view";
832
+ }, {
833
+ readonly type: "function";
834
+ readonly name: "setDestinationGas";
835
+ readonly inputs: readonly [{
836
+ readonly name: "domain";
837
+ readonly type: "uint32";
838
+ readonly internalType: "uint32";
839
+ }, {
840
+ readonly name: "gas";
841
+ readonly type: "uint256";
842
+ readonly internalType: "uint256";
843
+ }];
844
+ readonly outputs: readonly [];
845
+ readonly stateMutability: "nonpayable";
846
+ }, {
847
+ readonly type: "function";
848
+ readonly name: "setDestinationGas";
849
+ readonly inputs: readonly [{
850
+ readonly name: "gasConfigs";
851
+ readonly type: "tuple[]";
852
+ readonly internalType: "struct GasRouter.GasRouterConfig[]";
853
+ readonly components: readonly [{
854
+ readonly name: "domain";
855
+ readonly type: "uint32";
856
+ readonly internalType: "uint32";
857
+ }, {
858
+ readonly name: "gas";
859
+ readonly type: "uint256";
860
+ readonly internalType: "uint256";
861
+ }];
862
+ }];
863
+ readonly outputs: readonly [];
864
+ readonly stateMutability: "nonpayable";
865
+ }, {
866
+ readonly type: "function";
867
+ readonly name: "setFeeHook";
868
+ readonly inputs: readonly [{
869
+ readonly name: "_feeHook";
870
+ readonly type: "address";
871
+ readonly internalType: "address";
872
+ }];
873
+ readonly outputs: readonly [];
874
+ readonly stateMutability: "nonpayable";
875
+ }, {
876
+ readonly type: "function";
877
+ readonly name: "setFeeRecipient";
878
+ readonly inputs: readonly [{
879
+ readonly name: "recipient";
880
+ readonly type: "address";
881
+ readonly internalType: "address";
882
+ }];
883
+ readonly outputs: readonly [];
884
+ readonly stateMutability: "nonpayable";
885
+ }, {
886
+ readonly type: "function";
887
+ readonly name: "setHook";
888
+ readonly inputs: readonly [{
889
+ readonly name: "_hook";
890
+ readonly type: "address";
891
+ readonly internalType: "address";
892
+ }];
893
+ readonly outputs: readonly [];
894
+ readonly stateMutability: "nonpayable";
895
+ }, {
896
+ readonly type: "function";
897
+ readonly name: "setInterchainSecurityModule";
898
+ readonly inputs: readonly [{
899
+ readonly name: "_module";
900
+ readonly type: "address";
901
+ readonly internalType: "address";
902
+ }];
903
+ readonly outputs: readonly [];
904
+ readonly stateMutability: "nonpayable";
905
+ }, {
906
+ readonly type: "function";
907
+ readonly name: "setRecipient";
908
+ readonly inputs: readonly [{
909
+ readonly name: "domain";
910
+ readonly type: "uint32";
911
+ readonly internalType: "uint32";
912
+ }, {
913
+ readonly name: "recipient";
914
+ readonly type: "bytes32";
915
+ readonly internalType: "bytes32";
916
+ }];
917
+ readonly outputs: readonly [];
918
+ readonly stateMutability: "nonpayable";
919
+ }, {
920
+ readonly type: "function";
921
+ readonly name: "symbol";
922
+ readonly inputs: readonly [];
923
+ readonly outputs: readonly [{
924
+ readonly name: "";
925
+ readonly type: "string";
926
+ readonly internalType: "string";
927
+ }];
928
+ readonly stateMutability: "view";
929
+ }, {
930
+ readonly type: "function";
931
+ readonly name: "token";
932
+ readonly inputs: readonly [];
933
+ readonly outputs: readonly [{
934
+ readonly name: "";
935
+ readonly type: "address";
936
+ readonly internalType: "address";
937
+ }];
938
+ readonly stateMutability: "view";
939
+ }, {
940
+ readonly type: "function";
941
+ readonly name: "totalAssets";
942
+ readonly inputs: readonly [];
943
+ readonly outputs: readonly [{
944
+ readonly name: "";
945
+ readonly type: "uint256";
946
+ readonly internalType: "uint256";
947
+ }];
948
+ readonly stateMutability: "view";
949
+ }, {
950
+ readonly type: "function";
951
+ readonly name: "totalSupply";
952
+ readonly inputs: readonly [];
953
+ readonly outputs: readonly [{
954
+ readonly name: "";
955
+ readonly type: "uint256";
956
+ readonly internalType: "uint256";
957
+ }];
958
+ readonly stateMutability: "view";
959
+ }, {
960
+ readonly type: "function";
961
+ readonly name: "transfer";
962
+ readonly inputs: readonly [{
963
+ readonly name: "to";
964
+ readonly type: "address";
965
+ readonly internalType: "address";
966
+ }, {
967
+ readonly name: "amount";
968
+ readonly type: "uint256";
969
+ readonly internalType: "uint256";
970
+ }];
971
+ readonly outputs: readonly [{
972
+ readonly name: "";
973
+ readonly type: "bool";
974
+ readonly internalType: "bool";
975
+ }];
976
+ readonly stateMutability: "nonpayable";
977
+ }, {
978
+ readonly type: "function";
979
+ readonly name: "transferFrom";
980
+ readonly inputs: readonly [{
981
+ readonly name: "from";
982
+ readonly type: "address";
983
+ readonly internalType: "address";
984
+ }, {
985
+ readonly name: "to";
986
+ readonly type: "address";
987
+ readonly internalType: "address";
988
+ }, {
989
+ readonly name: "amount";
990
+ readonly type: "uint256";
991
+ readonly internalType: "uint256";
992
+ }];
993
+ readonly outputs: readonly [{
994
+ readonly name: "";
995
+ readonly type: "bool";
996
+ readonly internalType: "bool";
997
+ }];
998
+ readonly stateMutability: "nonpayable";
999
+ }, {
1000
+ readonly type: "function";
1001
+ readonly name: "transferOwnership";
1002
+ readonly inputs: readonly [{
1003
+ readonly name: "newOwner";
1004
+ readonly type: "address";
1005
+ readonly internalType: "address";
1006
+ }];
1007
+ readonly outputs: readonly [];
1008
+ readonly stateMutability: "nonpayable";
1009
+ }, {
1010
+ readonly type: "function";
1011
+ readonly name: "transferRemote";
1012
+ readonly inputs: readonly [{
1013
+ readonly name: "_destination";
1014
+ readonly type: "uint32";
1015
+ readonly internalType: "uint32";
1016
+ }, {
1017
+ readonly name: "_recipient";
1018
+ readonly type: "bytes32";
1019
+ readonly internalType: "bytes32";
1020
+ }, {
1021
+ readonly name: "_amount";
1022
+ readonly type: "uint256";
1023
+ readonly internalType: "uint256";
1024
+ }];
1025
+ readonly outputs: readonly [{
1026
+ readonly name: "messageId";
1027
+ readonly type: "bytes32";
1028
+ readonly internalType: "bytes32";
1029
+ }];
1030
+ readonly stateMutability: "payable";
1031
+ }, {
1032
+ readonly type: "function";
1033
+ readonly name: "transferRemoteTo";
1034
+ readonly inputs: readonly [{
1035
+ readonly name: "_destination";
1036
+ readonly type: "uint32";
1037
+ readonly internalType: "uint32";
1038
+ }, {
1039
+ readonly name: "_recipient";
1040
+ readonly type: "bytes32";
1041
+ readonly internalType: "bytes32";
1042
+ }, {
1043
+ readonly name: "_amount";
1044
+ readonly type: "uint256";
1045
+ readonly internalType: "uint256";
1046
+ }, {
1047
+ readonly name: "_targetRouter";
1048
+ readonly type: "bytes32";
1049
+ readonly internalType: "bytes32";
1050
+ }];
1051
+ readonly outputs: readonly [{
1052
+ readonly name: "messageId";
1053
+ readonly type: "bytes32";
1054
+ readonly internalType: "bytes32";
1055
+ }];
1056
+ readonly stateMutability: "payable";
1057
+ }, {
1058
+ readonly type: "function";
1059
+ readonly name: "unenrollRemoteRouter";
1060
+ readonly inputs: readonly [{
1061
+ readonly name: "_domain";
1062
+ readonly type: "uint32";
1063
+ readonly internalType: "uint32";
1064
+ }];
1065
+ readonly outputs: readonly [];
1066
+ readonly stateMutability: "nonpayable";
1067
+ }, {
1068
+ readonly type: "function";
1069
+ readonly name: "unenrollRemoteRouters";
1070
+ readonly inputs: readonly [{
1071
+ readonly name: "_domains";
1072
+ readonly type: "uint32[]";
1073
+ readonly internalType: "uint32[]";
1074
+ }];
1075
+ readonly outputs: readonly [];
1076
+ readonly stateMutability: "nonpayable";
1077
+ }, {
1078
+ readonly type: "function";
1079
+ readonly name: "unenrollRouters";
1080
+ readonly inputs: readonly [{
1081
+ readonly name: "_domains";
1082
+ readonly type: "uint32[]";
1083
+ readonly internalType: "uint32[]";
1084
+ }, {
1085
+ readonly name: "_routers";
1086
+ readonly type: "bytes32[]";
1087
+ readonly internalType: "bytes32[]";
1088
+ }];
1089
+ readonly outputs: readonly [];
1090
+ readonly stateMutability: "nonpayable";
1091
+ }, {
1092
+ readonly type: "function";
1093
+ readonly name: "withdraw";
1094
+ readonly inputs: readonly [{
1095
+ readonly name: "assets";
1096
+ readonly type: "uint256";
1097
+ readonly internalType: "uint256";
1098
+ }, {
1099
+ readonly name: "receiver";
1100
+ readonly type: "address";
1101
+ readonly internalType: "address";
1102
+ }, {
1103
+ readonly name: "owner";
1104
+ readonly type: "address";
1105
+ readonly internalType: "address";
1106
+ }];
1107
+ readonly outputs: readonly [{
1108
+ readonly name: "";
1109
+ readonly type: "uint256";
1110
+ readonly internalType: "uint256";
1111
+ }];
1112
+ readonly stateMutability: "nonpayable";
1113
+ }, {
1114
+ readonly type: "function";
1115
+ readonly name: "wrappedToken";
1116
+ readonly inputs: readonly [];
1117
+ readonly outputs: readonly [{
1118
+ readonly name: "";
1119
+ readonly type: "address";
1120
+ readonly internalType: "contract IERC20";
1121
+ }];
1122
+ readonly stateMutability: "view";
1123
+ }, {
1124
+ readonly type: "event";
1125
+ readonly name: "Approval";
1126
+ readonly inputs: readonly [{
1127
+ readonly name: "owner";
1128
+ readonly type: "address";
1129
+ readonly indexed: true;
1130
+ readonly internalType: "address";
1131
+ }, {
1132
+ readonly name: "spender";
1133
+ readonly type: "address";
1134
+ readonly indexed: true;
1135
+ readonly internalType: "address";
1136
+ }, {
1137
+ readonly name: "value";
1138
+ readonly type: "uint256";
1139
+ readonly indexed: false;
1140
+ readonly internalType: "uint256";
1141
+ }];
1142
+ readonly anonymous: false;
1143
+ }, {
1144
+ readonly type: "event";
1145
+ readonly name: "CollateralMoved";
1146
+ readonly inputs: readonly [{
1147
+ readonly name: "domain";
1148
+ readonly type: "uint32";
1149
+ readonly indexed: true;
1150
+ readonly internalType: "uint32";
1151
+ }, {
1152
+ readonly name: "recipient";
1153
+ readonly type: "bytes32";
1154
+ readonly indexed: false;
1155
+ readonly internalType: "bytes32";
1156
+ }, {
1157
+ readonly name: "amount";
1158
+ readonly type: "uint256";
1159
+ readonly indexed: false;
1160
+ readonly internalType: "uint256";
1161
+ }, {
1162
+ readonly name: "rebalancer";
1163
+ readonly type: "address";
1164
+ readonly indexed: true;
1165
+ readonly internalType: "address";
1166
+ }];
1167
+ readonly anonymous: false;
1168
+ }, {
1169
+ readonly type: "event";
1170
+ readonly name: "Deposit";
1171
+ readonly inputs: readonly [{
1172
+ readonly name: "sender";
1173
+ readonly type: "address";
1174
+ readonly indexed: true;
1175
+ readonly internalType: "address";
1176
+ }, {
1177
+ readonly name: "owner";
1178
+ readonly type: "address";
1179
+ readonly indexed: true;
1180
+ readonly internalType: "address";
1181
+ }, {
1182
+ readonly name: "assets";
1183
+ readonly type: "uint256";
1184
+ readonly indexed: false;
1185
+ readonly internalType: "uint256";
1186
+ }, {
1187
+ readonly name: "shares";
1188
+ readonly type: "uint256";
1189
+ readonly indexed: false;
1190
+ readonly internalType: "uint256";
1191
+ }];
1192
+ readonly anonymous: false;
1193
+ }, {
1194
+ readonly type: "event";
1195
+ readonly name: "Donation";
1196
+ readonly inputs: readonly [{
1197
+ readonly name: "sender";
1198
+ readonly type: "address";
1199
+ readonly indexed: false;
1200
+ readonly internalType: "address";
1201
+ }, {
1202
+ readonly name: "amount";
1203
+ readonly type: "uint256";
1204
+ readonly indexed: false;
1205
+ readonly internalType: "uint256";
1206
+ }];
1207
+ readonly anonymous: false;
1208
+ }, {
1209
+ readonly type: "event";
1210
+ readonly name: "FeeHookSet";
1211
+ readonly inputs: readonly [{
1212
+ readonly name: "feeHook";
1213
+ readonly type: "address";
1214
+ readonly indexed: false;
1215
+ readonly internalType: "address";
1216
+ }];
1217
+ readonly anonymous: false;
1218
+ }, {
1219
+ readonly type: "event";
1220
+ readonly name: "FeeRecipientSet";
1221
+ readonly inputs: readonly [{
1222
+ readonly name: "feeRecipient";
1223
+ readonly type: "address";
1224
+ readonly indexed: false;
1225
+ readonly internalType: "address";
1226
+ }];
1227
+ readonly anonymous: false;
1228
+ }, {
1229
+ readonly type: "event";
1230
+ readonly name: "GasSet";
1231
+ readonly inputs: readonly [{
1232
+ readonly name: "domain";
1233
+ readonly type: "uint32";
1234
+ readonly indexed: false;
1235
+ readonly internalType: "uint32";
1236
+ }, {
1237
+ readonly name: "gas";
1238
+ readonly type: "uint256";
1239
+ readonly indexed: false;
1240
+ readonly internalType: "uint256";
1241
+ }];
1242
+ readonly anonymous: false;
1243
+ }, {
1244
+ readonly type: "event";
1245
+ readonly name: "HookSet";
1246
+ readonly inputs: readonly [{
1247
+ readonly name: "_hook";
1248
+ readonly type: "address";
1249
+ readonly indexed: false;
1250
+ readonly internalType: "address";
1251
+ }];
1252
+ readonly anonymous: false;
1253
+ }, {
1254
+ readonly type: "event";
1255
+ readonly name: "Initialized";
1256
+ readonly inputs: readonly [{
1257
+ readonly name: "version";
1258
+ readonly type: "uint8";
1259
+ readonly indexed: false;
1260
+ readonly internalType: "uint8";
1261
+ }];
1262
+ readonly anonymous: false;
1263
+ }, {
1264
+ readonly type: "event";
1265
+ readonly name: "IsmSet";
1266
+ readonly inputs: readonly [{
1267
+ readonly name: "_ism";
1268
+ readonly type: "address";
1269
+ readonly indexed: false;
1270
+ readonly internalType: "address";
1271
+ }];
1272
+ readonly anonymous: false;
1273
+ }, {
1274
+ readonly type: "event";
1275
+ readonly name: "OwnershipTransferred";
1276
+ readonly inputs: readonly [{
1277
+ readonly name: "previousOwner";
1278
+ readonly type: "address";
1279
+ readonly indexed: true;
1280
+ readonly internalType: "address";
1281
+ }, {
1282
+ readonly name: "newOwner";
1283
+ readonly type: "address";
1284
+ readonly indexed: true;
1285
+ readonly internalType: "address";
1286
+ }];
1287
+ readonly anonymous: false;
1288
+ }, {
1289
+ readonly type: "event";
1290
+ readonly name: "ReceivedTransferRemote";
1291
+ readonly inputs: readonly [{
1292
+ readonly name: "origin";
1293
+ readonly type: "uint32";
1294
+ readonly indexed: true;
1295
+ readonly internalType: "uint32";
1296
+ }, {
1297
+ readonly name: "recipient";
1298
+ readonly type: "bytes32";
1299
+ readonly indexed: true;
1300
+ readonly internalType: "bytes32";
1301
+ }, {
1302
+ readonly name: "amountOrId";
1303
+ readonly type: "uint256";
1304
+ readonly indexed: false;
1305
+ readonly internalType: "uint256";
1306
+ }];
1307
+ readonly anonymous: false;
1308
+ }, {
1309
+ readonly type: "event";
1310
+ readonly name: "RouterEnrolled";
1311
+ readonly inputs: readonly [{
1312
+ readonly name: "domain";
1313
+ readonly type: "uint32";
1314
+ readonly indexed: true;
1315
+ readonly internalType: "uint32";
1316
+ }, {
1317
+ readonly name: "router";
1318
+ readonly type: "bytes32";
1319
+ readonly indexed: true;
1320
+ readonly internalType: "bytes32";
1321
+ }];
1322
+ readonly anonymous: false;
1323
+ }, {
1324
+ readonly type: "event";
1325
+ readonly name: "RouterUnenrolled";
1326
+ readonly inputs: readonly [{
1327
+ readonly name: "domain";
1328
+ readonly type: "uint32";
1329
+ readonly indexed: true;
1330
+ readonly internalType: "uint32";
1331
+ }, {
1332
+ readonly name: "router";
1333
+ readonly type: "bytes32";
1334
+ readonly indexed: true;
1335
+ readonly internalType: "bytes32";
1336
+ }];
1337
+ readonly anonymous: false;
1338
+ }, {
1339
+ readonly type: "event";
1340
+ readonly name: "SentTransferRemote";
1341
+ readonly inputs: readonly [{
1342
+ readonly name: "destination";
1343
+ readonly type: "uint32";
1344
+ readonly indexed: true;
1345
+ readonly internalType: "uint32";
1346
+ }, {
1347
+ readonly name: "recipient";
1348
+ readonly type: "bytes32";
1349
+ readonly indexed: true;
1350
+ readonly internalType: "bytes32";
1351
+ }, {
1352
+ readonly name: "amountOrId";
1353
+ readonly type: "uint256";
1354
+ readonly indexed: false;
1355
+ readonly internalType: "uint256";
1356
+ }];
1357
+ readonly anonymous: false;
1358
+ }, {
1359
+ readonly type: "event";
1360
+ readonly name: "Transfer";
1361
+ readonly inputs: readonly [{
1362
+ readonly name: "from";
1363
+ readonly type: "address";
1364
+ readonly indexed: true;
1365
+ readonly internalType: "address";
1366
+ }, {
1367
+ readonly name: "to";
1368
+ readonly type: "address";
1369
+ readonly indexed: true;
1370
+ readonly internalType: "address";
1371
+ }, {
1372
+ readonly name: "value";
1373
+ readonly type: "uint256";
1374
+ readonly indexed: false;
1375
+ readonly internalType: "uint256";
1376
+ }];
1377
+ readonly anonymous: false;
1378
+ }, {
1379
+ readonly type: "event";
1380
+ readonly name: "Withdraw";
1381
+ readonly inputs: readonly [{
1382
+ readonly name: "sender";
1383
+ readonly type: "address";
1384
+ readonly indexed: true;
1385
+ readonly internalType: "address";
1386
+ }, {
1387
+ readonly name: "receiver";
1388
+ readonly type: "address";
1389
+ readonly indexed: true;
1390
+ readonly internalType: "address";
1391
+ }, {
1392
+ readonly name: "owner";
1393
+ readonly type: "address";
1394
+ readonly indexed: true;
1395
+ readonly internalType: "address";
1396
+ }, {
1397
+ readonly name: "assets";
1398
+ readonly type: "uint256";
1399
+ readonly indexed: false;
1400
+ readonly internalType: "uint256";
1401
+ }, {
1402
+ readonly name: "shares";
1403
+ readonly type: "uint256";
1404
+ readonly indexed: false;
1405
+ readonly internalType: "uint256";
1406
+ }];
1407
+ readonly anonymous: false;
1408
+ }];
1409
+ static createInterface(): MultiCollateralInterface;
1410
+ static connect(address: string, signerOrProvider: Signer | Provider): MultiCollateral;
1411
+ }
1412
+ export {};
1413
+ //# sourceMappingURL=MultiCollateral__factory.d.ts.map