@across-protocol/contracts 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 (257) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +661 -0
  3. package/README.md +53 -0
  4. package/artifacts/@eth-optimism/contracts/L2/messaging/IL2ERC20Bridge.sol/IL2ERC20Bridge.dbg.json +4 -0
  5. package/artifacts/@eth-optimism/contracts/L2/messaging/IL2ERC20Bridge.sol/IL2ERC20Bridge.json +252 -0
  6. package/artifacts/@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol/CrossDomainEnabled.dbg.json +4 -0
  7. package/artifacts/@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol/CrossDomainEnabled.json +35 -0
  8. package/artifacts/@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol/ICrossDomainMessenger.dbg.json +4 -0
  9. package/artifacts/@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +110 -0
  10. package/artifacts/@eth-optimism/contracts/libraries/constants/Lib_PredeployAddresses.sol/Lib_PredeployAddresses.dbg.json +4 -0
  11. package/artifacts/@eth-optimism/contracts/libraries/constants/Lib_PredeployAddresses.sol/Lib_PredeployAddresses.json +10 -0
  12. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
  13. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
  14. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json +4 -0
  15. package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json +108 -0
  16. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  18. package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.dbg.json +4 -0
  19. package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.json +50 -0
  20. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  21. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  22. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  23. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  24. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  26. package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +4 -0
  27. package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +10 -0
  28. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
  29. package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
  30. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  31. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  32. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
  33. package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
  34. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
  35. package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
  36. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
  37. package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
  38. package/artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.dbg.json +4 -0
  39. package/artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.json +10 -0
  40. package/artifacts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol/SignedSafeMath.dbg.json +4 -0
  41. package/artifacts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol/SignedSafeMath.json +10 -0
  42. package/artifacts/@uma/core/contracts/common/implementation/Lockable.sol/Lockable.dbg.json +4 -0
  43. package/artifacts/@uma/core/contracts/common/implementation/Lockable.sol/Lockable.json +16 -0
  44. package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/Arbitrum_ParentMessenger.sol/Arbitrum_ParentMessenger.dbg.json +4 -0
  45. package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/Arbitrum_ParentMessenger.sol/Arbitrum_ParentMessenger.json +611 -0
  46. package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/ParentMessengerBase.sol/ParentMessengerBase.dbg.json +4 -0
  47. package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/ParentMessengerBase.sol/ParentMessengerBase.json +297 -0
  48. package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerConsumerInterface.sol/ParentMessengerConsumerInterface.dbg.json +4 -0
  49. package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerConsumerInterface.sol/ParentMessengerConsumerInterface.json +29 -0
  50. package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerInterface.sol/ParentMessengerInterface.dbg.json +4 -0
  51. package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerInterface.sol/ParentMessengerInterface.json +37 -0
  52. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.dbg.json +4 -0
  53. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.json +24 -0
  54. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.dbg.json +4 -0
  55. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.json +78 -0
  56. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.dbg.json +4 -0
  57. package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.json +24 -0
  58. package/artifacts/@uma/core/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.dbg.json +4 -0
  59. package/artifacts/@uma/core/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.json +24 -0
  60. package/artifacts/build-info/1cd64db7a8ac0a153df93d26826ad4e9.json +1653 -0
  61. package/artifacts/build-info/1f738b56edd7602183f2f8d2f23f6e90.json +1592 -0
  62. package/artifacts/build-info/343b9221be36acd9ddaca3f3b83d2e75.json +3943 -0
  63. package/artifacts/build-info/622e561692c193f4cd0ff989b5a231e2.json +5661 -0
  64. package/artifacts/build-info/8e408b49e0ff2873bc28d45221a7ff71.json +277715 -0
  65. package/artifacts/build-info/9d1a3182633612bd337d811d567d5d60.json +2072 -0
  66. package/artifacts/build-info/a8cd9c443d245fe513d6650634b60f93.json +23776 -0
  67. package/artifacts/build-info/d302d9d63fbafb5c8d635cc62cb1cc7c.json +167529 -0
  68. package/artifacts/contracts/common/implementation/AncillaryData.sol/AncillaryData.dbg.json +4 -0
  69. package/artifacts/contracts/common/implementation/AncillaryData.sol/AncillaryData.json +10 -0
  70. package/artifacts/contracts/common/implementation/FixedPoint.sol/FixedPoint.dbg.json +4 -0
  71. package/artifacts/contracts/common/implementation/FixedPoint.sol/FixedPoint.json +10 -0
  72. package/artifacts/contracts/common/implementation/Lockable.sol/Lockable.dbg.json +4 -0
  73. package/artifacts/contracts/common/implementation/Lockable.sol/Lockable.json +16 -0
  74. package/artifacts/contracts/common/implementation/MultiCaller.sol/MultiCaller.dbg.json +4 -0
  75. package/artifacts/contracts/common/implementation/MultiCaller.sol/MultiCaller.json +30 -0
  76. package/artifacts/contracts/common/implementation/Testable.sol/Testable.dbg.json +4 -0
  77. package/artifacts/contracts/common/implementation/Testable.sol/Testable.json +50 -0
  78. package/artifacts/contracts/common/implementation/Timer.sol/Timer.dbg.json +4 -0
  79. package/artifacts/contracts/common/implementation/Timer.sol/Timer.json +42 -0
  80. package/artifacts/contracts/common/interfaces/AddressWhitelistInterface.sol/AddressWhitelistInterface.dbg.json +4 -0
  81. package/artifacts/contracts/common/interfaces/AddressWhitelistInterface.sol/AddressWhitelistInterface.json +69 -0
  82. package/artifacts/contracts/external/avm/AVM_CrossDomainEnabled.sol/AVM_CrossDomainEnabled.dbg.json +4 -0
  83. package/artifacts/contracts/external/avm/AVM_CrossDomainEnabled.sol/AVM_CrossDomainEnabled.json +42 -0
  84. package/artifacts/contracts/external/avm/interfaces/ArbSys.sol/ArbSys.dbg.json +4 -0
  85. package/artifacts/contracts/external/avm/interfaces/ArbSys.sol/ArbSys.json +235 -0
  86. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.dbg.json +4 -0
  87. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.json +24 -0
  88. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.dbg.json +4 -0
  89. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.json +78 -0
  90. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.dbg.json +4 -0
  91. package/artifacts/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.json +24 -0
  92. package/artifacts/contracts/external/chainbridge/Bridge.sol/Bridge.dbg.json +4 -0
  93. package/artifacts/contracts/external/chainbridge/Bridge.sol/Bridge.json +1019 -0
  94. package/artifacts/contracts/external/chainbridge/handlers/GenericHandler.sol/GenericHandler.dbg.json +4 -0
  95. package/artifacts/contracts/external/chainbridge/handlers/GenericHandler.sol/GenericHandler.json +314 -0
  96. package/artifacts/contracts/external/chainbridge/interfaces/IBridge.sol/IBridge.dbg.json +4 -0
  97. package/artifacts/contracts/external/chainbridge/interfaces/IBridge.sol/IBridge.json +47 -0
  98. package/artifacts/contracts/external/chainbridge/interfaces/IDepositExecute.sol/IDepositExecute.dbg.json +4 -0
  99. package/artifacts/contracts/external/chainbridge/interfaces/IDepositExecute.sol/IDepositExecute.json +62 -0
  100. package/artifacts/contracts/external/chainbridge/interfaces/IERCHandler.sol/IERCHandler.dbg.json +4 -0
  101. package/artifacts/contracts/external/chainbridge/interfaces/IERCHandler.sol/IERCHandler.json +65 -0
  102. package/artifacts/contracts/external/chainbridge/interfaces/IGenericHandler.sol/IGenericHandler.dbg.json +4 -0
  103. package/artifacts/contracts/external/chainbridge/interfaces/IGenericHandler.sol/IGenericHandler.json +39 -0
  104. package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.dbg.json +4 -0
  105. package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.json +35 -0
  106. package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/iOVM_CrossDomainMessenger.dbg.json +4 -0
  107. package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/iOVM_CrossDomainMessenger.json +86 -0
  108. package/artifacts/contracts/external/polygon/lib/Merkle.sol/Merkle.dbg.json +4 -0
  109. package/artifacts/contracts/external/polygon/lib/Merkle.sol/Merkle.json +10 -0
  110. package/artifacts/contracts/external/polygon/lib/MerklePatriciaProof.sol/MerklePatriciaProof.dbg.json +4 -0
  111. package/artifacts/contracts/external/polygon/lib/MerklePatriciaProof.sol/MerklePatriciaProof.json +10 -0
  112. package/artifacts/contracts/external/polygon/lib/RLPReader.sol/RLPReader.dbg.json +4 -0
  113. package/artifacts/contracts/external/polygon/lib/RLPReader.sol/RLPReader.json +10 -0
  114. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/FxChildMock.dbg.json +4 -0
  115. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/FxChildMock.json +104 -0
  116. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IFxMessageProcessor.dbg.json +4 -0
  117. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IFxMessageProcessor.json +34 -0
  118. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IStateReceiver.dbg.json +4 -0
  119. package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IStateReceiver.json +29 -0
  120. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/FxRootMock.dbg.json +4 -0
  121. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/FxRootMock.json +79 -0
  122. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IFxStateSender.dbg.json +4 -0
  123. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IFxStateSender.json +29 -0
  124. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IStateSender.dbg.json +4 -0
  125. package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IStateSender.json +29 -0
  126. package/artifacts/contracts/external/polygon/test/StateSyncMock.sol/StateSyncMock.dbg.json +4 -0
  127. package/artifacts/contracts/external/polygon/test/StateSyncMock.sol/StateSyncMock.json +54 -0
  128. package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/FxBaseChildTunnel.dbg.json +4 -0
  129. package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/FxBaseChildTunnel.json +86 -0
  130. package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/IFxMessageProcessor.dbg.json +4 -0
  131. package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/IFxMessageProcessor.json +34 -0
  132. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/FxBaseRootTunnel.dbg.json +4 -0
  133. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/FxBaseRootTunnel.json +108 -0
  134. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/ICheckpointManager.dbg.json +4 -0
  135. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/ICheckpointManager.json +50 -0
  136. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/IFxStateSender.dbg.json +4 -0
  137. package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/IFxStateSender.json +29 -0
  138. package/artifacts/contracts/insured-bridge/BridgeAdmin.sol/BridgeAdmin.dbg.json +4 -0
  139. package/artifacts/contracts/insured-bridge/BridgeAdmin.sol/BridgeAdmin.json +662 -0
  140. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/BridgeDepositBox.dbg.json +4 -0
  141. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/BridgeDepositBox.json +391 -0
  142. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/TokenLike.dbg.json +4 -0
  143. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/TokenLike.json +30 -0
  144. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/WETH9Like.dbg.json +4 -0
  145. package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/WETH9Like.json +31 -0
  146. package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePool.dbg.json +4 -0
  147. package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePool.json +1709 -0
  148. package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePoolProd.dbg.json +4 -0
  149. package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePoolProd.json +1709 -0
  150. package/artifacts/contracts/insured-bridge/BridgePool.sol/WETH9Like.dbg.json +4 -0
  151. package/artifacts/contracts/insured-bridge/BridgePool.sol/WETH9Like.json +31 -0
  152. package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/AVM_BridgeDepositBox.dbg.json +4 -0
  153. package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/AVM_BridgeDepositBox.json +564 -0
  154. package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/StandardBridgeLike.dbg.json +4 -0
  155. package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/StandardBridgeLike.json +45 -0
  156. package/artifacts/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.dbg.json +4 -0
  157. package/artifacts/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.json +24 -0
  158. package/artifacts/contracts/insured-bridge/avm/Arbitrum_Messenger.sol/Arbitrum_Messenger.dbg.json +4 -0
  159. package/artifacts/contracts/insured-bridge/avm/Arbitrum_Messenger.sol/Arbitrum_Messenger.json +191 -0
  160. package/artifacts/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol/BridgeAdminInterface.dbg.json +4 -0
  161. package/artifacts/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol/BridgeAdminInterface.json +319 -0
  162. package/artifacts/contracts/insured-bridge/interfaces/BridgePoolInterface.sol/BridgePoolInterface.dbg.json +4 -0
  163. package/artifacts/contracts/insured-bridge/interfaces/BridgePoolInterface.sol/BridgePoolInterface.json +63 -0
  164. package/artifacts/contracts/insured-bridge/interfaces/MessengerInterface.sol/MessengerInterface.dbg.json +4 -0
  165. package/artifacts/contracts/insured-bridge/interfaces/MessengerInterface.sol/MessengerInterface.json +54 -0
  166. package/artifacts/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol/OVM_BridgeDepositBox.dbg.json +4 -0
  167. package/artifacts/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol/OVM_BridgeDepositBox.json +528 -0
  168. package/artifacts/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.dbg.json +4 -0
  169. package/artifacts/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.json +35 -0
  170. package/artifacts/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol/OVM_OETH_BridgeDepositBox.dbg.json +4 -0
  171. package/artifacts/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol/OVM_OETH_BridgeDepositBox.json +572 -0
  172. package/artifacts/contracts/insured-bridge/ovm/Optimism_Messenger.sol/Optimism_Messenger.dbg.json +4 -0
  173. package/artifacts/contracts/insured-bridge/ovm/Optimism_Messenger.sol/Optimism_Messenger.json +130 -0
  174. package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/Optimism_Wrapper.dbg.json +4 -0
  175. package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/Optimism_Wrapper.json +142 -0
  176. package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/WETH9Like.dbg.json +4 -0
  177. package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/WETH9Like.json +55 -0
  178. package/artifacts/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol/iOVM_CrossDomainMessenger.dbg.json +4 -0
  179. package/artifacts/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol/iOVM_CrossDomainMessenger.json +86 -0
  180. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_BridgeMock.dbg.json +4 -0
  181. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_BridgeMock.json +68 -0
  182. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_InboxMock.dbg.json +4 -0
  183. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_InboxMock.json +78 -0
  184. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_OutboxMock.dbg.json +4 -0
  185. package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_OutboxMock.json +24 -0
  186. package/artifacts/contracts/insured-bridge/test/BridgeDepositBoxMock.sol/BridgeDepositBoxMock.dbg.json +4 -0
  187. package/artifacts/contracts/insured-bridge/test/BridgeDepositBoxMock.sol/BridgeDepositBoxMock.json +510 -0
  188. package/artifacts/contracts/insured-bridge/test/MessengerMock.sol/MessengerMock.dbg.json +4 -0
  189. package/artifacts/contracts/insured-bridge/test/MessengerMock.sol/MessengerMock.json +85 -0
  190. package/artifacts/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol/OVM_L1CrossDomainMessengerMock.dbg.json +4 -0
  191. package/artifacts/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol/OVM_L1CrossDomainMessengerMock.json +110 -0
  192. package/artifacts/contracts/oracle/implementation/Constants.sol/OptimisticOracleConstraints.dbg.json +4 -0
  193. package/artifacts/contracts/oracle/implementation/Constants.sol/OptimisticOracleConstraints.json +24 -0
  194. package/artifacts/contracts/oracle/implementation/Constants.sol/OracleInterfaces.dbg.json +4 -0
  195. package/artifacts/contracts/oracle/implementation/Constants.sol/OracleInterfaces.json +141 -0
  196. package/artifacts/contracts/oracle/interfaces/FinderInterface.sol/FinderInterface.dbg.json +4 -0
  197. package/artifacts/contracts/oracle/interfaces/FinderInterface.sol/FinderInterface.json +48 -0
  198. package/artifacts/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.dbg.json +4 -0
  199. package/artifacts/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.json +56 -0
  200. package/artifacts/contracts/oracle/interfaces/OptimisticOracleInterface.sol/OptimisticOracleInterface.dbg.json +4 -0
  201. package/artifacts/contracts/oracle/interfaces/OptimisticOracleInterface.sol/OptimisticOracleInterface.json +555 -0
  202. package/artifacts/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.dbg.json +4 -0
  203. package/artifacts/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.json +853 -0
  204. package/artifacts/contracts/oracle/interfaces/StoreInterface.sol/StoreInterface.dbg.json +4 -0
  205. package/artifacts/contracts/oracle/interfaces/StoreInterface.sol/StoreInterface.json +124 -0
  206. package/contracts/common/implementation/AncillaryData.sol +144 -0
  207. package/contracts/common/implementation/FixedPoint.sol +763 -0
  208. package/contracts/common/implementation/Lockable.sol +61 -0
  209. package/contracts/common/implementation/MultiCaller.sol +27 -0
  210. package/contracts/common/implementation/Testable.sol +52 -0
  211. package/contracts/common/implementation/Timer.sol +30 -0
  212. package/contracts/common/interfaces/AddressWhitelistInterface.sol +12 -0
  213. package/contracts/external/avm/AVM_CrossDomainEnabled.sol +43 -0
  214. package/contracts/external/avm/interfaces/ArbSys.sol +79 -0
  215. package/contracts/external/avm/interfaces/iArbitrum_Inbox.sol +28 -0
  216. package/contracts/external/avm/interfaces/iArbitrum_Outbox.sol +26 -0
  217. package/contracts/external/chainbridge/Bridge.sol +454 -0
  218. package/contracts/external/chainbridge/handlers/GenericHandler.sol +237 -0
  219. package/contracts/external/chainbridge/interfaces/IBridge.sol +20 -0
  220. package/contracts/external/chainbridge/interfaces/IDepositExecute.sol +29 -0
  221. package/contracts/external/chainbridge/interfaces/IERCHandler.sol +33 -0
  222. package/contracts/external/chainbridge/interfaces/IGenericHandler.sol +23 -0
  223. package/contracts/external/ovm/OVM_CrossDomainEnabled.sol +114 -0
  224. package/contracts/external/polygon/lib/Merkle.sol +36 -0
  225. package/contracts/external/polygon/lib/MerklePatriciaProof.sol +139 -0
  226. package/contracts/external/polygon/lib/RLPReader.sol +251 -0
  227. package/contracts/external/polygon/test/FxChildMock.sol +42 -0
  228. package/contracts/external/polygon/test/FxRootMock.sol +32 -0
  229. package/contracts/external/polygon/test/StateSyncMock.sol +26 -0
  230. package/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol +80 -0
  231. package/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol +185 -0
  232. package/contracts/insured-bridge/BridgeAdmin.sol +394 -0
  233. package/contracts/insured-bridge/BridgeDepositBox.sol +245 -0
  234. package/contracts/insured-bridge/BridgePool.sol +980 -0
  235. package/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol +144 -0
  236. package/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol +67 -0
  237. package/contracts/insured-bridge/avm/Arbitrum_Messenger.sol +72 -0
  238. package/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol +44 -0
  239. package/contracts/insured-bridge/interfaces/BridgePoolInterface.sol +14 -0
  240. package/contracts/insured-bridge/interfaces/MessengerInterface.sol +18 -0
  241. package/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol +135 -0
  242. package/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol +84 -0
  243. package/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol +89 -0
  244. package/contracts/insured-bridge/ovm/Optimism_Messenger.sol +34 -0
  245. package/contracts/insured-bridge/ovm/Optimism_Wrapper.sol +59 -0
  246. package/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol +41 -0
  247. package/contracts/insured-bridge/test/Arbitrum_InboxMock.sol +50 -0
  248. package/contracts/insured-bridge/test/BridgeDepositBoxMock.sol +113 -0
  249. package/contracts/insured-bridge/test/MessengerMock.sol +32 -0
  250. package/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol +16 -0
  251. package/contracts/oracle/implementation/Constants.sol +29 -0
  252. package/contracts/oracle/interfaces/FinderInterface.sol +22 -0
  253. package/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol +28 -0
  254. package/contracts/oracle/interfaces/OptimisticOracleInterface.sol +263 -0
  255. package/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol +251 -0
  256. package/contracts/oracle/interfaces/StoreInterface.sol +46 -0
  257. package/package.json +60 -0
