@across-protocol/contracts 5.0.11-alpha.4 → 5.0.12-alpha.1

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 (104) hide show
  1. package/contracts/external/interfaces/CCTPInterfaces.sol +18 -0
  2. package/contracts/handlers/MulticallHandler.sol +7 -1
  3. package/contracts/interfaces/SponsoredCCTPInterface.sol +11 -0
  4. package/contracts/libraries/SafeTransferERC20.sol +21 -0
  5. package/contracts/libraries/SponsoredCCTPQuoteLib.sol +22 -0
  6. package/contracts/libraries/TronTransferLib.sol +42 -0
  7. package/contracts/periphery/SpokePoolPeriphery.sol +4 -0
  8. package/contracts/periphery/counterfactual/CounterfactualDepositSpokePool.sol +7 -3
  9. package/contracts/periphery/counterfactual/CounterfactualDepositSpokePoolTr.sol +36 -0
  10. package/contracts/periphery/counterfactual/WithdrawImplementation.sol +3 -6
  11. package/contracts/periphery/counterfactual/WithdrawImplementationTron.sol +22 -0
  12. package/contracts/periphery/mintburn/ArbitraryEVMFlowExecutor.sol +38 -15
  13. package/contracts/periphery/mintburn/sponsored-cctp/SponsoredCCTPDstPeriphery.sol +41 -12
  14. package/contracts/sp1-helios/SP1AutoVerifier.sol +1 -1
  15. package/contracts/spoke-pools/SpokePool.sol +11 -6
  16. package/contracts/spoke-pools/Tron_SpokePool.sol +65 -0
  17. package/contracts/test/MockCCTP.sol +10 -0
  18. package/contracts/test/MockTronUSDT.sol +36 -0
  19. package/contracts/tron/TronCounterfactualImports.sol +4 -3
  20. package/contracts/tron/TronImports.sol +2 -2
  21. package/contracts/tron/TronPeripheryImports.sol +1 -1
  22. package/dist/broadcast/deployed-addresses.json +186 -121
  23. package/dist/evm/artifacts/AcrossMessageHandlerMock.sol/AcrossMessageHandlerMock.json +1 -1
  24. package/dist/evm/artifacts/AdminWithdrawManager.sol/AdminWithdrawManager.json +1 -1
  25. package/dist/evm/artifacts/Arbitrum_Adapter.sol/Arbitrum_Adapter.json +1 -1
  26. package/dist/evm/artifacts/Arbitrum_CustomGasToken_Adapter.sol/Arbitrum_CustomGasToken_Adapter.json +1 -1
  27. package/dist/evm/artifacts/Arbitrum_RescueAdapter.sol/Arbitrum_RescueAdapter.json +1 -1
  28. package/dist/evm/artifacts/Arbitrum_SendTokensAdapter.sol/Arbitrum_SendTokensAdapter.json +1 -1
  29. package/dist/evm/artifacts/Arbitrum_SpokePool.sol/Arbitrum_SpokePool.json +1 -1
  30. package/dist/evm/artifacts/Arbitrum_WithdrawalHelper.sol/Arbitrum_WithdrawalHelper.json +1 -1
  31. package/dist/evm/artifacts/Base_Adapter.sol/Base_Adapter.json +1 -1
  32. package/dist/evm/artifacts/Blast_Adapter.sol/Blast_Adapter.json +1 -1
  33. package/dist/evm/artifacts/Blast_SpokePool.sol/Blast_SpokePool.json +1 -1
  34. package/dist/evm/artifacts/Boba_SpokePool.sol/Boba_SpokePool.json +1 -1
  35. package/dist/evm/artifacts/CCTPInterfaces.sol/ITokenMessengerV2.json +1 -1
  36. package/dist/evm/artifacts/CCTPInterfaces.sol/ITokenMinter.json +1 -1
  37. package/dist/evm/artifacts/Cher_SpokePool.sol/Cher_SpokePool.json +1 -1
  38. package/dist/evm/artifacts/CircleCCTPAdapter.sol/CircleDomainIds.json +1 -1
  39. package/dist/evm/artifacts/CounterfactualDepositCCTP.sol/CounterfactualDepositCCTP.json +1 -1
  40. package/dist/evm/artifacts/CounterfactualDepositSpokePool.sol/CounterfactualDepositSpokePool.json +1 -1
  41. package/dist/evm/artifacts/CounterfactualDepositSpokePoolTr.sol/CounterfactualDepositSpokePoolTr.json +1 -0
  42. package/dist/evm/artifacts/DoctorWho_Adapter.sol/DoctorWho_Adapter.json +1 -1
  43. package/dist/evm/artifacts/DstOFTHandler.sol/DstOFTHandler.json +1 -1
  44. package/dist/evm/artifacts/Ethereum_SpokePool.sol/Ethereum_SpokePool.json +1 -1
  45. package/dist/evm/artifacts/HubPoolTestBase.sol/MockAddressWhitelist.json +1 -1
  46. package/dist/evm/artifacts/HubPoolTestBase.sol/MockFinder.json +1 -1
  47. package/dist/evm/artifacts/HubPoolTestBase.sol/MockIdentifierWhitelist.json +1 -1
  48. package/dist/evm/artifacts/HubPoolTestBase.sol/MockLpTokenFactory.json +1 -1
  49. package/dist/evm/artifacts/HubPoolTestBase.sol/MockOptimisticOracle.json +1 -1
  50. package/dist/evm/artifacts/HubPoolTestBase.sol/MockStore.json +1 -1
  51. package/dist/evm/artifacts/Ink_SpokePool.sol/Ink_SpokePool.json +1 -1
  52. package/dist/evm/artifacts/Lens_SpokePool.sol/Lens_SpokePool.json +1 -1
  53. package/dist/evm/artifacts/Linea_Adapter.sol/Linea_Adapter.json +1 -1
  54. package/dist/evm/artifacts/Linea_SpokePool.sol/Linea_SpokePool.json +1 -1
  55. package/dist/evm/artifacts/Lisk_Adapter.sol/Lisk_Adapter.json +1 -1
  56. package/dist/evm/artifacts/Lisk_SpokePool.sol/Lisk_SpokePool.json +1 -1
  57. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockCrossDomainMessenger.json +1 -1
  58. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL1StandardBridge.json +1 -1
  59. package/dist/evm/artifacts/MockBedrockStandardBridge.sol/MockBedrockL2StandardBridge.json +1 -1
  60. package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessageTransmitter.json +1 -1
  61. package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessenger.json +1 -1
  62. package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMessengerV2.json +1 -1
  63. package/dist/evm/artifacts/MockCCTP.sol/MockCCTPMinter.json +1 -1
  64. package/dist/evm/artifacts/MockOptimism_SpokePool.sol/MockOptimism_SpokePool.json +1 -1
  65. package/dist/evm/artifacts/MockSpokePool.sol/MockSpokePool.json +1 -1
  66. package/dist/evm/artifacts/MockSpokePoolV2.sol/MockSpokePoolV2.json +1 -1
  67. package/dist/evm/artifacts/MockTronUSDT.sol/MockTronUSDT.json +1 -0
  68. package/dist/evm/artifacts/Mode_Adapter.sol/Mode_Adapter.json +1 -1
  69. package/dist/evm/artifacts/MulticallHandler.sol/MulticallHandler.json +1 -1
  70. package/dist/evm/artifacts/OP_Adapter.sol/OP_Adapter.json +1 -1
  71. package/dist/evm/artifacts/OP_SpokePool.sol/OP_SpokePool.json +1 -1
  72. package/dist/evm/artifacts/Optimism_Adapter.sol/Optimism_Adapter.json +1 -1
  73. package/dist/evm/artifacts/Optimism_SpokePool.sol/Optimism_SpokePool.json +1 -1
  74. package/dist/evm/artifacts/Ovm_SpokePool.sol/Ovm_SpokePool.json +1 -1
  75. package/dist/evm/artifacts/Ovm_WithdrawalHelper.sol/Ovm_WithdrawalHelper.json +1 -1
  76. package/dist/evm/artifacts/PermissionedMulticallHandler.sol/PermissionedMulticallHandler.json +1 -1
  77. package/dist/evm/artifacts/PolygonZkEVM_SpokePool.sol/PolygonZkEVM_SpokePool.json +1 -1
  78. package/dist/evm/artifacts/Polygon_Adapter.sol/Polygon_Adapter.json +1 -1
  79. package/dist/evm/artifacts/Polygon_SpokePool.sol/Polygon_SpokePool.json +1 -1
  80. package/dist/evm/artifacts/SP1AutoVerifier.sol/SP1AutoVerifier.json +1 -1
  81. package/dist/evm/artifacts/Scroll_SpokePool.sol/Scroll_SpokePool.json +1 -1
  82. package/dist/evm/artifacts/Solana_Adapter.sol/Solana_Adapter.json +1 -1
  83. package/dist/evm/artifacts/SpokePool.sol/SpokePool.json +1 -1
  84. package/dist/evm/artifacts/SpokePoolPeriphery.sol/SpokePoolPeriphery.json +1 -1
  85. package/dist/evm/artifacts/SpokePoolPeriphery.sol/SwapProxy.json +1 -1
  86. package/dist/evm/artifacts/SponsoredCCTPDstPeriphery.sol/SponsoredCCTPDstPeriphery.json +1 -1
  87. package/dist/evm/artifacts/SponsoredCCTPInterface.sol/SponsoredCCTPInterface.json +1 -1
  88. package/dist/evm/artifacts/SponsoredCCTPSrcPeriphery.sol/SponsoredCCTPSrcPeriphery.json +1 -1
  89. package/dist/evm/artifacts/SponsoredOFTSrcPeriphery.sol/SponsoredOFTSrcPeriphery.json +1 -1
  90. package/dist/evm/artifacts/TronTransferLib.sol/TronTransferLib.json +1 -0
  91. package/dist/evm/artifacts/Tron_SpokePool.sol/Tron_SpokePool.json +1 -0
  92. package/dist/evm/artifacts/Universal_Adapter.sol/Universal_Adapter.json +1 -1
  93. package/dist/evm/artifacts/Universal_SpokePool.sol/Universal_SpokePool.json +1 -1
  94. package/dist/evm/artifacts/WithdrawImplementation.sol/WithdrawImplementation.json +1 -1
  95. package/dist/evm/artifacts/WithdrawImplementationTron.sol/WithdrawImplementationTron.json +1 -0
  96. package/dist/evm/artifacts/WorldChain_SpokePool.sol/WorldChain_SpokePool.json +1 -1
  97. package/dist/evm/artifacts/ZkStack_Adapter.sol/ZkStack_Adapter.json +1 -1
  98. package/dist/evm/artifacts/ZkStack_CustomGasToken_Adapter.sol/ZkStack_CustomGasToken_Adapter.json +1 -1
  99. package/dist/evm/artifacts/ZkSync_SpokePool.sol/ZkSync_SpokePool.json +1 -1
  100. package/dist/evm/artifacts/Zora_Adapter.sol/Zora_Adapter.json +1 -1
  101. package/dist/evm/artifacts/eraVM_EIP7702.sol/SimpleContract.json +1 -1
  102. package/dist/evm/artifacts/eraVM_EIP7702.sol/SpokePoolEIP7702Test.json +1 -1
  103. package/dist/evm/artifacts/eraVM_EIP7702.sol/TestableMockSpokePool.json +1 -1
  104. package/package.json +3 -3
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[{"name":"_l1Weth","type":"address","internalType":"contract WETH9Interface"},{"name":"_l1MessageService","type":"address","internalType":"contract IMessageService"},{"name":"_l1TokenBridge","type":"address","internalType":"contract ITokenBridge"},{"name":"_l1Usdc","type":"address","internalType":"contract IERC20"},{"name":"_cctpTokenMessenger","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"nonpayable"},{"type":"function","name":"L1_MESSAGE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMessageService"}],"stateMutability":"view"},{"type":"function","name":"L1_TOKEN_BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenBridge"}],"stateMutability":"view"},{"type":"function","name":"L1_WETH","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"view"},{"type":"function","name":"cctpV2","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recipientCircleDomainId","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relayMessage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"relayTokens","inputs":[{"name":"l1Token","type":"address","internalType":"address"},{"name":"l2Token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdcToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"event","name":"MessageRelayed","inputs":[{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"TokensRelayed","inputs":[{"name":"l1Token","type":"address","indexed":false,"internalType":"address"},{"name":"l2Token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":"0x610160806040523461020e5760a081610e1880380380916100208285610212565b83398101031261020e5780516001600160a01b038116810361020e576020820151906001600160a01b038216820361020e576040830151926001600160a01b038416840361020e576060810151906001600160a01b038216820361020e5760800151906001600160a01b03821680830361020e575f92839260a05260c052600b608052604051602081019063011a412160e61b8252600481526100c4602482610212565b51915afa3d15610207573d6001600160401b0381116101f357604051906100f5601f8201601f191660200183610212565b81523d5f602083013e5b816101e7575b816101b1575b5060e052610100526101205261014052604051610be29081610236823960805181818161026c015281816104880152610536015260a0518181816103170152610923015260c0518181816101ee01528181610361015261089a015260e05181818161022a01526103e801526101005181818161067201526108e001526101205181818160e4015281816102b001526106dc0152610140518181816107b101526109640152f35b90506020815191015190602081106101d6575b506001600160a01b031615155f61010b565b5f199060200360031b1b165f6101c4565b80516020149150610105565b634e487b7160e01b5f52604160045260245ffd5b60606100ff565b5f80fd5b601f909101601f19168101906001600160401b038211908210176101f35760405256fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630cbae520146109475750806311eac855146109045780631efd482a146108c157806352c8c75c146102d457806369bd096e146102905780636e4009831461024f578063775c0d03146102125780639748cf7c146101ce5763e6eb8ade14610081575f80fd5b60403660031901126101cb57610095610988565b6024359067ffffffffffffffff82116101c957366023830112156101c95781600401359067ffffffffffffffff82116101b657602483019260248336920101116101b657836001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b156101c557816001600160a01b0391604051928391634f9e72ad60e11b835216948560048301528260248301526060604483015281838161014c606482018b8d6109d4565b03925af180156101ba576101a1575b505061019b7f9e6c52944e331ba6270e7fe4cea2a4086bae8f7a27e1cdba07f416806f5d0ac49360405193849384526040602085015260408401916109d4565b0390a180f35b816101ab9161099e565b6101b657835f61015b565b8380fd5b6040513d84823e3d90fd5b5080fd5b825b80fd5b50346101cb57806003193601126101cb5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cb57806003193601126101cb5760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b50346101cb57806003193601126101cb57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cb57806003193601126101cb5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b506080366003190112610609576102e9610988565b6024356001600160a01b03811680910361060957604435606435916001600160a01b038316809303610609577f0000000000000000000000000000000000000000000000000000000000000000936001600160a01b038086169116948186148061088f575b1561066957610388846001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680936109f4565b6040516332dd704760e21b8152602081600481855afa908115610615578891610620575b509060206001600160a01b03926024604051809581936352b7631960e11b8352886004840152165afa9182156106155788926105dd575b5090917f0000000000000000000000000000000000000000000000000000000000000000919085805b610456575050505050917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b93916080935b604051938452602084015260408301526060820152a180f35b848111156105d757845b841561052057833b1561051c578a604051634701287760e11b815282600482015263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248201528a60448201528460648201528160848201528160a48201526107d060c4820152818160e481838a5af180156101ba57610507575b50505b81039081116104f3578061040c565b634e487b7160e01b8a52601160045260248afd5b816105119161099e565b61051c578a5f6104e1565b8a80fd5b6040516337e9a82760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018a9052606481018490526020816084818f895af180156105cc57610589575b506104e4565b6020813d82116105c4575b816105a16020938361099e565b810103126105c0575167ffffffffffffffff81160361051c575f610583565b8b80fd5b3d9150610594565b6040513d8e823e3d90fd5b80610460565b9091506020813d60201161060d575b816105f96020938361099e565b810103126106095751905f6103e3565b5f80fd5b3d91506105ec565b6040513d8a823e3d90fd5b90506020813d602011610661575b8161063b6020938361099e565b8101031261065d5751906001600160a01b038216820361065d579060206103ac565b8780fd5b3d915061062e565b509193929150847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168085036107a157803b156101c557818091602460405180948193632e1a7d4d60e01b83528b60048401525af180156101ba5761078c575b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156101c557818691608460405180948193634f9e72ad60e11b8352896004840152856024840152606060448401528560648401525af180156101ba5761076d575b5050907fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b936080939261043d565b8161077b919594939561099e565b610788579091845f61073f565b8480fd5b816107969161099e565b61078857845f6106d1565b50506001600160a01b03939192937f0000000000000000000000000000000000000000000000000000000000000000166107dc8382876109f4565b803b15610609575f8091606460405180948193632917540d60e11b83528a60048401528860248401528960448401525af1801561088457610845575b50917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b939160809361043d565b608093919550916108785f7fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b969461099e565b5f959193509193610818565b6040513d5f823e3d90fd5b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016151561034e565b34610609575f3660031901126106095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610609575f3660031901126106095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610609575f366003190112610609576020906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b600435906001600160a01b038216820361060957565b90601f8019910116810190811067ffffffffffffffff8211176109c057604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160a01b0316916001600160a01b0360405192636eb1769f60e11b84523060048501521690816024840152602083604481875afa928315610884575f93610b4d575b508201809211610b39575f809160405193602085019163095ea7b360e01b83526024860152604485015260448452610a7260648561099e565b60405193610a8160408661099e565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082865af13d15610b2c573d9067ffffffffffffffff82116109c057604051610af3949092610ae5601f8201601f19166020018561099e565b83523d5f602085013e610b81565b8051908115918215610b09575b50501561060957565b819250906020918101031261060957602001518015158103610609575f80610b00565b91610af392606091610b81565b634e487b7160e01b5f52601160045260245ffd5b9092506020813d602011610b79575b81610b696020938361099e565b810103126106095751915f610a39565b3d9150610b5c565b91925015610b9d57815115610b94575090565b3b156106095790565b50805190811561060957602001fdfea26469706673582212208a60cc516166bf16a832b8c751bcef6d6957cdbf50f847babe6dadbf07996dac64736f6c634300081e0033"}
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"_l1Weth","type":"address","internalType":"contract WETH9Interface"},{"name":"_l1MessageService","type":"address","internalType":"contract IMessageService"},{"name":"_l1TokenBridge","type":"address","internalType":"contract ITokenBridge"},{"name":"_l1Usdc","type":"address","internalType":"contract IERC20"},{"name":"_cctpTokenMessenger","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"nonpayable"},{"type":"function","name":"L1_MESSAGE_SERVICE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMessageService"}],"stateMutability":"view"},{"type":"function","name":"L1_TOKEN_BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenBridge"}],"stateMutability":"view"},{"type":"function","name":"L1_WETH","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract WETH9Interface"}],"stateMutability":"view"},{"type":"function","name":"cctpTokenMessenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITokenMessenger"}],"stateMutability":"view"},{"type":"function","name":"cctpV2","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recipientCircleDomainId","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"relayMessage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"message","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"relayTokens","inputs":[{"name":"l1Token","type":"address","internalType":"address"},{"name":"l2Token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"usdcToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"event","name":"MessageRelayed","inputs":[{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"message","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"TokensRelayed","inputs":[{"name":"l1Token","type":"address","indexed":false,"internalType":"address"},{"name":"l2Token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"to","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":"0x610160806040523461020e5760a081610e1880380380916100208285610212565b83398101031261020e5780516001600160a01b038116810361020e576020820151906001600160a01b038216820361020e576040830151926001600160a01b038416840361020e576060810151906001600160a01b038216820361020e5760800151906001600160a01b03821680830361020e575f92839260a05260c052600b608052604051602081019063011a412160e61b8252600481526100c4602482610212565b51915afa3d15610207573d6001600160401b0381116101f357604051906100f5601f8201601f191660200183610212565b81523d5f602083013e5b816101e7575b816101b1575b5060e052610100526101205261014052604051610be29081610236823960805181818161026c015281816104880152610536015260a0518181816103170152610923015260c0518181816101ee01528181610361015261089a015260e05181818161022a01526103e801526101005181818161067201526108e001526101205181818160e4015281816102b001526106dc0152610140518181816107b101526109640152f35b90506020815191015190602081106101d6575b506001600160a01b031615155f61010b565b5f199060200360031b1b165f6101c4565b80516020149150610105565b634e487b7160e01b5f52604160045260245ffd5b60606100ff565b5f80fd5b601f909101601f19168101906001600160401b038211908210176101f35760405256fe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630cbae520146109475750806311eac855146109045780631efd482a146108c157806352c8c75c146102d457806369bd096e146102905780636e4009831461024f578063775c0d03146102125780639748cf7c146101ce5763e6eb8ade14610081575f80fd5b60403660031901126101cb57610095610988565b6024359067ffffffffffffffff82116101c957366023830112156101c95781600401359067ffffffffffffffff82116101b657602483019260248336920101116101b657836001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691823b156101c557816001600160a01b0391604051928391634f9e72ad60e11b835216948560048301528260248301526060604483015281838161014c606482018b8d6109d4565b03925af180156101ba576101a1575b505061019b7f9e6c52944e331ba6270e7fe4cea2a4086bae8f7a27e1cdba07f416806f5d0ac49360405193849384526040602085015260408401916109d4565b0390a180f35b816101ab9161099e565b6101b657835f61015b565b8380fd5b6040513d84823e3d90fd5b5080fd5b825b80fd5b50346101cb57806003193601126101cb5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cb57806003193601126101cb5760206040517f000000000000000000000000000000000000000000000000000000000000000015158152f35b50346101cb57806003193601126101cb57602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cb57806003193601126101cb5760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b506080366003190112610609576102e9610988565b6024356001600160a01b03811680910361060957604435606435916001600160a01b038316809303610609577f0000000000000000000000000000000000000000000000000000000000000000936001600160a01b038086169116948186148061088f575b1561066957610388846001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001680936109f4565b6040516332dd704760e21b8152602081600481855afa908115610615578891610620575b509060206001600160a01b03926024604051809581936352b7631960e11b8352886004840152165afa9182156106155788926105dd575b5090917f0000000000000000000000000000000000000000000000000000000000000000919085805b610456575050505050917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b93916080935b604051938452602084015260408301526060820152a180f35b848111156105d757845b841561052057833b1561051c578a604051634701287760e11b815282600482015263ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248201528a60448201528460648201528160848201528160a48201526107d060c4820152818160e481838a5af180156101ba57610507575b50505b81039081116104f3578061040c565b634e487b7160e01b8a52601160045260248afd5b816105119161099e565b61051c578a5f6104e1565b8a80fd5b6040516337e9a82760e11b8152600481018290527f000000000000000000000000000000000000000000000000000000000000000063ffffffff166024820152604481018a9052606481018490526020816084818f895af180156105cc57610589575b506104e4565b6020813d82116105c4575b816105a16020938361099e565b810103126105c0575167ffffffffffffffff81160361051c575f610583565b8b80fd5b3d9150610594565b6040513d8e823e3d90fd5b80610460565b9091506020813d60201161060d575b816105f96020938361099e565b810103126106095751905f6103e3565b5f80fd5b3d91506105ec565b6040513d8a823e3d90fd5b90506020813d602011610661575b8161063b6020938361099e565b8101031261065d5751906001600160a01b038216820361065d579060206103ac565b8780fd5b3d915061062e565b509193929150847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168085036107a157803b156101c557818091602460405180948193632e1a7d4d60e01b83528b60048401525af180156101ba5761078c575b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803b156101c557818691608460405180948193634f9e72ad60e11b8352896004840152856024840152606060448401528560648401525af180156101ba5761076d575b5050907fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b936080939261043d565b8161077b919594939561099e565b610788579091845f61073f565b8480fd5b816107969161099e565b61078857845f6106d1565b50506001600160a01b03939192937f0000000000000000000000000000000000000000000000000000000000000000166107dc8382876109f4565b803b15610609575f8091606460405180948193632917540d60e11b83528a60048401528860248401528960448401525af1801561088457610845575b50917fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b939160809361043d565b608093919550916108785f7fd7e09655439c3932e55857df3220186e5a7f0980825f20691c2b35d941dee75b969461099e565b5f959193509193610818565b6040513d5f823e3d90fd5b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016151561034e565b34610609575f3660031901126106095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610609575f3660031901126106095760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b34610609575f366003190112610609576020906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b600435906001600160a01b038216820361060957565b90601f8019910116810190811067ffffffffffffffff8211176109c057604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f1916010190565b6001600160a01b0316916001600160a01b0360405192636eb1769f60e11b84523060048501521690816024840152602083604481875afa928315610884575f93610b4d575b508201809211610b39575f809160405193602085019163095ea7b360e01b83526024860152604485015260448452610a7260648561099e565b60405193610a8160408661099e565b602085527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020860152519082865af13d15610b2c573d9067ffffffffffffffff82116109c057604051610af3949092610ae5601f8201601f19166020018561099e565b83523d5f602085013e610b81565b8051908115918215610b09575b50501561060957565b819250906020918101031261060957602001518015158103610609575f80610b00565b91610af392606091610b81565b634e487b7160e01b5f52601160045260245ffd5b9092506020813d602011610b79575b81610b696020938361099e565b810103126106095751915f610a39565b3d9150610b5c565b91925015610b9d57815115610b94575090565b3b156106095790565b50805190811561060957602001fdfea2646970667358221220c9a555761a233a315f955916a5746d3ef5ffb19d2ae78316983fdd62018eed5264736f6c634300081e0033"}