@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,611 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Arbitrum_ParentMessenger",
4
+ "sourceName": "@uma/core/contracts/cross-chain-oracle/chain-adapters/Arbitrum_ParentMessenger.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_inbox",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "uint256",
15
+ "name": "_childChainId",
16
+ "type": "uint256"
17
+ }
18
+ ],
19
+ "stateMutability": "nonpayable",
20
+ "type": "constructor"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [
25
+ {
26
+ "indexed": false,
27
+ "internalType": "bytes",
28
+ "name": "data",
29
+ "type": "bytes"
30
+ },
31
+ {
32
+ "indexed": true,
33
+ "internalType": "address",
34
+ "name": "childMessenger",
35
+ "type": "address"
36
+ },
37
+ {
38
+ "indexed": true,
39
+ "internalType": "address",
40
+ "name": "targetHub",
41
+ "type": "address"
42
+ }
43
+ ],
44
+ "name": "MessageReceivedFromChild",
45
+ "type": "event"
46
+ },
47
+ {
48
+ "anonymous": false,
49
+ "inputs": [
50
+ {
51
+ "indexed": false,
52
+ "internalType": "bytes",
53
+ "name": "data",
54
+ "type": "bytes"
55
+ },
56
+ {
57
+ "indexed": true,
58
+ "internalType": "address",
59
+ "name": "targetSpoke",
60
+ "type": "address"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "uint256",
65
+ "name": "l1CallValue",
66
+ "type": "uint256"
67
+ },
68
+ {
69
+ "indexed": false,
70
+ "internalType": "uint32",
71
+ "name": "gasLimit",
72
+ "type": "uint32"
73
+ },
74
+ {
75
+ "indexed": false,
76
+ "internalType": "uint256",
77
+ "name": "gasPrice",
78
+ "type": "uint256"
79
+ },
80
+ {
81
+ "indexed": false,
82
+ "internalType": "uint256",
83
+ "name": "maxSubmissionCost",
84
+ "type": "uint256"
85
+ },
86
+ {
87
+ "indexed": false,
88
+ "internalType": "address",
89
+ "name": "refundL2Address",
90
+ "type": "address"
91
+ },
92
+ {
93
+ "indexed": true,
94
+ "internalType": "address",
95
+ "name": "childMessenger",
96
+ "type": "address"
97
+ },
98
+ {
99
+ "indexed": false,
100
+ "internalType": "uint256",
101
+ "name": "sequenceNumber",
102
+ "type": "uint256"
103
+ }
104
+ ],
105
+ "name": "MessageSentToChild",
106
+ "type": "event"
107
+ },
108
+ {
109
+ "anonymous": false,
110
+ "inputs": [
111
+ {
112
+ "indexed": true,
113
+ "internalType": "address",
114
+ "name": "previousOwner",
115
+ "type": "address"
116
+ },
117
+ {
118
+ "indexed": true,
119
+ "internalType": "address",
120
+ "name": "newOwner",
121
+ "type": "address"
122
+ }
123
+ ],
124
+ "name": "OwnershipTransferred",
125
+ "type": "event"
126
+ },
127
+ {
128
+ "anonymous": false,
129
+ "inputs": [
130
+ {
131
+ "indexed": true,
132
+ "internalType": "address",
133
+ "name": "childMessenger",
134
+ "type": "address"
135
+ }
136
+ ],
137
+ "name": "SetChildMessenger",
138
+ "type": "event"
139
+ },
140
+ {
141
+ "anonymous": false,
142
+ "inputs": [
143
+ {
144
+ "indexed": false,
145
+ "internalType": "uint32",
146
+ "name": "newDefaultGasLimit",
147
+ "type": "uint32"
148
+ }
149
+ ],
150
+ "name": "SetDefaultGasLimit",
151
+ "type": "event"
152
+ },
153
+ {
154
+ "anonymous": false,
155
+ "inputs": [
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "newDefaultGasPrice",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "SetDefaultGasPrice",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": false,
171
+ "internalType": "uint256",
172
+ "name": "newMaxSubmissionCost",
173
+ "type": "uint256"
174
+ }
175
+ ],
176
+ "name": "SetDefaultMaxSubmissionCost",
177
+ "type": "event"
178
+ },
179
+ {
180
+ "anonymous": false,
181
+ "inputs": [
182
+ {
183
+ "indexed": true,
184
+ "internalType": "address",
185
+ "name": "governorHub",
186
+ "type": "address"
187
+ }
188
+ ],
189
+ "name": "SetGovernorHub",
190
+ "type": "event"
191
+ },
192
+ {
193
+ "anonymous": false,
194
+ "inputs": [
195
+ {
196
+ "indexed": true,
197
+ "internalType": "address",
198
+ "name": "governorSpoke",
199
+ "type": "address"
200
+ }
201
+ ],
202
+ "name": "SetGovernorSpoke",
203
+ "type": "event"
204
+ },
205
+ {
206
+ "anonymous": false,
207
+ "inputs": [
208
+ {
209
+ "indexed": true,
210
+ "internalType": "address",
211
+ "name": "oracleHub",
212
+ "type": "address"
213
+ }
214
+ ],
215
+ "name": "SetOracleHub",
216
+ "type": "event"
217
+ },
218
+ {
219
+ "anonymous": false,
220
+ "inputs": [
221
+ {
222
+ "indexed": true,
223
+ "internalType": "address",
224
+ "name": "oracleSpoke",
225
+ "type": "address"
226
+ }
227
+ ],
228
+ "name": "SetOracleSpoke",
229
+ "type": "event"
230
+ },
231
+ {
232
+ "anonymous": false,
233
+ "inputs": [
234
+ {
235
+ "indexed": false,
236
+ "internalType": "address",
237
+ "name": "newRefundL2Address",
238
+ "type": "address"
239
+ }
240
+ ],
241
+ "name": "SetRefundL2Address",
242
+ "type": "event"
243
+ },
244
+ {
245
+ "stateMutability": "payable",
246
+ "type": "fallback"
247
+ },
248
+ {
249
+ "inputs": [],
250
+ "name": "childChainId",
251
+ "outputs": [
252
+ {
253
+ "internalType": "uint256",
254
+ "name": "",
255
+ "type": "uint256"
256
+ }
257
+ ],
258
+ "stateMutability": "view",
259
+ "type": "function"
260
+ },
261
+ {
262
+ "inputs": [],
263
+ "name": "childMessenger",
264
+ "outputs": [
265
+ {
266
+ "internalType": "address",
267
+ "name": "",
268
+ "type": "address"
269
+ }
270
+ ],
271
+ "stateMutability": "view",
272
+ "type": "function"
273
+ },
274
+ {
275
+ "inputs": [],
276
+ "name": "defaultGasLimit",
277
+ "outputs": [
278
+ {
279
+ "internalType": "uint32",
280
+ "name": "",
281
+ "type": "uint32"
282
+ }
283
+ ],
284
+ "stateMutability": "view",
285
+ "type": "function"
286
+ },
287
+ {
288
+ "inputs": [],
289
+ "name": "defaultGasPrice",
290
+ "outputs": [
291
+ {
292
+ "internalType": "uint256",
293
+ "name": "",
294
+ "type": "uint256"
295
+ }
296
+ ],
297
+ "stateMutability": "view",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [],
302
+ "name": "defaultMaxSubmissionCost",
303
+ "outputs": [
304
+ {
305
+ "internalType": "uint256",
306
+ "name": "",
307
+ "type": "uint256"
308
+ }
309
+ ],
310
+ "stateMutability": "view",
311
+ "type": "function"
312
+ },
313
+ {
314
+ "inputs": [],
315
+ "name": "getL1CallValue",
316
+ "outputs": [
317
+ {
318
+ "internalType": "uint256",
319
+ "name": "",
320
+ "type": "uint256"
321
+ }
322
+ ],
323
+ "stateMutability": "view",
324
+ "type": "function"
325
+ },
326
+ {
327
+ "inputs": [],
328
+ "name": "governorHub",
329
+ "outputs": [
330
+ {
331
+ "internalType": "address",
332
+ "name": "",
333
+ "type": "address"
334
+ }
335
+ ],
336
+ "stateMutability": "view",
337
+ "type": "function"
338
+ },
339
+ {
340
+ "inputs": [],
341
+ "name": "governorSpoke",
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": "inbox",
355
+ "outputs": [
356
+ {
357
+ "internalType": "contract iArbitrum_Inbox",
358
+ "name": "",
359
+ "type": "address"
360
+ }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function"
364
+ },
365
+ {
366
+ "inputs": [],
367
+ "name": "oracleHub",
368
+ "outputs": [
369
+ {
370
+ "internalType": "address",
371
+ "name": "",
372
+ "type": "address"
373
+ }
374
+ ],
375
+ "stateMutability": "view",
376
+ "type": "function"
377
+ },
378
+ {
379
+ "inputs": [],
380
+ "name": "oracleSpoke",
381
+ "outputs": [
382
+ {
383
+ "internalType": "address",
384
+ "name": "",
385
+ "type": "address"
386
+ }
387
+ ],
388
+ "stateMutability": "view",
389
+ "type": "function"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "owner",
394
+ "outputs": [
395
+ {
396
+ "internalType": "address",
397
+ "name": "",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "internalType": "bytes",
408
+ "name": "data",
409
+ "type": "bytes"
410
+ }
411
+ ],
412
+ "name": "processMessageFromCrossChainChild",
413
+ "outputs": [],
414
+ "stateMutability": "nonpayable",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [],
419
+ "name": "refundL2Address",
420
+ "outputs": [
421
+ {
422
+ "internalType": "address",
423
+ "name": "",
424
+ "type": "address"
425
+ }
426
+ ],
427
+ "stateMutability": "view",
428
+ "type": "function"
429
+ },
430
+ {
431
+ "inputs": [],
432
+ "name": "renounceOwnership",
433
+ "outputs": [],
434
+ "stateMutability": "nonpayable",
435
+ "type": "function"
436
+ },
437
+ {
438
+ "inputs": [
439
+ {
440
+ "internalType": "bytes",
441
+ "name": "data",
442
+ "type": "bytes"
443
+ }
444
+ ],
445
+ "name": "sendMessageToChild",
446
+ "outputs": [],
447
+ "stateMutability": "nonpayable",
448
+ "type": "function"
449
+ },
450
+ {
451
+ "inputs": [
452
+ {
453
+ "internalType": "address",
454
+ "name": "newChildMessenger",
455
+ "type": "address"
456
+ }
457
+ ],
458
+ "name": "setChildMessenger",
459
+ "outputs": [],
460
+ "stateMutability": "nonpayable",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "address",
467
+ "name": "newOracleSpoke",
468
+ "type": "address"
469
+ }
470
+ ],
471
+ "name": "setChildOracleSpoke",
472
+ "outputs": [],
473
+ "stateMutability": "nonpayable",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [
478
+ {
479
+ "internalType": "address",
480
+ "name": "newParentMessenger",
481
+ "type": "address"
482
+ }
483
+ ],
484
+ "name": "setChildParentMessenger",
485
+ "outputs": [],
486
+ "stateMutability": "nonpayable",
487
+ "type": "function"
488
+ },
489
+ {
490
+ "inputs": [
491
+ {
492
+ "internalType": "uint32",
493
+ "name": "newDefaultGasLimit",
494
+ "type": "uint32"
495
+ }
496
+ ],
497
+ "name": "setDefaultGasLimit",
498
+ "outputs": [],
499
+ "stateMutability": "nonpayable",
500
+ "type": "function"
501
+ },
502
+ {
503
+ "inputs": [
504
+ {
505
+ "internalType": "uint256",
506
+ "name": "newDefaultGasPrice",
507
+ "type": "uint256"
508
+ }
509
+ ],
510
+ "name": "setDefaultGasPrice",
511
+ "outputs": [],
512
+ "stateMutability": "nonpayable",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [
517
+ {
518
+ "internalType": "uint256",
519
+ "name": "newDefaultMaxSubmissionCost",
520
+ "type": "uint256"
521
+ }
522
+ ],
523
+ "name": "setDefaultMaxSubmissionCost",
524
+ "outputs": [],
525
+ "stateMutability": "nonpayable",
526
+ "type": "function"
527
+ },
528
+ {
529
+ "inputs": [
530
+ {
531
+ "internalType": "address",
532
+ "name": "newGovernorHub",
533
+ "type": "address"
534
+ }
535
+ ],
536
+ "name": "setGovernorHub",
537
+ "outputs": [],
538
+ "stateMutability": "nonpayable",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "address",
545
+ "name": "newGovernorSpoke",
546
+ "type": "address"
547
+ }
548
+ ],
549
+ "name": "setGovernorSpoke",
550
+ "outputs": [],
551
+ "stateMutability": "nonpayable",
552
+ "type": "function"
553
+ },
554
+ {
555
+ "inputs": [
556
+ {
557
+ "internalType": "address",
558
+ "name": "newOracleHub",
559
+ "type": "address"
560
+ }
561
+ ],
562
+ "name": "setOracleHub",
563
+ "outputs": [],
564
+ "stateMutability": "nonpayable",
565
+ "type": "function"
566
+ },
567
+ {
568
+ "inputs": [
569
+ {
570
+ "internalType": "address",
571
+ "name": "newOracleSpoke",
572
+ "type": "address"
573
+ }
574
+ ],
575
+ "name": "setOracleSpoke",
576
+ "outputs": [],
577
+ "stateMutability": "nonpayable",
578
+ "type": "function"
579
+ },
580
+ {
581
+ "inputs": [
582
+ {
583
+ "internalType": "address",
584
+ "name": "newRefundl2Address",
585
+ "type": "address"
586
+ }
587
+ ],
588
+ "name": "setRefundL2Address",
589
+ "outputs": [],
590
+ "stateMutability": "nonpayable",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [
595
+ {
596
+ "internalType": "address",
597
+ "name": "newOwner",
598
+ "type": "address"
599
+ }
600
+ ],
601
+ "name": "transferOwnership",
602
+ "outputs": [],
603
+ "stateMutability": "nonpayable",
604
+ "type": "function"
605
+ }
606
+ ],
607
+ "bytecode": "0x60a06040526006805463ffffffff60a81b19166201312d60ae1b17905567016345785d8a00006007556402540be4006008553480156200003e57600080fd5b50604051620022f6380380620022f6833981016040819052620000619162000101565b6001600160a01b038216608052600080546001600160a01b031916339081178255604051839282917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001556006805460ff60a01b1916600160a01b179055620000d86000546001600160a01b031690565b600980546001600160a01b0319166001600160a01b0392909216919091179055506200013d9050565b600080604083850312156200011557600080fd5b82516001600160a01b03811681146200012d57600080fd5b6020939093015192949293505050565b60805161218f620001676000396000818161059e0152818161083a0152611cb6015261218f6000f3fe6080604052600436106101a25760003560e01c80638b42a40a116100e0578063b14b0f5611610084578063d78eb11f11610061578063d78eb11f14610540578063e7b4294c14610556578063f2fde38b1461056c578063fb0e722b1461058c57005b8063b14b0f56146104dd578063bcafec13146104f3578063c75ba1f41461052057005b806395368d2e116100bd57806395368d2e1461042557806398e1e16f14610470578063a0cadf0b1461049d578063acab324c146104bd57005b80638b42a40a146103ad5780638d09550e146103cd5780638da5cb5b146103fa57005b80635f234d5311610147578063715018a611610124578063715018a61461032b57806373d62b4614610340578063816c24441461036d57806381e8ea461461038d57005b80635f234d531461028c57806362315c42146102de5780637092a2b2146102fe57005b8063109ff9a911610180578063109ff9a91461020c5780631a50ad301461022c5780634c09e6e81461024c578063524b6f701461026c57005b806308f1ed15146101a45780630a2b5e03146101cc5780630e28c764146101ec575b005b3480156101b057600080fd5b506101b96105c0565b6040519081526020015b60405180910390f35b3480156101d857600080fd5b506101a26101e7366004611d9e565b6105d7565b3480156101f857600080fd5b506101a2610207366004611d9e565b6106cc565b34801561021857600080fd5b506101a2610227366004611df1565b610813565b34801561023857600080fd5b506101a2610247366004611d9e565b610c4f565b34801561025857600080fd5b506101a2610267366004611df1565b610d3f565b34801561027857600080fd5b506101a2610287366004611ec0565b610f53565b34801561029857600080fd5b506002546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c3565b3480156102ea57600080fd5b506101a26102f9366004611d9e565b6110cf565b34801561030a57600080fd5b506006546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561033757600080fd5b506101a26111bf565b34801561034c57600080fd5b506003546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561037957600080fd5b506101a2610388366004611d9e565b6112af565b34801561039957600080fd5b506101a26103a8366004611d9e565b6113d8565b3480156103b957600080fd5b506101a26103c8366004611ee6565b6114c8565b3480156103d957600080fd5b506004546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561040657600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102b9565b34801561043157600080fd5b5060065461045b907501000000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101c3565b34801561047c57600080fd5b506005546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104a957600080fd5b506101a26104b8366004611ee6565b6115b3565b3480156104c957600080fd5b506101a26104d8366004611d9e565b61169e565b3480156104e957600080fd5b506101b960015481565b3480156104ff57600080fd5b506009546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052c57600080fd5b506101a261053b366004611d9e565b6117e1565b34801561054c57600080fd5b506101b960075481565b34801561056257600080fd5b506101b960085481565b34801561057857600080fd5b506101a2610587366004611d9e565b6118d1565b34801561059857600080fd5b506102b97f000000000000000000000000000000000000000000000000000000000000000081565b60006105ca611a82565b6105d2611b08565b905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461065d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f378c0ff663d300fda5b8ad9e2dee32975ac78884277c539d47671a8d2b5d797b90600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b60405173ffffffffffffffffffffffffffffffffffffffff82166024820152600090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc948564b0000000000000000000000000000000000000000000000000000000017905260025490915061080f90829073ffffffffffffffffffffffffffffffffffffffff16611b48565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b15801561089e57600080fd5b505afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611eff565b90503373ffffffffffffffffffffffffffffffffffffffff821614610957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e4f545f46524f4d5f42524944474500000000000000000000000000000000006044820152606401610654565b60008173ffffffffffffffffffffffffffffffffffffffff1663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b15801561099f57600080fd5b505afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d79190611eff565b73ffffffffffffffffffffffffffffffffffffffff166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1c57600080fd5b505afa158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190611eff565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f4e4c595f434f554e544552504152545f4741544557415900000000000000006044820152606401610654565b610af3611a82565b610b20600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b6003546001546040517f6423b60e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636423b60e91610b79918890600401611f87565b600060405180830381600087803b158015610b9357600080fd5b505af1158015610ba7573d6000803e3d6000fd5b505060035460025460405173ffffffffffffffffffffffffffffffffffffffff9283169450911691507f0900453a3fb13750c432500a3921b5e974ecf1362cf21947630d60528d6bdd5990610bfd908890611fa8565b60405180910390a3610c49600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f5e60d1b338c1efe33cdc840bc15ae31e8c16ec95b6ce1e2a41d334fc28b69fbc90600090a250565b60035473ffffffffffffffffffffffffffffffffffffffff16331480610d7c575060045473ffffffffffffffffffffffffffffffffffffffff1633145b610de2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792070726976696c656765642063616c6c6572000000000000000000006044820152606401610654565b610dea611a82565b610e17600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60035460009073ffffffffffffffffffffffffffffffffffffffff163314610e575760065473ffffffffffffffffffffffffffffffffffffffff16610e71565b60055473ffffffffffffffffffffffffffffffffffffffff165b905060008282604051602401610e88929190611fbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f187717ce000000000000000000000000000000000000000000000000000000001790529050610f0a8183611b48565b5050610f50600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b610fdc611a82565b611009600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600680547fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000063ffffffff8416908102919091179091556040519081527f82420e5818c266bec5ae52072a057f0b7dae2f148dfa3cc4d2d94fcba1e99cfb906020015b60405180910390a1610f50600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe5c5f8656458e7eb3288974c5d146e8b37414ece1fccdfc3d377f58c5ead3a1690600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b611338611a82565b611365600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fb1a697eb7cf7300ba21207eedfa9b7aebb022107febbc4fb28993d0f0ed291cb90602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff163314611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f2b3527e6183dce7676cc1a77ba1c1a943740ff02cfcd0d8ff32ae5b42205ccc590600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b611551611a82565b61157e600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60088190556040518181527f581b3a6bde09dc2c2cfaa74c9011ebfe71cda54431d7d96454ab00408651ba6c90602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff163314611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b61163c611a82565b611669600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60078190556040518181527f9b163153ddcdb709353747ea107a1c8515a5123f3fa7ef84e537a675e695545990602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff16331461171f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b60405173ffffffffffffffffffffffffffffffffffffffff82166024820152600090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a50ad300000000000000000000000000000000000000000000000000000000017905260025490915061080f90829073ffffffffffffffffffffffffffffffffffffffff16611b48565b60005473ffffffffffffffffffffffffffffffffffffffff163314611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f642412aa8027246b85920fe1c2364b4928dba23ead405e72d6c3ea90305d0a2990600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b73ffffffffffffffffffffffffffffffffffffffff81166119f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610654565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60065474010000000000000000000000000000000000000000900460ff16611b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610654565b565b600654600854600091611b3b91750100000000000000000000000000000000000000000090910463ffffffff1690612022565b6007546105d2919061205f565b6000611b52611b08565b905080471015611bbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610654565b600254600954600754600654600854600094611c199473ffffffffffffffffffffffffffffffffffffffff918216949116928792750100000000000000000000000000000000000000000090910463ffffffff16908a611cb1565b60025460065460085460075460095460405195965073ffffffffffffffffffffffffffffffffffffffff94851695898616957fdeaf46ce401b41ffb05b383a170e15861664528eb335320ad3b5059afccd864e95611ca3958d958c95750100000000000000000000000000000000000000000090930463ffffffff16949193909216908b90612077565b60405180910390a350505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631b871c8d888b60008a8d8e8c8c8c6040518a63ffffffff1660e01b8152600401611d1d9897969594939291906120d7565b6020604051808303818588803b158015611d3657600080fd5b505af1158015611d4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d6f9190612140565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f5057600080fd5b600060208284031215611db057600080fd5b8135611dbb81611d7c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611e0357600080fd5b813567ffffffffffffffff80821115611e1b57600080fd5b818401915084601f830112611e2f57600080fd5b813581811115611e4157611e41611dc2565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611e8757611e87611dc2565b81604052828152876020848701011115611ea057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215611ed257600080fd5b813563ffffffff81168114611dbb57600080fd5b600060208284031215611ef857600080fd5b5035919050565b600060208284031215611f1157600080fd5b8151611dbb81611d7c565b6000815180845260005b81811015611f4257602081850181015186830182015201611f26565b81811115611f54576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b828152604060208201526000611fa06040830184611f1c565b949350505050565b602081526000611dbb6020830184611f1c565b604081526000611fce6040830185611f1c565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561205a5761205a611ff3565b500290565b6000821982111561207257612072611ff3565b500190565b60e08152600061208a60e083018a611f1c565b60208301989098525063ffffffff9590951660408601526060850193909352608084019190915273ffffffffffffffffffffffffffffffffffffffff1660a083015260c090910152919050565b600061010073ffffffffffffffffffffffffffffffffffffffff808c1684528a602085015289604085015280891660608501528088166080850152508560a08401528460c08401528060e084015261213181840185611f1c565b9b9a5050505050505050505050565b60006020828403121561215257600080fd5b505191905056fea2646970667358221220eb471410ef1bfb2dc2ecf421357dc42c23642497057228e70b7368978ae5cf2364736f6c63430008090033",
608
+ "deployedBytecode": "0x6080604052600436106101a25760003560e01c80638b42a40a116100e0578063b14b0f5611610084578063d78eb11f11610061578063d78eb11f14610540578063e7b4294c14610556578063f2fde38b1461056c578063fb0e722b1461058c57005b8063b14b0f56146104dd578063bcafec13146104f3578063c75ba1f41461052057005b806395368d2e116100bd57806395368d2e1461042557806398e1e16f14610470578063a0cadf0b1461049d578063acab324c146104bd57005b80638b42a40a146103ad5780638d09550e146103cd5780638da5cb5b146103fa57005b80635f234d5311610147578063715018a611610124578063715018a61461032b57806373d62b4614610340578063816c24441461036d57806381e8ea461461038d57005b80635f234d531461028c57806362315c42146102de5780637092a2b2146102fe57005b8063109ff9a911610180578063109ff9a91461020c5780631a50ad301461022c5780634c09e6e81461024c578063524b6f701461026c57005b806308f1ed15146101a45780630a2b5e03146101cc5780630e28c764146101ec575b005b3480156101b057600080fd5b506101b96105c0565b6040519081526020015b60405180910390f35b3480156101d857600080fd5b506101a26101e7366004611d9e565b6105d7565b3480156101f857600080fd5b506101a2610207366004611d9e565b6106cc565b34801561021857600080fd5b506101a2610227366004611df1565b610813565b34801561023857600080fd5b506101a2610247366004611d9e565b610c4f565b34801561025857600080fd5b506101a2610267366004611df1565b610d3f565b34801561027857600080fd5b506101a2610287366004611ec0565b610f53565b34801561029857600080fd5b506002546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c3565b3480156102ea57600080fd5b506101a26102f9366004611d9e565b6110cf565b34801561030a57600080fd5b506006546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561033757600080fd5b506101a26111bf565b34801561034c57600080fd5b506003546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561037957600080fd5b506101a2610388366004611d9e565b6112af565b34801561039957600080fd5b506101a26103a8366004611d9e565b6113d8565b3480156103b957600080fd5b506101a26103c8366004611ee6565b6114c8565b3480156103d957600080fd5b506004546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561040657600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166102b9565b34801561043157600080fd5b5060065461045b907501000000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101c3565b34801561047c57600080fd5b506005546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104a957600080fd5b506101a26104b8366004611ee6565b6115b3565b3480156104c957600080fd5b506101a26104d8366004611d9e565b61169e565b3480156104e957600080fd5b506101b960015481565b3480156104ff57600080fd5b506009546102b99073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052c57600080fd5b506101a261053b366004611d9e565b6117e1565b34801561054c57600080fd5b506101b960075481565b34801561056257600080fd5b506101b960085481565b34801561057857600080fd5b506101a2610587366004611d9e565b6118d1565b34801561059857600080fd5b506102b97f000000000000000000000000000000000000000000000000000000000000000081565b60006105ca611a82565b6105d2611b08565b905090565b60005473ffffffffffffffffffffffffffffffffffffffff16331461065d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f378c0ff663d300fda5b8ad9e2dee32975ac78884277c539d47671a8d2b5d797b90600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff16331461074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b60405173ffffffffffffffffffffffffffffffffffffffff82166024820152600090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc948564b0000000000000000000000000000000000000000000000000000000017905260025490915061080f90829073ffffffffffffffffffffffffffffffffffffffff16611b48565b5050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b15801561089e57600080fd5b505afa1580156108b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d69190611eff565b90503373ffffffffffffffffffffffffffffffffffffffff821614610957576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e4f545f46524f4d5f42524944474500000000000000000000000000000000006044820152606401610654565b60008173ffffffffffffffffffffffffffffffffffffffff1663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b15801561099f57600080fd5b505afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d79190611eff565b73ffffffffffffffffffffffffffffffffffffffff166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1c57600080fd5b505afa158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190611eff565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f4e4c595f434f554e544552504152545f4741544557415900000000000000006044820152606401610654565b610af3611a82565b610b20600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b6003546001546040517f6423b60e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691636423b60e91610b79918890600401611f87565b600060405180830381600087803b158015610b9357600080fd5b505af1158015610ba7573d6000803e3d6000fd5b505060035460025460405173ffffffffffffffffffffffffffffffffffffffff9283169450911691507f0900453a3fb13750c432500a3921b5e974ecf1362cf21947630d60528d6bdd5990610bfd908890611fa8565b60405180910390a3610c49600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610cd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f5e60d1b338c1efe33cdc840bc15ae31e8c16ec95b6ce1e2a41d334fc28b69fbc90600090a250565b60035473ffffffffffffffffffffffffffffffffffffffff16331480610d7c575060045473ffffffffffffffffffffffffffffffffffffffff1633145b610de2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792070726976696c656765642063616c6c6572000000000000000000006044820152606401610654565b610dea611a82565b610e17600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60035460009073ffffffffffffffffffffffffffffffffffffffff163314610e575760065473ffffffffffffffffffffffffffffffffffffffff16610e71565b60055473ffffffffffffffffffffffffffffffffffffffff165b905060008282604051602401610e88929190611fbb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f187717ce000000000000000000000000000000000000000000000000000000001790529050610f0a8183611b48565b5050610f50600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b610fdc611a82565b611009600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600680547fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000063ffffffff8416908102919091179091556040519081527f82420e5818c266bec5ae52072a057f0b7dae2f148dfa3cc4d2d94fcba1e99cfb906020015b60405180910390a1610f50600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe5c5f8656458e7eb3288974c5d146e8b37414ece1fccdfc3d377f58c5ead3a1690600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611240576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff163314611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b611338611a82565b611365600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fb1a697eb7cf7300ba21207eedfa9b7aebb022107febbc4fb28993d0f0ed291cb90602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff163314611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f2b3527e6183dce7676cc1a77ba1c1a943740ff02cfcd0d8ff32ae5b42205ccc590600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b611551611a82565b61157e600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60088190556040518181527f581b3a6bde09dc2c2cfaa74c9011ebfe71cda54431d7d96454ab00408651ba6c90602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff163314611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b61163c611a82565b611669600680547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b60078190556040518181527f9b163153ddcdb709353747ea107a1c8515a5123f3fa7ef84e537a675e695545990602001611083565b60005473ffffffffffffffffffffffffffffffffffffffff16331461171f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b60405173ffffffffffffffffffffffffffffffffffffffff82166024820152600090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a50ad300000000000000000000000000000000000000000000000000000000017905260025490915061080f90829073ffffffffffffffffffffffffffffffffffffffff16611b48565b60005473ffffffffffffffffffffffffffffffffffffffff163314611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f642412aa8027246b85920fe1c2364b4928dba23ead405e72d6c3ea90305d0a2990600090a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610654565b73ffffffffffffffffffffffffffffffffffffffff81166119f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610654565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60065474010000000000000000000000000000000000000000900460ff16611b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610654565b565b600654600854600091611b3b91750100000000000000000000000000000000000000000090910463ffffffff1690612022565b6007546105d2919061205f565b6000611b52611b08565b905080471015611bbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606401610654565b600254600954600754600654600854600094611c199473ffffffffffffffffffffffffffffffffffffffff918216949116928792750100000000000000000000000000000000000000000090910463ffffffff16908a611cb1565b60025460065460085460075460095460405195965073ffffffffffffffffffffffffffffffffffffffff94851695898616957fdeaf46ce401b41ffb05b383a170e15861664528eb335320ad3b5059afccd864e95611ca3958d958c95750100000000000000000000000000000000000000000090930463ffffffff16949193909216908b90612077565b60405180910390a350505050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631b871c8d888b60008a8d8e8c8c8c6040518a63ffffffff1660e01b8152600401611d1d9897969594939291906120d7565b6020604051808303818588803b158015611d3657600080fd5b505af1158015611d4a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d6f9190612140565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f5057600080fd5b600060208284031215611db057600080fd5b8135611dbb81611d7c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215611e0357600080fd5b813567ffffffffffffffff80821115611e1b57600080fd5b818401915084601f830112611e2f57600080fd5b813581811115611e4157611e41611dc2565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611e8757611e87611dc2565b81604052828152876020848701011115611ea057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208284031215611ed257600080fd5b813563ffffffff81168114611dbb57600080fd5b600060208284031215611ef857600080fd5b5035919050565b600060208284031215611f1157600080fd5b8151611dbb81611d7c565b6000815180845260005b81811015611f4257602081850181015186830182015201611f26565b81811115611f54576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b828152604060208201526000611fa06040830184611f1c565b949350505050565b602081526000611dbb6020830184611f1c565b604081526000611fce6040830185611f1c565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561205a5761205a611ff3565b500290565b6000821982111561207257612072611ff3565b500190565b60e08152600061208a60e083018a611f1c565b60208301989098525063ffffffff9590951660408601526060850193909352608084019190915273ffffffffffffffffffffffffffffffffffffffff1660a083015260c090910152919050565b600061010073ffffffffffffffffffffffffffffffffffffffff808c1684528a602085015289604085015280891660608501528088166080850152508560a08401528460c08401528060e084015261213181840185611f1c565b9b9a5050505050505050505050565b60006020828403121561215257600080fd5b505191905056fea2646970667358221220eb471410ef1bfb2dc2ecf421357dc42c23642497057228e70b7368978ae5cf2364736f6c63430008090033",
609
+ "linkReferences": {},
610
+ "deployedLinkReferences": {}
611
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../../../../build-info/8e408b49e0ff2873bc28d45221a7ff71.json"
4
+ }