@@ -0,0 +1,510 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BridgeDepositBoxMock",
4
+ "sourceName": "contracts/insured-bridge/test/BridgeDepositBoxMock.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_bridgeAdmin",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint64",
15
+ "name": "_minimumBridgingDelay",
16
+ "type": "uint64"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_l1Weth",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "timerAddress",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable",
30
+ "type": "constructor"
31
+ },
32
+ {
33
+ "anonymous": false,
34
+ "inputs": [
35
+ {
36
+ "indexed": false,
37
+ "internalType": "address",
38
+ "name": "l2Token",
39
+ "type": "address"
40
+ },
41
+ {
42
+ "indexed": false,
43
+ "internalType": "bool",
44
+ "name": "depositsEnabled",
45
+ "type": "bool"
46
+ }
47
+ ],
48
+ "name": "DepositsEnabled",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "anonymous": false,
53
+ "inputs": [
54
+ {
55
+ "indexed": false,
56
+ "internalType": "uint256",
57
+ "name": "chainId",
58
+ "type": "uint256"
59
+ },
60
+ {
61
+ "indexed": false,
62
+ "internalType": "uint256",
63
+ "name": "depositId",
64
+ "type": "uint256"
65
+ },
66
+ {
67
+ "indexed": false,
68
+ "internalType": "address",
69
+ "name": "l1Recipient",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": false,
74
+ "internalType": "address",
75
+ "name": "l2Sender",
76
+ "type": "address"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "address",
81
+ "name": "l1Token",
82
+ "type": "address"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "address",
87
+ "name": "l2Token",
88
+ "type": "address"
89
+ },
90
+ {
91
+ "indexed": false,
92
+ "internalType": "uint256",
93
+ "name": "amount",
94
+ "type": "uint256"
95
+ },
96
+ {
97
+ "indexed": false,
98
+ "internalType": "uint64",
99
+ "name": "slowRelayFeePct",
100
+ "type": "uint64"
101
+ },
102
+ {
103
+ "indexed": false,
104
+ "internalType": "uint64",
105
+ "name": "instantRelayFeePct",
106
+ "type": "uint64"
107
+ },
108
+ {
109
+ "indexed": false,
110
+ "internalType": "uint64",
111
+ "name": "quoteTimestamp",
112
+ "type": "uint64"
113
+ }
114
+ ],
115
+ "name": "FundsDeposited",
116
+ "type": "event"
117
+ },
118
+ {
119
+ "anonymous": false,
120
+ "inputs": [
121
+ {
122
+ "indexed": false,
123
+ "internalType": "address",
124
+ "name": "newBridgeAdmin",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "name": "SetBridgeAdmin",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": false,
136
+ "internalType": "uint64",
137
+ "name": "newMinimumBridgingDelay",
138
+ "type": "uint64"
139
+ }
140
+ ],
141
+ "name": "SetMinimumBridgingDelay",
142
+ "type": "event"
143
+ },
144
+ {
145
+ "anonymous": false,
146
+ "inputs": [
147
+ {
148
+ "indexed": true,
149
+ "internalType": "address",
150
+ "name": "l2Token",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "indexed": false,
155
+ "internalType": "uint256",
156
+ "name": "numberOfTokensBridged",
157
+ "type": "uint256"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "l1Gas",
163
+ "type": "uint256"
164
+ },
165
+ {
166
+ "indexed": true,
167
+ "internalType": "address",
168
+ "name": "caller",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "TokensBridged",
173
+ "type": "event"
174
+ },
175
+ {
176
+ "anonymous": false,
177
+ "inputs": [
178
+ {
179
+ "indexed": false,
180
+ "internalType": "address",
181
+ "name": "l1Token",
182
+ "type": "address"
183
+ },
184
+ {
185
+ "indexed": false,
186
+ "internalType": "address",
187
+ "name": "l2Token",
188
+ "type": "address"
189
+ },
190
+ {
191
+ "indexed": false,
192
+ "internalType": "uint64",
193
+ "name": "lastBridgeTime",
194
+ "type": "uint64"
195
+ },
196
+ {
197
+ "indexed": false,
198
+ "internalType": "address",
199
+ "name": "bridgePool",
200
+ "type": "address"
201
+ }
202
+ ],
203
+ "name": "WhitelistToken",
204
+ "type": "event"
205
+ },
206
+ {
207
+ "inputs": [],
208
+ "name": "bridgeAdmin",
209
+ "outputs": [
210
+ {
211
+ "internalType": "address",
212
+ "name": "",
213
+ "type": "address"
214
+ }
215
+ ],
216
+ "stateMutability": "view",
217
+ "type": "function"
218
+ },
219
+ {
220
+ "inputs": [
221
+ {
222
+ "internalType": "address",
223
+ "name": "l2Token",
224
+ "type": "address"
225
+ },
226
+ {
227
+ "internalType": "uint32",
228
+ "name": "l1Gas",
229
+ "type": "uint32"
230
+ }
231
+ ],
232
+ "name": "bridgeTokens",
233
+ "outputs": [],
234
+ "stateMutability": "nonpayable",
235
+ "type": "function"
236
+ },
237
+ {
238
+ "inputs": [
239
+ {
240
+ "internalType": "address",
241
+ "name": "l2Token",
242
+ "type": "address"
243
+ }
244
+ ],
245
+ "name": "canBridge",
246
+ "outputs": [
247
+ {
248
+ "internalType": "bool",
249
+ "name": "",
250
+ "type": "bool"
251
+ }
252
+ ],
253
+ "stateMutability": "view",
254
+ "type": "function"
255
+ },
256
+ {
257
+ "inputs": [],
258
+ "name": "chainId",
259
+ "outputs": [
260
+ {
261
+ "internalType": "uint256",
262
+ "name": "",
263
+ "type": "uint256"
264
+ }
265
+ ],
266
+ "stateMutability": "view",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [
271
+ {
272
+ "internalType": "address",
273
+ "name": "l1Recipient",
274
+ "type": "address"
275
+ },
276
+ {
277
+ "internalType": "address",
278
+ "name": "l2Token",
279
+ "type": "address"
280
+ },
281
+ {
282
+ "internalType": "uint256",
283
+ "name": "amount",
284
+ "type": "uint256"
285
+ },
286
+ {
287
+ "internalType": "uint64",
288
+ "name": "slowRelayFeePct",
289
+ "type": "uint64"
290
+ },
291
+ {
292
+ "internalType": "uint64",
293
+ "name": "instantRelayFeePct",
294
+ "type": "uint64"
295
+ },
296
+ {
297
+ "internalType": "uint64",
298
+ "name": "quoteTimestamp",
299
+ "type": "uint64"
300
+ }
301
+ ],
302
+ "name": "deposit",
303
+ "outputs": [],
304
+ "stateMutability": "payable",
305
+ "type": "function"
306
+ },
307
+ {
308
+ "inputs": [],
309
+ "name": "getCurrentTime",
310
+ "outputs": [
311
+ {
312
+ "internalType": "uint256",
313
+ "name": "",
314
+ "type": "uint256"
315
+ }
316
+ ],
317
+ "stateMutability": "view",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "l2Token",
325
+ "type": "address"
326
+ }
327
+ ],
328
+ "name": "isWhitelistToken",
329
+ "outputs": [
330
+ {
331
+ "internalType": "bool",
332
+ "name": "",
333
+ "type": "bool"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "l1Weth",
342
+ "outputs": [
343
+ {
344
+ "internalType": "address",
345
+ "name": "",
346
+ "type": "address"
347
+ }
348
+ ],
349
+ "stateMutability": "view",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [],
354
+ "name": "minimumBridgingDelay",
355
+ "outputs": [
356
+ {
357
+ "internalType": "uint64",
358
+ "name": "",
359
+ "type": "uint64"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [],
367
+ "name": "numberOfDeposits",
368
+ "outputs": [
369
+ {
370
+ "internalType": "uint256",
371
+ "name": "",
372
+ "type": "uint256"
373
+ }
374
+ ],
375
+ "stateMutability": "view",
376
+ "type": "function"
377
+ },
378
+ {
379
+ "inputs": [
380
+ {
381
+ "internalType": "address",
382
+ "name": "_bridgeAdmin",
383
+ "type": "address"
384
+ }
385
+ ],
386
+ "name": "setCrossDomainAdmin",
387
+ "outputs": [],
388
+ "stateMutability": "nonpayable",
389
+ "type": "function"
390
+ },
391
+ {
392
+ "inputs": [
393
+ {
394
+ "internalType": "uint256",
395
+ "name": "time",
396
+ "type": "uint256"
397
+ }
398
+ ],
399
+ "name": "setCurrentTime",
400
+ "outputs": [],
401
+ "stateMutability": "nonpayable",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "internalType": "address",
408
+ "name": "_l2Token",
409
+ "type": "address"
410
+ },
411
+ {
412
+ "internalType": "bool",
413
+ "name": "_depositsEnabled",
414
+ "type": "bool"
415
+ }
416
+ ],
417
+ "name": "setEnableDeposits",
418
+ "outputs": [],
419
+ "stateMutability": "nonpayable",
420
+ "type": "function"
421
+ },
422
+ {
423
+ "inputs": [
424
+ {
425
+ "internalType": "uint64",
426
+ "name": "_minimumBridgingDelay",
427
+ "type": "uint64"
428
+ }
429
+ ],
430
+ "name": "setMinimumBridgingDelay",
431
+ "outputs": [],
432
+ "stateMutability": "nonpayable",
433
+ "type": "function"
434
+ },
435
+ {
436
+ "inputs": [],
437
+ "name": "timerAddress",
438
+ "outputs": [
439
+ {
440
+ "internalType": "address",
441
+ "name": "",
442
+ "type": "address"
443
+ }
444
+ ],
445
+ "stateMutability": "view",
446
+ "type": "function"
447
+ },
448
+ {
449
+ "inputs": [
450
+ {
451
+ "internalType": "address",
452
+ "name": "l1Token",
453
+ "type": "address"
454
+ },
455
+ {
456
+ "internalType": "address",
457
+ "name": "l2Token",
458
+ "type": "address"
459
+ },
460
+ {
461
+ "internalType": "address",
462
+ "name": "l1BridgePool",
463
+ "type": "address"
464
+ }
465
+ ],
466
+ "name": "whitelistToken",
467
+ "outputs": [],
468
+ "stateMutability": "nonpayable",
469
+ "type": "function"
470
+ },
471
+ {
472
+ "inputs": [
473
+ {
474
+ "internalType": "address",
475
+ "name": "",
476
+ "type": "address"
477
+ }
478
+ ],
479
+ "name": "whitelistedTokens",
480
+ "outputs": [
481
+ {
482
+ "internalType": "address",
483
+ "name": "l1Token",
484
+ "type": "address"
485
+ },
486
+ {
487
+ "internalType": "address",
488
+ "name": "l1BridgePool",
489
+ "type": "address"
490
+ },
491
+ {
492
+ "internalType": "uint64",
493
+ "name": "lastBridgeTime",
494
+ "type": "uint64"
495
+ },
496
+ {
497
+ "internalType": "bool",
498
+ "name": "depositsEnabled",
499
+ "type": "bool"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ }
505
+ ],
506
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002064380380620020648339810160408190526200003491620001d1565b600080546001600160a81b0319166001600160a01b03831617600160a01b17905582600a83836200006584620000a1565b50600191909155600280546001600160a01b0319166001600160a01b03909216919091179055506200009784620000f6565b505050506200023c565b600580546001600160401b0319166001600160401b0383169081179091556040519081527f3f27163d4f4fe7a27a9d79683adf471b236f49fe9e8808717b3cc3c05a27611f906020015b60405180910390a150565b6001600160a01b038116620001515760405162461bcd60e51b815260206004820152601960248201527f4261642062726964676520726f75746572206164647265737300000000000000604482015260640160405180910390fd5b60058054600160401b600160e01b031916680100000000000000006001600160a01b038481168202929092179283905560405192041681527f6d4b0c6c569e24db2326e7ec7e28a339d0e602b357a2930369b180065474c86190602001620000eb565b80516001600160a01b0381168114620001cc57600080fd5b919050565b60008060008060808587031215620001e857600080fd5b620001f385620001b4565b60208601519094506001600160401b03811681146200021157600080fd5b92506200022160408601620001b4565b91506200023160608601620001b4565b905092959194509250565b611e18806200024c6000396000f3fe60806040526004361061010e5760003560e01c80639a8a0592116100a5578063b2d6f4d411610074578063daf9c21011610059578063daf9c2101461033e578063de7eba781461041d578063fbb9fcf71461043d57600080fd5b8063b2d6f4d4146102f1578063c2d9dca91461032b57600080fd5b80639a8a05921461026c5780639bfd2cdc14610282578063a1244c67146102a2578063a6af2dfe146102b857600080fd5b80632ec35b31116100e15780632ec35b31146101dc5780634dedca28146101fc578063563c7f601461021c57806363635fd91461023c57600080fd5b8063146bf4b1146101135780631c39c38d1461016a57806322f8e5661461019757806329cb924d146101b9575b600080fd5b34801561011f57600080fd5b506002546101409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561017657600080fd5b506000546101409073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101a357600080fd5b506101b76101b2366004611abd565b6104a7565b005b3480156101c557600080fd5b506101ce610550565b604051908152602001610161565b3480156101e857600080fd5b506101b76101f7366004611af3565b610617565b34801561020857600080fd5b506101b7610217366004611b32565b6106b5565b34801561022857600080fd5b506101b7610237366004611b83565b610752565b34801561024857600080fd5b5061025c610257366004611bba565b6107ed565b6040519015158152602001610161565b34801561027857600080fd5b506101ce60015481565b34801561028e57600080fd5b506101b761029d366004611bd5565b610850565b3480156102ae57600080fd5b506101ce60035481565b3480156102c457600080fd5b506005546101409068010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102fd57600080fd5b506005546103129067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610161565b6101b7610339366004611c0a565b610b56565b34801561034a57600080fd5b506103d4610359366004611bba565b6004602052600090815260409020805460019091015473ffffffffffffffffffffffffffffffffffffffff9182169181169074010000000000000000000000000000000000000000810467ffffffffffffffff16907c0100000000000000000000000000000000000000000000000000000000900460ff1684565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815294909316602085015267ffffffffffffffff9091169183019190915215156060820152608001610161565b34801561042957600080fd5b506101b7610438366004611bba565b611100565b34801561044957600080fd5b5061025c610458366004611bba565b73ffffffffffffffffffffffffffffffffffffffff1660009081526004602052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff16151590565b60005473ffffffffffffffffffffffffffffffffffffffff166104c957600080fd5b6000546040517f22f8e5660000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906322f8e56690602401600060405180830381600087803b15801561053557600080fd5b505af1158015610549573d6000803e3d6000fd5b5050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16156106125760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329cb924d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d9190611c77565b905090565b504290565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146106a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064015b60405180910390fd5b6106b281611196565b50565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff163314610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b61074d838383611204565b505050565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b6107e982826113dc565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081206001015474010000000000000000000000000000000000000000900467ffffffffffffffff161515801561084a575061084a8261148f565b92915050565b610858611506565b610885600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381600087803b1580156108ef57600080fd5b505af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611c77565b905060008111610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e277420627269646765207a65726f20746f6b656e73000000000000000060448201526064016106a0565b61099c836107ed565b610a28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f6e6f6e2d77686974656c697374656420746f6b656e206f72206c61737420627260448201527f6964676520746f6f20726563656e74000000000000000000000000000000000060648201526084016106a0565b610a30610550565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600460205260409020600101805467ffffffffffffffff9490941674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff85168117909155610ab99391929081169116178361158c565b6040805182815263ffffffff84166020820152339173ffffffffffffffffffffffffffffffffffffffff8616917f95b5ec953bd38fbaa6f859725352bf73202c155a6809e5622c95ceef331eac6c910160405180910390a3506107e9600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604090206001015485907c0100000000000000000000000000000000000000000000000000000000900460ff16610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f436f6e74726163742069732064697361626c656400000000000000000000000060448201526064016106a0565b610c12611506565b610c3f600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff16610cf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6465706f73697420746f6b656e206e6f742077686974656c697374656400000060448201526064016106a0565b6703782dace9d900008467ffffffffffffffff161115610d6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f736c6f7752656c6179466565506374206d757374206265203c3d20323525000060448201526064016106a0565b6703782dace9d900008367ffffffffffffffff161115610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f696e7374616e7452656c6179466565506374206d757374206265203c3d20323560448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016106a0565b610e1a61025883611cbf565b67ffffffffffffffff16610e2c610550565b10158015610e565750610e4182610258611ce8565b67ffffffffffffffff16610e53610550565b11155b610ebc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6465706f736974206d696e656420616674657220646561646c696e650000000060448201526064016106a0565b60025473ffffffffffffffffffffffffffffffffffffffff87811660009081526004602052604090205481169116148015610ef75750600034115b15610fcb57843414610f65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6d73672e76616c7565206d757374206d6174636820616d6f756e74000000000060448201526064016106a0565b8573ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b5050505050610fed565b610fed73ffffffffffffffffffffffffffffffffffffffff8716333088611660565b60015460035473ffffffffffffffffffffffffffffffffffffffff888116600081815260046020908152604091829020548251968752908601949094528b8316908501523360608501529116608083015260a082015260c0810186905267ffffffffffffffff80861660e083015280851661010083015283166101208201527fab77617f2b9bdbb101fc328e585470fb3c845c92b25c4b080cb7b66f7163cf72906101400160405180910390a16001600360008282546110ad9190611d14565b909155506110f79050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50505050505050565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff16331461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b6106b2816116c4565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040519081527f3f27163d4f4fe7a27a9d79683adf471b236f49fe9e8808717b3cc3c05a27611f906020015b60405180910390a150565b60405180608001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200161124f610550565b67ffffffffffffffff90811682526001602092830181905273ffffffffffffffffffffffffffffffffffffffff868116600090815260048552604090819020865181547fffffffffffffffffffffffff0000000000000000000000000000000000000000169084161781559486015194909201805492860151606090960151949091167fffffffff0000000000000000000000000000000000000000000000000000000090921691909117740100000000000000000000000000000000000000009490921693909302177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000911515919091021790557f93f23add56b90352ea2ef3bc2123262792af300dc6060c99f6ee06a7026863bd838361138e610550565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015267ffffffffffffffff90911690820152908316606082015260800160405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff821660008181526004602090815260409182902060010180547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000861515908102919091179091558251938452908301527ff84482204ff927822d3068d71e16e14b51cb1b2adafa7d6e11edc1b8dfd8c0db910160405180910390a15050565b60055473ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604081206001015490916114ed9167ffffffffffffffff918216917401000000000000000000000000000000000000000090910416611ce8565b67ffffffffffffffff166114ff610550565b1192915050565b60005474010000000000000000000000000000000000000000900460ff1661158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106a0565b565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261074d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526117c5565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526116be9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016115de565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4261642062726964676520726f7574657220616464726573730000000000000060448201526064016106a0565b600580547fffffffff0000000000000000000000000000000000000000ffffffffffffffff166801000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192041681527f6d4b0c6c569e24db2326e7ec7e28a339d0e602b357a2930369b180065474c861906020016111f9565b6000611827826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118d19092919063ffffffff16565b80519091501561074d57808060200190518101906118459190611d2c565b61074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106a0565b60606118e084846000856118ea565b90505b9392505050565b60608247101561197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106a0565b843b6119e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a0565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611a0d9190611d75565b60006040518083038185875af1925050503d8060008114611a4a576040519150601f19603f3d011682016040523d82523d6000602084013e611a4f565b606091505b5091509150611a5f828286611a6a565b979650505050505050565b60608315611a795750816118e3565b825115611a895782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a09190611d91565b600060208284031215611acf57600080fd5b5035919050565b803567ffffffffffffffff81168114611aee57600080fd5b919050565b600060208284031215611b0557600080fd5b6118e382611ad6565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aee57600080fd5b600080600060608486031215611b4757600080fd5b611b5084611b0e565b9250611b5e60208501611b0e565b9150611b6c60408501611b0e565b90509250925092565b80151581146106b257600080fd5b60008060408385031215611b9657600080fd5b611b9f83611b0e565b91506020830135611baf81611b75565b809150509250929050565b600060208284031215611bcc57600080fd5b6118e382611b0e565b60008060408385031215611be857600080fd5b611bf183611b0e565b9150602083013563ffffffff81168114611baf57600080fd5b60008060008060008060c08789031215611c2357600080fd5b611c2c87611b0e565b9550611c3a60208801611b0e565b945060408701359350611c4f60608801611ad6565b9250611c5d60808801611ad6565b9150611c6b60a08801611ad6565b90509295509295509295565b600060208284031215611c8957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff83811690831681811015611ce057611ce0611c90565b039392505050565b600067ffffffffffffffff808316818516808303821115611d0b57611d0b611c90565b01949350505050565b60008219821115611d2757611d27611c90565b500190565b600060208284031215611d3e57600080fd5b81516118e381611b75565b60005b83811015611d64578181015183820152602001611d4c565b838111156116be5750506000910152565b60008251611d87818460208701611d49565b9190910192915050565b6020815260008251806020840152611db0816040850160208701611d49565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220537901ffda0020b56713c34db82e6fda1c6bf59f7e94c51d4abd8448edddab0e64736f6c63430008090033",
507
+ "deployedBytecode": "0x60806040526004361061010e5760003560e01c80639a8a0592116100a5578063b2d6f4d411610074578063daf9c21011610059578063daf9c2101461033e578063de7eba781461041d578063fbb9fcf71461043d57600080fd5b8063b2d6f4d4146102f1578063c2d9dca91461032b57600080fd5b80639a8a05921461026c5780639bfd2cdc14610282578063a1244c67146102a2578063a6af2dfe146102b857600080fd5b80632ec35b31116100e15780632ec35b31146101dc5780634dedca28146101fc578063563c7f601461021c57806363635fd91461023c57600080fd5b8063146bf4b1146101135780631c39c38d1461016a57806322f8e5661461019757806329cb924d146101b9575b600080fd5b34801561011f57600080fd5b506002546101409073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561017657600080fd5b506000546101409073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101a357600080fd5b506101b76101b2366004611abd565b6104a7565b005b3480156101c557600080fd5b506101ce610550565b604051908152602001610161565b3480156101e857600080fd5b506101b76101f7366004611af3565b610617565b34801561020857600080fd5b506101b7610217366004611b32565b6106b5565b34801561022857600080fd5b506101b7610237366004611b83565b610752565b34801561024857600080fd5b5061025c610257366004611bba565b6107ed565b6040519015158152602001610161565b34801561027857600080fd5b506101ce60015481565b34801561028e57600080fd5b506101b761029d366004611bd5565b610850565b3480156102ae57600080fd5b506101ce60035481565b3480156102c457600080fd5b506005546101409068010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156102fd57600080fd5b506005546103129067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610161565b6101b7610339366004611c0a565b610b56565b34801561034a57600080fd5b506103d4610359366004611bba565b6004602052600090815260409020805460019091015473ffffffffffffffffffffffffffffffffffffffff9182169181169074010000000000000000000000000000000000000000810467ffffffffffffffff16907c0100000000000000000000000000000000000000000000000000000000900460ff1684565b6040805173ffffffffffffffffffffffffffffffffffffffff958616815294909316602085015267ffffffffffffffff9091169183019190915215156060820152608001610161565b34801561042957600080fd5b506101b7610438366004611bba565b611100565b34801561044957600080fd5b5061025c610458366004611bba565b73ffffffffffffffffffffffffffffffffffffffff1660009081526004602052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff16151590565b60005473ffffffffffffffffffffffffffffffffffffffff166104c957600080fd5b6000546040517f22f8e5660000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906322f8e56690602401600060405180830381600087803b15801561053557600080fd5b505af1158015610549573d6000803e3d6000fd5b5050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16156106125760008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329cb924d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d557600080fd5b505afa1580156105e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060d9190611c77565b905090565b504290565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146106a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064015b60405180910390fd5b6106b281611196565b50565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff163314610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b61074d838383611204565b505050565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146107df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b6107e982826113dc565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604081206001015474010000000000000000000000000000000000000000900467ffffffffffffffff161515801561084a575061084a8261148f565b92915050565b610858611506565b610885600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381600087803b1580156108ef57600080fd5b505af1158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190611c77565b905060008111610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e277420627269646765207a65726f20746f6b656e73000000000000000060448201526064016106a0565b61099c836107ed565b610a28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f6e6f6e2d77686974656c697374656420746f6b656e206f72206c61737420627260448201527f6964676520746f6f20726563656e74000000000000000000000000000000000060648201526084016106a0565b610a30610550565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152600460205260409020600101805467ffffffffffffffff9490941674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff85168117909155610ab99391929081169116178361158c565b6040805182815263ffffffff84166020820152339173ffffffffffffffffffffffffffffffffffffffff8616917f95b5ec953bd38fbaa6f859725352bf73202c155a6809e5622c95ceef331eac6c910160405180910390a3506107e9600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff851660009081526004602052604090206001015485907c0100000000000000000000000000000000000000000000000000000000900460ff16610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f436f6e74726163742069732064697361626c656400000000000000000000000060448201526064016106a0565b610c12611506565b610c3f600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff16610cf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6465706f73697420746f6b656e206e6f742077686974656c697374656400000060448201526064016106a0565b6703782dace9d900008467ffffffffffffffff161115610d6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f736c6f7752656c6179466565506374206d757374206265203c3d20323525000060448201526064016106a0565b6703782dace9d900008367ffffffffffffffff161115610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f696e7374616e7452656c6179466565506374206d757374206265203c3d20323560448201527f250000000000000000000000000000000000000000000000000000000000000060648201526084016106a0565b610e1a61025883611cbf565b67ffffffffffffffff16610e2c610550565b10158015610e565750610e4182610258611ce8565b67ffffffffffffffff16610e53610550565b11155b610ebc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6465706f736974206d696e656420616674657220646561646c696e650000000060448201526064016106a0565b60025473ffffffffffffffffffffffffffffffffffffffff87811660009081526004602052604090205481169116148015610ef75750600034115b15610fcb57843414610f65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6d73672e76616c7565206d757374206d6174636820616d6f756e74000000000060448201526064016106a0565b8573ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b5050505050610fed565b610fed73ffffffffffffffffffffffffffffffffffffffff8716333088611660565b60015460035473ffffffffffffffffffffffffffffffffffffffff888116600081815260046020908152604091829020548251968752908601949094528b8316908501523360608501529116608083015260a082015260c0810186905267ffffffffffffffff80861660e083015280851661010083015283166101208201527fab77617f2b9bdbb101fc328e585470fb3c845c92b25c4b080cb7b66f7163cf72906101400160405180910390a16001600360008282546110ad9190611d14565b909155506110f79050600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50505050505050565b60055468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff16331461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f4e6f74206272696467652061646d696e0000000000000000000000000000000060448201526064016106a0565b6106b2816116c4565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040519081527f3f27163d4f4fe7a27a9d79683adf471b236f49fe9e8808717b3cc3c05a27611f906020015b60405180910390a150565b60405180608001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200161124f610550565b67ffffffffffffffff90811682526001602092830181905273ffffffffffffffffffffffffffffffffffffffff868116600090815260048552604090819020865181547fffffffffffffffffffffffff0000000000000000000000000000000000000000169084161781559486015194909201805492860151606090960151949091167fffffffff0000000000000000000000000000000000000000000000000000000090921691909117740100000000000000000000000000000000000000009490921693909302177fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000911515919091021790557f93f23add56b90352ea2ef3bc2123262792af300dc6060c99f6ee06a7026863bd838361138e610550565b6040805173ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015267ffffffffffffffff90911690820152908316606082015260800160405180910390a1505050565b73ffffffffffffffffffffffffffffffffffffffff821660008181526004602090815260409182902060010180547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c0100000000000000000000000000000000000000000000000000000000861515908102919091179091558251938452908301527ff84482204ff927822d3068d71e16e14b51cb1b2adafa7d6e11edc1b8dfd8c0db910160405180910390a15050565b60055473ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604081206001015490916114ed9167ffffffffffffffff918216917401000000000000000000000000000000000000000090910416611ce8565b67ffffffffffffffff166114ff610550565b1192915050565b60005474010000000000000000000000000000000000000000900460ff1661158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106a0565b565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261074d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526117c5565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526116be9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016115de565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4261642062726964676520726f7574657220616464726573730000000000000060448201526064016106a0565b600580547fffffffff0000000000000000000000000000000000000000ffffffffffffffff166801000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192041681527f6d4b0c6c569e24db2326e7ec7e28a339d0e602b357a2930369b180065474c861906020016111f9565b6000611827826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118d19092919063ffffffff16565b80519091501561074d57808060200190518101906118459190611d2c565b61074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106a0565b60606118e084846000856118ea565b90505b9392505050565b60608247101561197c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106a0565b843b6119e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a0565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611a0d9190611d75565b60006040518083038185875af1925050503d8060008114611a4a576040519150601f19603f3d011682016040523d82523d6000602084013e611a4f565b606091505b5091509150611a5f828286611a6a565b979650505050505050565b60608315611a795750816118e3565b825115611a895782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a09190611d91565b600060208284031215611acf57600080fd5b5035919050565b803567ffffffffffffffff81168114611aee57600080fd5b919050565b600060208284031215611b0557600080fd5b6118e382611ad6565b803573ffffffffffffffffffffffffffffffffffffffff81168114611aee57600080fd5b600080600060608486031215611b4757600080fd5b611b5084611b0e565b9250611b5e60208501611b0e565b9150611b6c60408501611b0e565b90509250925092565b80151581146106b257600080fd5b60008060408385031215611b9657600080fd5b611b9f83611b0e565b91506020830135611baf81611b75565b809150509250929050565b600060208284031215611bcc57600080fd5b6118e382611b0e565b60008060408385031215611be857600080fd5b611bf183611b0e565b9150602083013563ffffffff81168114611baf57600080fd5b60008060008060008060c08789031215611c2357600080fd5b611c2c87611b0e565b9550611c3a60208801611b0e565b945060408701359350611c4f60608801611ad6565b9250611c5d60808801611ad6565b9150611c6b60a08801611ad6565b90509295509295509295565b600060208284031215611c8957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff83811690831681811015611ce057611ce0611c90565b039392505050565b600067ffffffffffffffff808316818516808303821115611d0b57611d0b611c90565b01949350505050565b60008219821115611d2757611d27611c90565b500190565b600060208284031215611d3e57600080fd5b81516118e381611b75565b60005b83811015611d64578181015183820152602001611d4c565b838111156116be5750506000910152565b60008251611d87818460208701611d49565b9190910192915050565b6020815260008251806020840152611db0816040850160208701611d49565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220537901ffda0020b56713c34db82e6fda1c6bf59f7e94c51d4abd8448edddab0e64736f6c63430008090033",
508
+ "linkReferences": {},
509
+ "deployedLinkReferences": {}
510
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/8e408b49e0ff2873bc28d45221a7ff71.json"
4
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "MessengerMock",
4
+ "sourceName": "contracts/insured-bridge/test/MessengerMock.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "target",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint256",
18
+ "name": "gasLimit",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint256",
24
+ "name": "gasPrice",
25
+ "type": "uint256"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "bytes",
30
+ "name": "message",
31
+ "type": "bytes"
32
+ }
33
+ ],
34
+ "name": "RelayedMessage",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "inputs": [
39
+ {
40
+ "internalType": "address",
41
+ "name": "target",
42
+ "type": "address"
43
+ },
44
+ {
45
+ "internalType": "address",
46
+ "name": "",
47
+ "type": "address"
48
+ },
49
+ {
50
+ "internalType": "uint256",
51
+ "name": "",
52
+ "type": "uint256"
53
+ },
54
+ {
55
+ "internalType": "uint256",
56
+ "name": "gasLimit",
57
+ "type": "uint256"
58
+ },
59
+ {
60
+ "internalType": "uint256",
61
+ "name": "gasPrice",
62
+ "type": "uint256"
63
+ },
64
+ {
65
+ "internalType": "uint256",
66
+ "name": "",
67
+ "type": "uint256"
68
+ },
69
+ {
70
+ "internalType": "bytes",
71
+ "name": "message",
72
+ "type": "bytes"
73
+ }
74
+ ],
75
+ "name": "relayMessage",
76
+ "outputs": [],
77
+ "stateMutability": "payable",
78
+ "type": "function"
79
+ }
80
+ ],
81
+ "bytecode": "0x608060405234801561001057600080fd5b506102ba806100206000396000f3fe60806040526004361061001e5760003560e01c80639e353c7014610023575b600080fd5b6100366100313660046100eb565b610038565b005b8673ffffffffffffffffffffffffffffffffffffffff167f8ebab515032263ff7c9518ea7e5ed848d0331a7a46c999129f393bb28e8fa52c85858460405161008293929190610202565b60405180910390a250505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146100b757600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080600080600060e0888a03121561010657600080fd5b61010f88610093565b965061011d60208901610093565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff8082111561015657600080fd5b818a0191508a601f83011261016a57600080fd5b81358181111561017c5761017c6100bc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101c2576101c26100bc565b816040528281528d60208487010111156101db57600080fd5b82602086016020830137600060208483010152809550505050505092959891949750929550565b83815260006020848184015260606040840152835180606085015260005b8181101561023c57858101830151858201608001528201610220565b8181111561024e576000608083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016080019594505050505056fea2646970667358221220c20ec9944343b6e2485505386c2e29d12abbdf467208756b2f696fcf4314d30064736f6c63430008090033",
82
+ "deployedBytecode": "0x60806040526004361061001e5760003560e01c80639e353c7014610023575b600080fd5b6100366100313660046100eb565b610038565b005b8673ffffffffffffffffffffffffffffffffffffffff167f8ebab515032263ff7c9518ea7e5ed848d0331a7a46c999129f393bb28e8fa52c85858460405161008293929190610202565b60405180910390a250505050505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146100b757600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080600080600080600060e0888a03121561010657600080fd5b61010f88610093565b965061011d60208901610093565b955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff8082111561015657600080fd5b818a0191508a601f83011261016a57600080fd5b81358181111561017c5761017c6100bc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156101c2576101c26100bc565b816040528281528d60208487010111156101db57600080fd5b82602086016020830137600060208483010152809550505050505092959891949750929550565b83815260006020848184015260606040840152835180606085015260005b8181101561023c57858101830151858201608001528201610220565b8181111561024e576000608083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016080019594505050505056fea2646970667358221220c20ec9944343b6e2485505386c2e29d12abbdf467208756b2f696fcf4314d30064736f6c63430008090033",
83
+ "linkReferences": {},
84
+ "deployedLinkReferences": {}
85
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../build-info/8e408b49e0ff2873bc28d45221a7ff71.json"
4
+ }