@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,853 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SkinnyOptimisticOracleInterface",
4
+ "sourceName": "contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ancillaryBytesLimit",
9
+ "outputs": [
10
+ {
11
+ "internalType": "uint256",
12
+ "name": "",
13
+ "type": "uint256"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "requester",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "internalType": "bytes32",
28
+ "name": "identifier",
29
+ "type": "bytes32"
30
+ },
31
+ {
32
+ "internalType": "uint32",
33
+ "name": "timestamp",
34
+ "type": "uint32"
35
+ },
36
+ {
37
+ "internalType": "bytes",
38
+ "name": "ancillaryData",
39
+ "type": "bytes"
40
+ },
41
+ {
42
+ "components": [
43
+ {
44
+ "internalType": "address",
45
+ "name": "proposer",
46
+ "type": "address"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "disputer",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "internalType": "contract IERC20",
55
+ "name": "currency",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "internalType": "bool",
60
+ "name": "settled",
61
+ "type": "bool"
62
+ },
63
+ {
64
+ "internalType": "int256",
65
+ "name": "proposedPrice",
66
+ "type": "int256"
67
+ },
68
+ {
69
+ "internalType": "int256",
70
+ "name": "resolvedPrice",
71
+ "type": "int256"
72
+ },
73
+ {
74
+ "internalType": "uint256",
75
+ "name": "expirationTime",
76
+ "type": "uint256"
77
+ },
78
+ {
79
+ "internalType": "uint256",
80
+ "name": "reward",
81
+ "type": "uint256"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "finalFee",
86
+ "type": "uint256"
87
+ },
88
+ {
89
+ "internalType": "uint256",
90
+ "name": "bond",
91
+ "type": "uint256"
92
+ },
93
+ {
94
+ "internalType": "uint256",
95
+ "name": "customLiveness",
96
+ "type": "uint256"
97
+ }
98
+ ],
99
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
100
+ "name": "request",
101
+ "type": "tuple"
102
+ }
103
+ ],
104
+ "name": "disputePrice",
105
+ "outputs": [
106
+ {
107
+ "internalType": "uint256",
108
+ "name": "totalBond",
109
+ "type": "uint256"
110
+ }
111
+ ],
112
+ "stateMutability": "nonpayable",
113
+ "type": "function"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "bytes32",
119
+ "name": "identifier",
120
+ "type": "bytes32"
121
+ },
122
+ {
123
+ "internalType": "uint32",
124
+ "name": "timestamp",
125
+ "type": "uint32"
126
+ },
127
+ {
128
+ "internalType": "bytes",
129
+ "name": "ancillaryData",
130
+ "type": "bytes"
131
+ },
132
+ {
133
+ "components": [
134
+ {
135
+ "internalType": "address",
136
+ "name": "proposer",
137
+ "type": "address"
138
+ },
139
+ {
140
+ "internalType": "address",
141
+ "name": "disputer",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "contract IERC20",
146
+ "name": "currency",
147
+ "type": "address"
148
+ },
149
+ {
150
+ "internalType": "bool",
151
+ "name": "settled",
152
+ "type": "bool"
153
+ },
154
+ {
155
+ "internalType": "int256",
156
+ "name": "proposedPrice",
157
+ "type": "int256"
158
+ },
159
+ {
160
+ "internalType": "int256",
161
+ "name": "resolvedPrice",
162
+ "type": "int256"
163
+ },
164
+ {
165
+ "internalType": "uint256",
166
+ "name": "expirationTime",
167
+ "type": "uint256"
168
+ },
169
+ {
170
+ "internalType": "uint256",
171
+ "name": "reward",
172
+ "type": "uint256"
173
+ },
174
+ {
175
+ "internalType": "uint256",
176
+ "name": "finalFee",
177
+ "type": "uint256"
178
+ },
179
+ {
180
+ "internalType": "uint256",
181
+ "name": "bond",
182
+ "type": "uint256"
183
+ },
184
+ {
185
+ "internalType": "uint256",
186
+ "name": "customLiveness",
187
+ "type": "uint256"
188
+ }
189
+ ],
190
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
191
+ "name": "request",
192
+ "type": "tuple"
193
+ },
194
+ {
195
+ "internalType": "address",
196
+ "name": "disputer",
197
+ "type": "address"
198
+ },
199
+ {
200
+ "internalType": "address",
201
+ "name": "requester",
202
+ "type": "address"
203
+ }
204
+ ],
205
+ "name": "disputePriceFor",
206
+ "outputs": [
207
+ {
208
+ "internalType": "uint256",
209
+ "name": "totalBond",
210
+ "type": "uint256"
211
+ }
212
+ ],
213
+ "stateMutability": "nonpayable",
214
+ "type": "function"
215
+ },
216
+ {
217
+ "inputs": [
218
+ {
219
+ "internalType": "address",
220
+ "name": "requester",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "internalType": "bytes32",
225
+ "name": "identifier",
226
+ "type": "bytes32"
227
+ },
228
+ {
229
+ "internalType": "uint32",
230
+ "name": "timestamp",
231
+ "type": "uint32"
232
+ },
233
+ {
234
+ "internalType": "bytes",
235
+ "name": "ancillaryData",
236
+ "type": "bytes"
237
+ },
238
+ {
239
+ "components": [
240
+ {
241
+ "internalType": "address",
242
+ "name": "proposer",
243
+ "type": "address"
244
+ },
245
+ {
246
+ "internalType": "address",
247
+ "name": "disputer",
248
+ "type": "address"
249
+ },
250
+ {
251
+ "internalType": "contract IERC20",
252
+ "name": "currency",
253
+ "type": "address"
254
+ },
255
+ {
256
+ "internalType": "bool",
257
+ "name": "settled",
258
+ "type": "bool"
259
+ },
260
+ {
261
+ "internalType": "int256",
262
+ "name": "proposedPrice",
263
+ "type": "int256"
264
+ },
265
+ {
266
+ "internalType": "int256",
267
+ "name": "resolvedPrice",
268
+ "type": "int256"
269
+ },
270
+ {
271
+ "internalType": "uint256",
272
+ "name": "expirationTime",
273
+ "type": "uint256"
274
+ },
275
+ {
276
+ "internalType": "uint256",
277
+ "name": "reward",
278
+ "type": "uint256"
279
+ },
280
+ {
281
+ "internalType": "uint256",
282
+ "name": "finalFee",
283
+ "type": "uint256"
284
+ },
285
+ {
286
+ "internalType": "uint256",
287
+ "name": "bond",
288
+ "type": "uint256"
289
+ },
290
+ {
291
+ "internalType": "uint256",
292
+ "name": "customLiveness",
293
+ "type": "uint256"
294
+ }
295
+ ],
296
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
297
+ "name": "request",
298
+ "type": "tuple"
299
+ }
300
+ ],
301
+ "name": "getState",
302
+ "outputs": [
303
+ {
304
+ "internalType": "enum OptimisticOracleInterface.State",
305
+ "name": "",
306
+ "type": "uint8"
307
+ }
308
+ ],
309
+ "stateMutability": "nonpayable",
310
+ "type": "function"
311
+ },
312
+ {
313
+ "inputs": [
314
+ {
315
+ "internalType": "address",
316
+ "name": "requester",
317
+ "type": "address"
318
+ },
319
+ {
320
+ "internalType": "bytes32",
321
+ "name": "identifier",
322
+ "type": "bytes32"
323
+ },
324
+ {
325
+ "internalType": "uint32",
326
+ "name": "timestamp",
327
+ "type": "uint32"
328
+ },
329
+ {
330
+ "internalType": "bytes",
331
+ "name": "ancillaryData",
332
+ "type": "bytes"
333
+ },
334
+ {
335
+ "components": [
336
+ {
337
+ "internalType": "address",
338
+ "name": "proposer",
339
+ "type": "address"
340
+ },
341
+ {
342
+ "internalType": "address",
343
+ "name": "disputer",
344
+ "type": "address"
345
+ },
346
+ {
347
+ "internalType": "contract IERC20",
348
+ "name": "currency",
349
+ "type": "address"
350
+ },
351
+ {
352
+ "internalType": "bool",
353
+ "name": "settled",
354
+ "type": "bool"
355
+ },
356
+ {
357
+ "internalType": "int256",
358
+ "name": "proposedPrice",
359
+ "type": "int256"
360
+ },
361
+ {
362
+ "internalType": "int256",
363
+ "name": "resolvedPrice",
364
+ "type": "int256"
365
+ },
366
+ {
367
+ "internalType": "uint256",
368
+ "name": "expirationTime",
369
+ "type": "uint256"
370
+ },
371
+ {
372
+ "internalType": "uint256",
373
+ "name": "reward",
374
+ "type": "uint256"
375
+ },
376
+ {
377
+ "internalType": "uint256",
378
+ "name": "finalFee",
379
+ "type": "uint256"
380
+ },
381
+ {
382
+ "internalType": "uint256",
383
+ "name": "bond",
384
+ "type": "uint256"
385
+ },
386
+ {
387
+ "internalType": "uint256",
388
+ "name": "customLiveness",
389
+ "type": "uint256"
390
+ }
391
+ ],
392
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
393
+ "name": "request",
394
+ "type": "tuple"
395
+ }
396
+ ],
397
+ "name": "hasPrice",
398
+ "outputs": [
399
+ {
400
+ "internalType": "bool",
401
+ "name": "",
402
+ "type": "bool"
403
+ }
404
+ ],
405
+ "stateMutability": "nonpayable",
406
+ "type": "function"
407
+ },
408
+ {
409
+ "inputs": [
410
+ {
411
+ "internalType": "address",
412
+ "name": "requester",
413
+ "type": "address"
414
+ },
415
+ {
416
+ "internalType": "bytes32",
417
+ "name": "identifier",
418
+ "type": "bytes32"
419
+ },
420
+ {
421
+ "internalType": "uint32",
422
+ "name": "timestamp",
423
+ "type": "uint32"
424
+ },
425
+ {
426
+ "internalType": "bytes",
427
+ "name": "ancillaryData",
428
+ "type": "bytes"
429
+ },
430
+ {
431
+ "components": [
432
+ {
433
+ "internalType": "address",
434
+ "name": "proposer",
435
+ "type": "address"
436
+ },
437
+ {
438
+ "internalType": "address",
439
+ "name": "disputer",
440
+ "type": "address"
441
+ },
442
+ {
443
+ "internalType": "contract IERC20",
444
+ "name": "currency",
445
+ "type": "address"
446
+ },
447
+ {
448
+ "internalType": "bool",
449
+ "name": "settled",
450
+ "type": "bool"
451
+ },
452
+ {
453
+ "internalType": "int256",
454
+ "name": "proposedPrice",
455
+ "type": "int256"
456
+ },
457
+ {
458
+ "internalType": "int256",
459
+ "name": "resolvedPrice",
460
+ "type": "int256"
461
+ },
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "expirationTime",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "reward",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "finalFee",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "bond",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "customLiveness",
485
+ "type": "uint256"
486
+ }
487
+ ],
488
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
489
+ "name": "request",
490
+ "type": "tuple"
491
+ },
492
+ {
493
+ "internalType": "int256",
494
+ "name": "proposedPrice",
495
+ "type": "int256"
496
+ }
497
+ ],
498
+ "name": "proposePrice",
499
+ "outputs": [
500
+ {
501
+ "internalType": "uint256",
502
+ "name": "totalBond",
503
+ "type": "uint256"
504
+ }
505
+ ],
506
+ "stateMutability": "nonpayable",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "address",
513
+ "name": "requester",
514
+ "type": "address"
515
+ },
516
+ {
517
+ "internalType": "bytes32",
518
+ "name": "identifier",
519
+ "type": "bytes32"
520
+ },
521
+ {
522
+ "internalType": "uint32",
523
+ "name": "timestamp",
524
+ "type": "uint32"
525
+ },
526
+ {
527
+ "internalType": "bytes",
528
+ "name": "ancillaryData",
529
+ "type": "bytes"
530
+ },
531
+ {
532
+ "components": [
533
+ {
534
+ "internalType": "address",
535
+ "name": "proposer",
536
+ "type": "address"
537
+ },
538
+ {
539
+ "internalType": "address",
540
+ "name": "disputer",
541
+ "type": "address"
542
+ },
543
+ {
544
+ "internalType": "contract IERC20",
545
+ "name": "currency",
546
+ "type": "address"
547
+ },
548
+ {
549
+ "internalType": "bool",
550
+ "name": "settled",
551
+ "type": "bool"
552
+ },
553
+ {
554
+ "internalType": "int256",
555
+ "name": "proposedPrice",
556
+ "type": "int256"
557
+ },
558
+ {
559
+ "internalType": "int256",
560
+ "name": "resolvedPrice",
561
+ "type": "int256"
562
+ },
563
+ {
564
+ "internalType": "uint256",
565
+ "name": "expirationTime",
566
+ "type": "uint256"
567
+ },
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "reward",
571
+ "type": "uint256"
572
+ },
573
+ {
574
+ "internalType": "uint256",
575
+ "name": "finalFee",
576
+ "type": "uint256"
577
+ },
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "bond",
581
+ "type": "uint256"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "customLiveness",
586
+ "type": "uint256"
587
+ }
588
+ ],
589
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
590
+ "name": "request",
591
+ "type": "tuple"
592
+ },
593
+ {
594
+ "internalType": "address",
595
+ "name": "proposer",
596
+ "type": "address"
597
+ },
598
+ {
599
+ "internalType": "int256",
600
+ "name": "proposedPrice",
601
+ "type": "int256"
602
+ }
603
+ ],
604
+ "name": "proposePriceFor",
605
+ "outputs": [
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "totalBond",
609
+ "type": "uint256"
610
+ }
611
+ ],
612
+ "stateMutability": "nonpayable",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [
617
+ {
618
+ "internalType": "bytes32",
619
+ "name": "identifier",
620
+ "type": "bytes32"
621
+ },
622
+ {
623
+ "internalType": "uint32",
624
+ "name": "timestamp",
625
+ "type": "uint32"
626
+ },
627
+ {
628
+ "internalType": "bytes",
629
+ "name": "ancillaryData",
630
+ "type": "bytes"
631
+ },
632
+ {
633
+ "internalType": "contract IERC20",
634
+ "name": "currency",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "internalType": "uint256",
639
+ "name": "reward",
640
+ "type": "uint256"
641
+ },
642
+ {
643
+ "internalType": "uint256",
644
+ "name": "bond",
645
+ "type": "uint256"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "customLiveness",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "address",
654
+ "name": "proposer",
655
+ "type": "address"
656
+ },
657
+ {
658
+ "internalType": "int256",
659
+ "name": "proposedPrice",
660
+ "type": "int256"
661
+ }
662
+ ],
663
+ "name": "requestAndProposePriceFor",
664
+ "outputs": [
665
+ {
666
+ "internalType": "uint256",
667
+ "name": "totalBond",
668
+ "type": "uint256"
669
+ }
670
+ ],
671
+ "stateMutability": "nonpayable",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [
676
+ {
677
+ "internalType": "bytes32",
678
+ "name": "identifier",
679
+ "type": "bytes32"
680
+ },
681
+ {
682
+ "internalType": "uint32",
683
+ "name": "timestamp",
684
+ "type": "uint32"
685
+ },
686
+ {
687
+ "internalType": "bytes",
688
+ "name": "ancillaryData",
689
+ "type": "bytes"
690
+ },
691
+ {
692
+ "internalType": "contract IERC20",
693
+ "name": "currency",
694
+ "type": "address"
695
+ },
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "reward",
699
+ "type": "uint256"
700
+ },
701
+ {
702
+ "internalType": "uint256",
703
+ "name": "bond",
704
+ "type": "uint256"
705
+ },
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "customLiveness",
709
+ "type": "uint256"
710
+ }
711
+ ],
712
+ "name": "requestPrice",
713
+ "outputs": [
714
+ {
715
+ "internalType": "uint256",
716
+ "name": "totalBond",
717
+ "type": "uint256"
718
+ }
719
+ ],
720
+ "stateMutability": "nonpayable",
721
+ "type": "function"
722
+ },
723
+ {
724
+ "inputs": [
725
+ {
726
+ "internalType": "address",
727
+ "name": "requester",
728
+ "type": "address"
729
+ },
730
+ {
731
+ "internalType": "bytes32",
732
+ "name": "identifier",
733
+ "type": "bytes32"
734
+ },
735
+ {
736
+ "internalType": "uint32",
737
+ "name": "timestamp",
738
+ "type": "uint32"
739
+ },
740
+ {
741
+ "internalType": "bytes",
742
+ "name": "ancillaryData",
743
+ "type": "bytes"
744
+ },
745
+ {
746
+ "components": [
747
+ {
748
+ "internalType": "address",
749
+ "name": "proposer",
750
+ "type": "address"
751
+ },
752
+ {
753
+ "internalType": "address",
754
+ "name": "disputer",
755
+ "type": "address"
756
+ },
757
+ {
758
+ "internalType": "contract IERC20",
759
+ "name": "currency",
760
+ "type": "address"
761
+ },
762
+ {
763
+ "internalType": "bool",
764
+ "name": "settled",
765
+ "type": "bool"
766
+ },
767
+ {
768
+ "internalType": "int256",
769
+ "name": "proposedPrice",
770
+ "type": "int256"
771
+ },
772
+ {
773
+ "internalType": "int256",
774
+ "name": "resolvedPrice",
775
+ "type": "int256"
776
+ },
777
+ {
778
+ "internalType": "uint256",
779
+ "name": "expirationTime",
780
+ "type": "uint256"
781
+ },
782
+ {
783
+ "internalType": "uint256",
784
+ "name": "reward",
785
+ "type": "uint256"
786
+ },
787
+ {
788
+ "internalType": "uint256",
789
+ "name": "finalFee",
790
+ "type": "uint256"
791
+ },
792
+ {
793
+ "internalType": "uint256",
794
+ "name": "bond",
795
+ "type": "uint256"
796
+ },
797
+ {
798
+ "internalType": "uint256",
799
+ "name": "customLiveness",
800
+ "type": "uint256"
801
+ }
802
+ ],
803
+ "internalType": "struct SkinnyOptimisticOracleInterface.Request",
804
+ "name": "request",
805
+ "type": "tuple"
806
+ }
807
+ ],
808
+ "name": "settle",
809
+ "outputs": [
810
+ {
811
+ "internalType": "uint256",
812
+ "name": "payout",
813
+ "type": "uint256"
814
+ },
815
+ {
816
+ "internalType": "int256",
817
+ "name": "resolvedPrice",
818
+ "type": "int256"
819
+ }
820
+ ],
821
+ "stateMutability": "nonpayable",
822
+ "type": "function"
823
+ },
824
+ {
825
+ "inputs": [
826
+ {
827
+ "internalType": "bytes",
828
+ "name": "ancillaryData",
829
+ "type": "bytes"
830
+ },
831
+ {
832
+ "internalType": "address",
833
+ "name": "requester",
834
+ "type": "address"
835
+ }
836
+ ],
837
+ "name": "stampAncillaryData",
838
+ "outputs": [
839
+ {
840
+ "internalType": "bytes",
841
+ "name": "",
842
+ "type": "bytes"
843
+ }
844
+ ],
845
+ "stateMutability": "pure",
846
+ "type": "function"
847
+ }
848
+ ],
849
+ "bytecode": "0x",
850
+ "deployedBytecode": "0x",
851
+ "linkReferences": {},
852
+ "deployedLinkReferences": {}
853
+ }