@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.
- package/CHANGELOG.md +8 -0
- package/LICENSE +661 -0
- package/README.md +53 -0
- package/artifacts/@eth-optimism/contracts/L2/messaging/IL2ERC20Bridge.sol/IL2ERC20Bridge.dbg.json +4 -0
- package/artifacts/@eth-optimism/contracts/L2/messaging/IL2ERC20Bridge.sol/IL2ERC20Bridge.json +252 -0
- package/artifacts/@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol/CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/@eth-optimism/contracts/libraries/bridge/CrossDomainEnabled.sol/CrossDomainEnabled.json +35 -0
- package/artifacts/@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol/ICrossDomainMessenger.dbg.json +4 -0
- package/artifacts/@eth-optimism/contracts/libraries/bridge/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +110 -0
- package/artifacts/@eth-optimism/contracts/libraries/constants/Lib_PredeployAddresses.sol/Lib_PredeployAddresses.dbg.json +4 -0
- package/artifacts/@eth-optimism/contracts/libraries/constants/Lib_PredeployAddresses.sol/Lib_PredeployAddresses.json +10 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json +215 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/AccessControl.sol/IAccessControl.json +108 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
- package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/security/Pausable.sol/Pausable.json +50 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json +30 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SafeMath.sol/SafeMath.json +10 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol/SignedSafeMath.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/math/SignedSafeMath.sol/SignedSafeMath.json +10 -0
- package/artifacts/@uma/core/contracts/common/implementation/Lockable.sol/Lockable.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/common/implementation/Lockable.sol/Lockable.json +16 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/Arbitrum_ParentMessenger.sol/Arbitrum_ParentMessenger.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/Arbitrum_ParentMessenger.sol/Arbitrum_ParentMessenger.json +611 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/ParentMessengerBase.sol/ParentMessengerBase.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/chain-adapters/ParentMessengerBase.sol/ParentMessengerBase.json +297 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerConsumerInterface.sol/ParentMessengerConsumerInterface.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerConsumerInterface.sol/ParentMessengerConsumerInterface.json +29 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerInterface.sol/ParentMessengerInterface.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/cross-chain-oracle/interfaces/ParentMessengerInterface.sol/ParentMessengerInterface.json +37 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.json +24 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.json +78 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.json +24 -0
- package/artifacts/@uma/core/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/@uma/core/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.json +24 -0
- package/artifacts/build-info/1cd64db7a8ac0a153df93d26826ad4e9.json +1653 -0
- package/artifacts/build-info/1f738b56edd7602183f2f8d2f23f6e90.json +1592 -0
- package/artifacts/build-info/343b9221be36acd9ddaca3f3b83d2e75.json +3943 -0
- package/artifacts/build-info/622e561692c193f4cd0ff989b5a231e2.json +5661 -0
- package/artifacts/build-info/8e408b49e0ff2873bc28d45221a7ff71.json +277715 -0
- package/artifacts/build-info/9d1a3182633612bd337d811d567d5d60.json +2072 -0
- package/artifacts/build-info/a8cd9c443d245fe513d6650634b60f93.json +23776 -0
- package/artifacts/build-info/d302d9d63fbafb5c8d635cc62cb1cc7c.json +167529 -0
- package/artifacts/contracts/common/implementation/AncillaryData.sol/AncillaryData.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/AncillaryData.sol/AncillaryData.json +10 -0
- package/artifacts/contracts/common/implementation/FixedPoint.sol/FixedPoint.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/FixedPoint.sol/FixedPoint.json +10 -0
- package/artifacts/contracts/common/implementation/Lockable.sol/Lockable.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/Lockable.sol/Lockable.json +16 -0
- package/artifacts/contracts/common/implementation/MultiCaller.sol/MultiCaller.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/MultiCaller.sol/MultiCaller.json +30 -0
- package/artifacts/contracts/common/implementation/Testable.sol/Testable.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/Testable.sol/Testable.json +50 -0
- package/artifacts/contracts/common/implementation/Timer.sol/Timer.dbg.json +4 -0
- package/artifacts/contracts/common/implementation/Timer.sol/Timer.json +42 -0
- package/artifacts/contracts/common/interfaces/AddressWhitelistInterface.sol/AddressWhitelistInterface.dbg.json +4 -0
- package/artifacts/contracts/common/interfaces/AddressWhitelistInterface.sol/AddressWhitelistInterface.json +69 -0
- package/artifacts/contracts/external/avm/AVM_CrossDomainEnabled.sol/AVM_CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/contracts/external/avm/AVM_CrossDomainEnabled.sol/AVM_CrossDomainEnabled.json +42 -0
- package/artifacts/contracts/external/avm/interfaces/ArbSys.sol/ArbSys.dbg.json +4 -0
- package/artifacts/contracts/external/avm/interfaces/ArbSys.sol/ArbSys.json +235 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.dbg.json +4 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/IBridge.json +24 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.dbg.json +4 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Inbox.sol/iArbitrum_Inbox.json +78 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.dbg.json +4 -0
- package/artifacts/contracts/external/avm/interfaces/iArbitrum_Outbox.sol/iArbitrum_Outbox.json +24 -0
- package/artifacts/contracts/external/chainbridge/Bridge.sol/Bridge.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/Bridge.sol/Bridge.json +1019 -0
- package/artifacts/contracts/external/chainbridge/handlers/GenericHandler.sol/GenericHandler.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/handlers/GenericHandler.sol/GenericHandler.json +314 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IBridge.sol/IBridge.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IBridge.sol/IBridge.json +47 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IDepositExecute.sol/IDepositExecute.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IDepositExecute.sol/IDepositExecute.json +62 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IERCHandler.sol/IERCHandler.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IERCHandler.sol/IERCHandler.json +65 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IGenericHandler.sol/IGenericHandler.dbg.json +4 -0
- package/artifacts/contracts/external/chainbridge/interfaces/IGenericHandler.sol/IGenericHandler.json +39 -0
- package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.json +35 -0
- package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/iOVM_CrossDomainMessenger.dbg.json +4 -0
- package/artifacts/contracts/external/ovm/OVM_CrossDomainEnabled.sol/iOVM_CrossDomainMessenger.json +86 -0
- package/artifacts/contracts/external/polygon/lib/Merkle.sol/Merkle.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/lib/Merkle.sol/Merkle.json +10 -0
- package/artifacts/contracts/external/polygon/lib/MerklePatriciaProof.sol/MerklePatriciaProof.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/lib/MerklePatriciaProof.sol/MerklePatriciaProof.json +10 -0
- package/artifacts/contracts/external/polygon/lib/RLPReader.sol/RLPReader.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/lib/RLPReader.sol/RLPReader.json +10 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/FxChildMock.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/FxChildMock.json +104 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IFxMessageProcessor.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IFxMessageProcessor.json +34 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IStateReceiver.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxChildMock.sol/IStateReceiver.json +29 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/FxRootMock.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/FxRootMock.json +79 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IFxStateSender.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IFxStateSender.json +29 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IStateSender.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/FxRootMock.sol/IStateSender.json +29 -0
- package/artifacts/contracts/external/polygon/test/StateSyncMock.sol/StateSyncMock.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/test/StateSyncMock.sol/StateSyncMock.json +54 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/FxBaseChildTunnel.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/FxBaseChildTunnel.json +86 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/IFxMessageProcessor.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol/IFxMessageProcessor.json +34 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/FxBaseRootTunnel.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/FxBaseRootTunnel.json +108 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/ICheckpointManager.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/ICheckpointManager.json +50 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/IFxStateSender.dbg.json +4 -0
- package/artifacts/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol/IFxStateSender.json +29 -0
- package/artifacts/contracts/insured-bridge/BridgeAdmin.sol/BridgeAdmin.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgeAdmin.sol/BridgeAdmin.json +662 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/BridgeDepositBox.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/BridgeDepositBox.json +391 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/TokenLike.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/TokenLike.json +30 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/WETH9Like.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgeDepositBox.sol/WETH9Like.json +31 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePool.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePool.json +1709 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePoolProd.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/BridgePoolProd.json +1709 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/WETH9Like.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/BridgePool.sol/WETH9Like.json +31 -0
- package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/AVM_BridgeDepositBox.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/AVM_BridgeDepositBox.json +564 -0
- package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/StandardBridgeLike.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol/StandardBridgeLike.json +45 -0
- package/artifacts/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol/Arbitrum_CrossDomainEnabled.json +24 -0
- package/artifacts/contracts/insured-bridge/avm/Arbitrum_Messenger.sol/Arbitrum_Messenger.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/avm/Arbitrum_Messenger.sol/Arbitrum_Messenger.json +191 -0
- package/artifacts/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol/BridgeAdminInterface.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol/BridgeAdminInterface.json +319 -0
- package/artifacts/contracts/insured-bridge/interfaces/BridgePoolInterface.sol/BridgePoolInterface.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/interfaces/BridgePoolInterface.sol/BridgePoolInterface.json +63 -0
- package/artifacts/contracts/insured-bridge/interfaces/MessengerInterface.sol/MessengerInterface.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/interfaces/MessengerInterface.sol/MessengerInterface.json +54 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol/OVM_BridgeDepositBox.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol/OVM_BridgeDepositBox.json +528 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol/OVM_CrossDomainEnabled.json +35 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol/OVM_OETH_BridgeDepositBox.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol/OVM_OETH_BridgeDepositBox.json +572 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Messenger.sol/Optimism_Messenger.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Messenger.sol/Optimism_Messenger.json +130 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/Optimism_Wrapper.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/Optimism_Wrapper.json +142 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/WETH9Like.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/Optimism_Wrapper.sol/WETH9Like.json +55 -0
- package/artifacts/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol/iOVM_CrossDomainMessenger.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol/iOVM_CrossDomainMessenger.json +86 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_BridgeMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_BridgeMock.json +68 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_InboxMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_InboxMock.json +78 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_OutboxMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/Arbitrum_InboxMock.sol/Arbitrum_OutboxMock.json +24 -0
- package/artifacts/contracts/insured-bridge/test/BridgeDepositBoxMock.sol/BridgeDepositBoxMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/BridgeDepositBoxMock.sol/BridgeDepositBoxMock.json +510 -0
- package/artifacts/contracts/insured-bridge/test/MessengerMock.sol/MessengerMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/MessengerMock.sol/MessengerMock.json +85 -0
- package/artifacts/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol/OVM_L1CrossDomainMessengerMock.dbg.json +4 -0
- package/artifacts/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol/OVM_L1CrossDomainMessengerMock.json +110 -0
- package/artifacts/contracts/oracle/implementation/Constants.sol/OptimisticOracleConstraints.dbg.json +4 -0
- package/artifacts/contracts/oracle/implementation/Constants.sol/OptimisticOracleConstraints.json +24 -0
- package/artifacts/contracts/oracle/implementation/Constants.sol/OracleInterfaces.dbg.json +4 -0
- package/artifacts/contracts/oracle/implementation/Constants.sol/OracleInterfaces.json +141 -0
- package/artifacts/contracts/oracle/interfaces/FinderInterface.sol/FinderInterface.dbg.json +4 -0
- package/artifacts/contracts/oracle/interfaces/FinderInterface.sol/FinderInterface.json +48 -0
- package/artifacts/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.dbg.json +4 -0
- package/artifacts/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol/IdentifierWhitelistInterface.json +56 -0
- package/artifacts/contracts/oracle/interfaces/OptimisticOracleInterface.sol/OptimisticOracleInterface.dbg.json +4 -0
- package/artifacts/contracts/oracle/interfaces/OptimisticOracleInterface.sol/OptimisticOracleInterface.json +555 -0
- package/artifacts/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.dbg.json +4 -0
- package/artifacts/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol/SkinnyOptimisticOracleInterface.json +853 -0
- package/artifacts/contracts/oracle/interfaces/StoreInterface.sol/StoreInterface.dbg.json +4 -0
- package/artifacts/contracts/oracle/interfaces/StoreInterface.sol/StoreInterface.json +124 -0
- package/contracts/common/implementation/AncillaryData.sol +144 -0
- package/contracts/common/implementation/FixedPoint.sol +763 -0
- package/contracts/common/implementation/Lockable.sol +61 -0
- package/contracts/common/implementation/MultiCaller.sol +27 -0
- package/contracts/common/implementation/Testable.sol +52 -0
- package/contracts/common/implementation/Timer.sol +30 -0
- package/contracts/common/interfaces/AddressWhitelistInterface.sol +12 -0
- package/contracts/external/avm/AVM_CrossDomainEnabled.sol +43 -0
- package/contracts/external/avm/interfaces/ArbSys.sol +79 -0
- package/contracts/external/avm/interfaces/iArbitrum_Inbox.sol +28 -0
- package/contracts/external/avm/interfaces/iArbitrum_Outbox.sol +26 -0
- package/contracts/external/chainbridge/Bridge.sol +454 -0
- package/contracts/external/chainbridge/handlers/GenericHandler.sol +237 -0
- package/contracts/external/chainbridge/interfaces/IBridge.sol +20 -0
- package/contracts/external/chainbridge/interfaces/IDepositExecute.sol +29 -0
- package/contracts/external/chainbridge/interfaces/IERCHandler.sol +33 -0
- package/contracts/external/chainbridge/interfaces/IGenericHandler.sol +23 -0
- package/contracts/external/ovm/OVM_CrossDomainEnabled.sol +114 -0
- package/contracts/external/polygon/lib/Merkle.sol +36 -0
- package/contracts/external/polygon/lib/MerklePatriciaProof.sol +139 -0
- package/contracts/external/polygon/lib/RLPReader.sol +251 -0
- package/contracts/external/polygon/test/FxChildMock.sol +42 -0
- package/contracts/external/polygon/test/FxRootMock.sol +32 -0
- package/contracts/external/polygon/test/StateSyncMock.sol +26 -0
- package/contracts/external/polygon/tunnel/FxBaseChildTunnel.sol +80 -0
- package/contracts/external/polygon/tunnel/FxBaseRootTunnel.sol +185 -0
- package/contracts/insured-bridge/BridgeAdmin.sol +394 -0
- package/contracts/insured-bridge/BridgeDepositBox.sol +245 -0
- package/contracts/insured-bridge/BridgePool.sol +980 -0
- package/contracts/insured-bridge/avm/AVM_BridgeDepositBox.sol +144 -0
- package/contracts/insured-bridge/avm/Arbitrum_CrossDomainEnabled.sol +67 -0
- package/contracts/insured-bridge/avm/Arbitrum_Messenger.sol +72 -0
- package/contracts/insured-bridge/interfaces/BridgeAdminInterface.sol +44 -0
- package/contracts/insured-bridge/interfaces/BridgePoolInterface.sol +14 -0
- package/contracts/insured-bridge/interfaces/MessengerInterface.sol +18 -0
- package/contracts/insured-bridge/ovm/OVM_BridgeDepositBox.sol +135 -0
- package/contracts/insured-bridge/ovm/OVM_CrossDomainEnabled.sol +84 -0
- package/contracts/insured-bridge/ovm/OVM_OETH_BridgeDepositBox.sol +89 -0
- package/contracts/insured-bridge/ovm/Optimism_Messenger.sol +34 -0
- package/contracts/insured-bridge/ovm/Optimism_Wrapper.sol +59 -0
- package/contracts/insured-bridge/ovm/iOVM_CrossDomainMessenger.sol +41 -0
- package/contracts/insured-bridge/test/Arbitrum_InboxMock.sol +50 -0
- package/contracts/insured-bridge/test/BridgeDepositBoxMock.sol +113 -0
- package/contracts/insured-bridge/test/MessengerMock.sol +32 -0
- package/contracts/insured-bridge/test/OVM_L1CrossDomainMessengerMock.sol +16 -0
- package/contracts/oracle/implementation/Constants.sol +29 -0
- package/contracts/oracle/interfaces/FinderInterface.sol +22 -0
- package/contracts/oracle/interfaces/IdentifierWhitelistInterface.sol +28 -0
- package/contracts/oracle/interfaces/OptimisticOracleInterface.sol +263 -0
- package/contracts/oracle/interfaces/SkinnyOptimisticOracleInterface.sol +251 -0
- package/contracts/oracle/interfaces/StoreInterface.sol +46 -0
- package/package.json +60 -0
|
@@ -0,0 +1,1019 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "Bridge",
|
|
4
|
+
"sourceName": "contracts/external/chainbridge/Bridge.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "uint8",
|
|
10
|
+
"name": "chainID",
|
|
11
|
+
"type": "uint8"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address[]",
|
|
15
|
+
"name": "initialRelayers",
|
|
16
|
+
"type": "address[]"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "uint256",
|
|
20
|
+
"name": "initialRelayerThreshold",
|
|
21
|
+
"type": "uint256"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "fee",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"internalType": "uint256",
|
|
30
|
+
"name": "expiry",
|
|
31
|
+
"type": "uint256"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"stateMutability": "nonpayable",
|
|
35
|
+
"type": "constructor"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"anonymous": false,
|
|
39
|
+
"inputs": [
|
|
40
|
+
{
|
|
41
|
+
"indexed": true,
|
|
42
|
+
"internalType": "uint8",
|
|
43
|
+
"name": "destinationChainID",
|
|
44
|
+
"type": "uint8"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"indexed": true,
|
|
48
|
+
"internalType": "bytes32",
|
|
49
|
+
"name": "resourceID",
|
|
50
|
+
"type": "bytes32"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"indexed": true,
|
|
54
|
+
"internalType": "uint64",
|
|
55
|
+
"name": "depositNonce",
|
|
56
|
+
"type": "uint64"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"name": "Deposit",
|
|
60
|
+
"type": "event"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"anonymous": false,
|
|
64
|
+
"inputs": [
|
|
65
|
+
{
|
|
66
|
+
"indexed": false,
|
|
67
|
+
"internalType": "address",
|
|
68
|
+
"name": "account",
|
|
69
|
+
"type": "address"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"name": "Paused",
|
|
73
|
+
"type": "event"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"anonymous": false,
|
|
77
|
+
"inputs": [
|
|
78
|
+
{
|
|
79
|
+
"indexed": true,
|
|
80
|
+
"internalType": "uint8",
|
|
81
|
+
"name": "originChainID",
|
|
82
|
+
"type": "uint8"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"indexed": true,
|
|
86
|
+
"internalType": "uint64",
|
|
87
|
+
"name": "depositNonce",
|
|
88
|
+
"type": "uint64"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"indexed": true,
|
|
92
|
+
"internalType": "enum Bridge.ProposalStatus",
|
|
93
|
+
"name": "status",
|
|
94
|
+
"type": "uint8"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"indexed": false,
|
|
98
|
+
"internalType": "bytes32",
|
|
99
|
+
"name": "resourceID",
|
|
100
|
+
"type": "bytes32"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"indexed": false,
|
|
104
|
+
"internalType": "bytes32",
|
|
105
|
+
"name": "dataHash",
|
|
106
|
+
"type": "bytes32"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"name": "ProposalEvent",
|
|
110
|
+
"type": "event"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"anonymous": false,
|
|
114
|
+
"inputs": [
|
|
115
|
+
{
|
|
116
|
+
"indexed": true,
|
|
117
|
+
"internalType": "uint8",
|
|
118
|
+
"name": "originChainID",
|
|
119
|
+
"type": "uint8"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"indexed": true,
|
|
123
|
+
"internalType": "uint64",
|
|
124
|
+
"name": "depositNonce",
|
|
125
|
+
"type": "uint64"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"indexed": true,
|
|
129
|
+
"internalType": "enum Bridge.ProposalStatus",
|
|
130
|
+
"name": "status",
|
|
131
|
+
"type": "uint8"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"indexed": false,
|
|
135
|
+
"internalType": "bytes32",
|
|
136
|
+
"name": "resourceID",
|
|
137
|
+
"type": "bytes32"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"name": "ProposalVote",
|
|
141
|
+
"type": "event"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"anonymous": false,
|
|
145
|
+
"inputs": [
|
|
146
|
+
{
|
|
147
|
+
"indexed": true,
|
|
148
|
+
"internalType": "address",
|
|
149
|
+
"name": "relayer",
|
|
150
|
+
"type": "address"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"name": "RelayerAdded",
|
|
154
|
+
"type": "event"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"anonymous": false,
|
|
158
|
+
"inputs": [
|
|
159
|
+
{
|
|
160
|
+
"indexed": true,
|
|
161
|
+
"internalType": "address",
|
|
162
|
+
"name": "relayer",
|
|
163
|
+
"type": "address"
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"name": "RelayerRemoved",
|
|
167
|
+
"type": "event"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"anonymous": false,
|
|
171
|
+
"inputs": [
|
|
172
|
+
{
|
|
173
|
+
"indexed": true,
|
|
174
|
+
"internalType": "uint256",
|
|
175
|
+
"name": "newThreshold",
|
|
176
|
+
"type": "uint256"
|
|
177
|
+
}
|
|
178
|
+
],
|
|
179
|
+
"name": "RelayerThresholdChanged",
|
|
180
|
+
"type": "event"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"anonymous": false,
|
|
184
|
+
"inputs": [
|
|
185
|
+
{
|
|
186
|
+
"indexed": true,
|
|
187
|
+
"internalType": "bytes32",
|
|
188
|
+
"name": "role",
|
|
189
|
+
"type": "bytes32"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"indexed": true,
|
|
193
|
+
"internalType": "bytes32",
|
|
194
|
+
"name": "previousAdminRole",
|
|
195
|
+
"type": "bytes32"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"indexed": true,
|
|
199
|
+
"internalType": "bytes32",
|
|
200
|
+
"name": "newAdminRole",
|
|
201
|
+
"type": "bytes32"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"name": "RoleAdminChanged",
|
|
205
|
+
"type": "event"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"anonymous": false,
|
|
209
|
+
"inputs": [
|
|
210
|
+
{
|
|
211
|
+
"indexed": true,
|
|
212
|
+
"internalType": "bytes32",
|
|
213
|
+
"name": "role",
|
|
214
|
+
"type": "bytes32"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"indexed": true,
|
|
218
|
+
"internalType": "address",
|
|
219
|
+
"name": "account",
|
|
220
|
+
"type": "address"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"indexed": true,
|
|
224
|
+
"internalType": "address",
|
|
225
|
+
"name": "sender",
|
|
226
|
+
"type": "address"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"name": "RoleGranted",
|
|
230
|
+
"type": "event"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"anonymous": false,
|
|
234
|
+
"inputs": [
|
|
235
|
+
{
|
|
236
|
+
"indexed": true,
|
|
237
|
+
"internalType": "bytes32",
|
|
238
|
+
"name": "role",
|
|
239
|
+
"type": "bytes32"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"indexed": true,
|
|
243
|
+
"internalType": "address",
|
|
244
|
+
"name": "account",
|
|
245
|
+
"type": "address"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"indexed": true,
|
|
249
|
+
"internalType": "address",
|
|
250
|
+
"name": "sender",
|
|
251
|
+
"type": "address"
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"name": "RoleRevoked",
|
|
255
|
+
"type": "event"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"anonymous": false,
|
|
259
|
+
"inputs": [
|
|
260
|
+
{
|
|
261
|
+
"indexed": false,
|
|
262
|
+
"internalType": "address",
|
|
263
|
+
"name": "account",
|
|
264
|
+
"type": "address"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"name": "Unpaused",
|
|
268
|
+
"type": "event"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"inputs": [],
|
|
272
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
273
|
+
"outputs": [
|
|
274
|
+
{
|
|
275
|
+
"internalType": "bytes32",
|
|
276
|
+
"name": "",
|
|
277
|
+
"type": "bytes32"
|
|
278
|
+
}
|
|
279
|
+
],
|
|
280
|
+
"stateMutability": "view",
|
|
281
|
+
"type": "function"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"inputs": [],
|
|
285
|
+
"name": "RELAYER_ROLE",
|
|
286
|
+
"outputs": [
|
|
287
|
+
{
|
|
288
|
+
"internalType": "bytes32",
|
|
289
|
+
"name": "",
|
|
290
|
+
"type": "bytes32"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"stateMutability": "view",
|
|
294
|
+
"type": "function"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"inputs": [],
|
|
298
|
+
"name": "_chainID",
|
|
299
|
+
"outputs": [
|
|
300
|
+
{
|
|
301
|
+
"internalType": "uint8",
|
|
302
|
+
"name": "",
|
|
303
|
+
"type": "uint8"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"stateMutability": "view",
|
|
307
|
+
"type": "function"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"inputs": [
|
|
311
|
+
{
|
|
312
|
+
"internalType": "uint8",
|
|
313
|
+
"name": "",
|
|
314
|
+
"type": "uint8"
|
|
315
|
+
}
|
|
316
|
+
],
|
|
317
|
+
"name": "_depositCounts",
|
|
318
|
+
"outputs": [
|
|
319
|
+
{
|
|
320
|
+
"internalType": "uint64",
|
|
321
|
+
"name": "",
|
|
322
|
+
"type": "uint64"
|
|
323
|
+
}
|
|
324
|
+
],
|
|
325
|
+
"stateMutability": "view",
|
|
326
|
+
"type": "function"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"inputs": [
|
|
330
|
+
{
|
|
331
|
+
"internalType": "uint64",
|
|
332
|
+
"name": "",
|
|
333
|
+
"type": "uint64"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"internalType": "uint8",
|
|
337
|
+
"name": "",
|
|
338
|
+
"type": "uint8"
|
|
339
|
+
}
|
|
340
|
+
],
|
|
341
|
+
"name": "_depositRecords",
|
|
342
|
+
"outputs": [
|
|
343
|
+
{
|
|
344
|
+
"internalType": "bytes",
|
|
345
|
+
"name": "",
|
|
346
|
+
"type": "bytes"
|
|
347
|
+
}
|
|
348
|
+
],
|
|
349
|
+
"stateMutability": "view",
|
|
350
|
+
"type": "function"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"inputs": [],
|
|
354
|
+
"name": "_expiry",
|
|
355
|
+
"outputs": [
|
|
356
|
+
{
|
|
357
|
+
"internalType": "uint256",
|
|
358
|
+
"name": "",
|
|
359
|
+
"type": "uint256"
|
|
360
|
+
}
|
|
361
|
+
],
|
|
362
|
+
"stateMutability": "view",
|
|
363
|
+
"type": "function"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"inputs": [],
|
|
367
|
+
"name": "_fee",
|
|
368
|
+
"outputs": [
|
|
369
|
+
{
|
|
370
|
+
"internalType": "uint256",
|
|
371
|
+
"name": "",
|
|
372
|
+
"type": "uint256"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"stateMutability": "view",
|
|
376
|
+
"type": "function"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"inputs": [
|
|
380
|
+
{
|
|
381
|
+
"internalType": "uint72",
|
|
382
|
+
"name": "",
|
|
383
|
+
"type": "uint72"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"internalType": "bytes32",
|
|
387
|
+
"name": "",
|
|
388
|
+
"type": "bytes32"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"internalType": "address",
|
|
392
|
+
"name": "",
|
|
393
|
+
"type": "address"
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"name": "_hasVotedOnProposal",
|
|
397
|
+
"outputs": [
|
|
398
|
+
{
|
|
399
|
+
"internalType": "bool",
|
|
400
|
+
"name": "",
|
|
401
|
+
"type": "bool"
|
|
402
|
+
}
|
|
403
|
+
],
|
|
404
|
+
"stateMutability": "view",
|
|
405
|
+
"type": "function"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"inputs": [
|
|
409
|
+
{
|
|
410
|
+
"internalType": "uint72",
|
|
411
|
+
"name": "",
|
|
412
|
+
"type": "uint72"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"internalType": "bytes32",
|
|
416
|
+
"name": "",
|
|
417
|
+
"type": "bytes32"
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"name": "_proposals",
|
|
421
|
+
"outputs": [
|
|
422
|
+
{
|
|
423
|
+
"internalType": "bytes32",
|
|
424
|
+
"name": "_resourceID",
|
|
425
|
+
"type": "bytes32"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"internalType": "bytes32",
|
|
429
|
+
"name": "_dataHash",
|
|
430
|
+
"type": "bytes32"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"internalType": "enum Bridge.ProposalStatus",
|
|
434
|
+
"name": "_status",
|
|
435
|
+
"type": "uint8"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"internalType": "uint256",
|
|
439
|
+
"name": "_proposedBlock",
|
|
440
|
+
"type": "uint256"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"stateMutability": "view",
|
|
444
|
+
"type": "function"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"inputs": [],
|
|
448
|
+
"name": "_relayerThreshold",
|
|
449
|
+
"outputs": [
|
|
450
|
+
{
|
|
451
|
+
"internalType": "uint256",
|
|
452
|
+
"name": "",
|
|
453
|
+
"type": "uint256"
|
|
454
|
+
}
|
|
455
|
+
],
|
|
456
|
+
"stateMutability": "view",
|
|
457
|
+
"type": "function"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"inputs": [
|
|
461
|
+
{
|
|
462
|
+
"internalType": "bytes32",
|
|
463
|
+
"name": "",
|
|
464
|
+
"type": "bytes32"
|
|
465
|
+
}
|
|
466
|
+
],
|
|
467
|
+
"name": "_resourceIDToHandlerAddress",
|
|
468
|
+
"outputs": [
|
|
469
|
+
{
|
|
470
|
+
"internalType": "address",
|
|
471
|
+
"name": "",
|
|
472
|
+
"type": "address"
|
|
473
|
+
}
|
|
474
|
+
],
|
|
475
|
+
"stateMutability": "view",
|
|
476
|
+
"type": "function"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"inputs": [],
|
|
480
|
+
"name": "_totalProposals",
|
|
481
|
+
"outputs": [
|
|
482
|
+
{
|
|
483
|
+
"internalType": "uint256",
|
|
484
|
+
"name": "",
|
|
485
|
+
"type": "uint256"
|
|
486
|
+
}
|
|
487
|
+
],
|
|
488
|
+
"stateMutability": "view",
|
|
489
|
+
"type": "function"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"inputs": [],
|
|
493
|
+
"name": "_totalRelayers",
|
|
494
|
+
"outputs": [
|
|
495
|
+
{
|
|
496
|
+
"internalType": "uint256",
|
|
497
|
+
"name": "",
|
|
498
|
+
"type": "uint256"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"stateMutability": "view",
|
|
502
|
+
"type": "function"
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
"inputs": [
|
|
506
|
+
{
|
|
507
|
+
"internalType": "address",
|
|
508
|
+
"name": "relayerAddress",
|
|
509
|
+
"type": "address"
|
|
510
|
+
}
|
|
511
|
+
],
|
|
512
|
+
"name": "adminAddRelayer",
|
|
513
|
+
"outputs": [],
|
|
514
|
+
"stateMutability": "nonpayable",
|
|
515
|
+
"type": "function"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"inputs": [
|
|
519
|
+
{
|
|
520
|
+
"internalType": "uint256",
|
|
521
|
+
"name": "newFee",
|
|
522
|
+
"type": "uint256"
|
|
523
|
+
}
|
|
524
|
+
],
|
|
525
|
+
"name": "adminChangeFee",
|
|
526
|
+
"outputs": [],
|
|
527
|
+
"stateMutability": "nonpayable",
|
|
528
|
+
"type": "function"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"inputs": [
|
|
532
|
+
{
|
|
533
|
+
"internalType": "uint256",
|
|
534
|
+
"name": "newThreshold",
|
|
535
|
+
"type": "uint256"
|
|
536
|
+
}
|
|
537
|
+
],
|
|
538
|
+
"name": "adminChangeRelayerThreshold",
|
|
539
|
+
"outputs": [],
|
|
540
|
+
"stateMutability": "nonpayable",
|
|
541
|
+
"type": "function"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"inputs": [],
|
|
545
|
+
"name": "adminPauseTransfers",
|
|
546
|
+
"outputs": [],
|
|
547
|
+
"stateMutability": "nonpayable",
|
|
548
|
+
"type": "function"
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"inputs": [
|
|
552
|
+
{
|
|
553
|
+
"internalType": "address",
|
|
554
|
+
"name": "relayerAddress",
|
|
555
|
+
"type": "address"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"name": "adminRemoveRelayer",
|
|
559
|
+
"outputs": [],
|
|
560
|
+
"stateMutability": "nonpayable",
|
|
561
|
+
"type": "function"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"inputs": [
|
|
565
|
+
{
|
|
566
|
+
"internalType": "address",
|
|
567
|
+
"name": "handlerAddress",
|
|
568
|
+
"type": "address"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"internalType": "address",
|
|
572
|
+
"name": "tokenAddress",
|
|
573
|
+
"type": "address"
|
|
574
|
+
}
|
|
575
|
+
],
|
|
576
|
+
"name": "adminSetBurnable",
|
|
577
|
+
"outputs": [],
|
|
578
|
+
"stateMutability": "nonpayable",
|
|
579
|
+
"type": "function"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"inputs": [
|
|
583
|
+
{
|
|
584
|
+
"internalType": "address",
|
|
585
|
+
"name": "handlerAddress",
|
|
586
|
+
"type": "address"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"internalType": "bytes32",
|
|
590
|
+
"name": "resourceID",
|
|
591
|
+
"type": "bytes32"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"internalType": "address",
|
|
595
|
+
"name": "contractAddress",
|
|
596
|
+
"type": "address"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"internalType": "bytes4",
|
|
600
|
+
"name": "depositFunctionSig",
|
|
601
|
+
"type": "bytes4"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"internalType": "bytes4",
|
|
605
|
+
"name": "executeFunctionSig",
|
|
606
|
+
"type": "bytes4"
|
|
607
|
+
}
|
|
608
|
+
],
|
|
609
|
+
"name": "adminSetGenericResource",
|
|
610
|
+
"outputs": [],
|
|
611
|
+
"stateMutability": "nonpayable",
|
|
612
|
+
"type": "function"
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"inputs": [
|
|
616
|
+
{
|
|
617
|
+
"internalType": "address",
|
|
618
|
+
"name": "handlerAddress",
|
|
619
|
+
"type": "address"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"internalType": "bytes32",
|
|
623
|
+
"name": "resourceID",
|
|
624
|
+
"type": "bytes32"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"internalType": "address",
|
|
628
|
+
"name": "tokenAddress",
|
|
629
|
+
"type": "address"
|
|
630
|
+
}
|
|
631
|
+
],
|
|
632
|
+
"name": "adminSetResource",
|
|
633
|
+
"outputs": [],
|
|
634
|
+
"stateMutability": "nonpayable",
|
|
635
|
+
"type": "function"
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"inputs": [],
|
|
639
|
+
"name": "adminUnpauseTransfers",
|
|
640
|
+
"outputs": [],
|
|
641
|
+
"stateMutability": "nonpayable",
|
|
642
|
+
"type": "function"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"inputs": [
|
|
646
|
+
{
|
|
647
|
+
"internalType": "address",
|
|
648
|
+
"name": "handlerAddress",
|
|
649
|
+
"type": "address"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"internalType": "address",
|
|
653
|
+
"name": "tokenAddress",
|
|
654
|
+
"type": "address"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"internalType": "address",
|
|
658
|
+
"name": "recipient",
|
|
659
|
+
"type": "address"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
"internalType": "uint256",
|
|
663
|
+
"name": "amountOrTokenID",
|
|
664
|
+
"type": "uint256"
|
|
665
|
+
}
|
|
666
|
+
],
|
|
667
|
+
"name": "adminWithdraw",
|
|
668
|
+
"outputs": [],
|
|
669
|
+
"stateMutability": "nonpayable",
|
|
670
|
+
"type": "function"
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"inputs": [
|
|
674
|
+
{
|
|
675
|
+
"internalType": "uint8",
|
|
676
|
+
"name": "chainID",
|
|
677
|
+
"type": "uint8"
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"internalType": "uint64",
|
|
681
|
+
"name": "depositNonce",
|
|
682
|
+
"type": "uint64"
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"internalType": "bytes32",
|
|
686
|
+
"name": "dataHash",
|
|
687
|
+
"type": "bytes32"
|
|
688
|
+
}
|
|
689
|
+
],
|
|
690
|
+
"name": "cancelProposal",
|
|
691
|
+
"outputs": [],
|
|
692
|
+
"stateMutability": "nonpayable",
|
|
693
|
+
"type": "function"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"inputs": [
|
|
697
|
+
{
|
|
698
|
+
"internalType": "uint8",
|
|
699
|
+
"name": "destinationChainID",
|
|
700
|
+
"type": "uint8"
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"internalType": "bytes32",
|
|
704
|
+
"name": "resourceID",
|
|
705
|
+
"type": "bytes32"
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"internalType": "bytes",
|
|
709
|
+
"name": "data",
|
|
710
|
+
"type": "bytes"
|
|
711
|
+
}
|
|
712
|
+
],
|
|
713
|
+
"name": "deposit",
|
|
714
|
+
"outputs": [],
|
|
715
|
+
"stateMutability": "payable",
|
|
716
|
+
"type": "function"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"inputs": [
|
|
720
|
+
{
|
|
721
|
+
"internalType": "uint8",
|
|
722
|
+
"name": "chainID",
|
|
723
|
+
"type": "uint8"
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
"internalType": "uint64",
|
|
727
|
+
"name": "depositNonce",
|
|
728
|
+
"type": "uint64"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"internalType": "bytes",
|
|
732
|
+
"name": "data",
|
|
733
|
+
"type": "bytes"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"internalType": "bytes32",
|
|
737
|
+
"name": "resourceID",
|
|
738
|
+
"type": "bytes32"
|
|
739
|
+
}
|
|
740
|
+
],
|
|
741
|
+
"name": "executeProposal",
|
|
742
|
+
"outputs": [],
|
|
743
|
+
"stateMutability": "nonpayable",
|
|
744
|
+
"type": "function"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"inputs": [
|
|
748
|
+
{
|
|
749
|
+
"internalType": "uint8",
|
|
750
|
+
"name": "originChainID",
|
|
751
|
+
"type": "uint8"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"internalType": "uint64",
|
|
755
|
+
"name": "depositNonce",
|
|
756
|
+
"type": "uint64"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"internalType": "bytes32",
|
|
760
|
+
"name": "dataHash",
|
|
761
|
+
"type": "bytes32"
|
|
762
|
+
}
|
|
763
|
+
],
|
|
764
|
+
"name": "getProposal",
|
|
765
|
+
"outputs": [
|
|
766
|
+
{
|
|
767
|
+
"components": [
|
|
768
|
+
{
|
|
769
|
+
"internalType": "bytes32",
|
|
770
|
+
"name": "_resourceID",
|
|
771
|
+
"type": "bytes32"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"internalType": "bytes32",
|
|
775
|
+
"name": "_dataHash",
|
|
776
|
+
"type": "bytes32"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"internalType": "address[]",
|
|
780
|
+
"name": "_yesVotes",
|
|
781
|
+
"type": "address[]"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"internalType": "address[]",
|
|
785
|
+
"name": "_noVotes",
|
|
786
|
+
"type": "address[]"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"internalType": "enum Bridge.ProposalStatus",
|
|
790
|
+
"name": "_status",
|
|
791
|
+
"type": "uint8"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"internalType": "uint256",
|
|
795
|
+
"name": "_proposedBlock",
|
|
796
|
+
"type": "uint256"
|
|
797
|
+
}
|
|
798
|
+
],
|
|
799
|
+
"internalType": "struct Bridge.Proposal",
|
|
800
|
+
"name": "",
|
|
801
|
+
"type": "tuple"
|
|
802
|
+
}
|
|
803
|
+
],
|
|
804
|
+
"stateMutability": "view",
|
|
805
|
+
"type": "function"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"inputs": [
|
|
809
|
+
{
|
|
810
|
+
"internalType": "bytes32",
|
|
811
|
+
"name": "role",
|
|
812
|
+
"type": "bytes32"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"name": "getRoleAdmin",
|
|
816
|
+
"outputs": [
|
|
817
|
+
{
|
|
818
|
+
"internalType": "bytes32",
|
|
819
|
+
"name": "",
|
|
820
|
+
"type": "bytes32"
|
|
821
|
+
}
|
|
822
|
+
],
|
|
823
|
+
"stateMutability": "view",
|
|
824
|
+
"type": "function"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"inputs": [
|
|
828
|
+
{
|
|
829
|
+
"internalType": "bytes32",
|
|
830
|
+
"name": "role",
|
|
831
|
+
"type": "bytes32"
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"internalType": "address",
|
|
835
|
+
"name": "account",
|
|
836
|
+
"type": "address"
|
|
837
|
+
}
|
|
838
|
+
],
|
|
839
|
+
"name": "grantRole",
|
|
840
|
+
"outputs": [],
|
|
841
|
+
"stateMutability": "nonpayable",
|
|
842
|
+
"type": "function"
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"inputs": [
|
|
846
|
+
{
|
|
847
|
+
"internalType": "bytes32",
|
|
848
|
+
"name": "role",
|
|
849
|
+
"type": "bytes32"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"internalType": "address",
|
|
853
|
+
"name": "account",
|
|
854
|
+
"type": "address"
|
|
855
|
+
}
|
|
856
|
+
],
|
|
857
|
+
"name": "hasRole",
|
|
858
|
+
"outputs": [
|
|
859
|
+
{
|
|
860
|
+
"internalType": "bool",
|
|
861
|
+
"name": "",
|
|
862
|
+
"type": "bool"
|
|
863
|
+
}
|
|
864
|
+
],
|
|
865
|
+
"stateMutability": "view",
|
|
866
|
+
"type": "function"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"inputs": [
|
|
870
|
+
{
|
|
871
|
+
"internalType": "address",
|
|
872
|
+
"name": "relayer",
|
|
873
|
+
"type": "address"
|
|
874
|
+
}
|
|
875
|
+
],
|
|
876
|
+
"name": "isRelayer",
|
|
877
|
+
"outputs": [
|
|
878
|
+
{
|
|
879
|
+
"internalType": "bool",
|
|
880
|
+
"name": "",
|
|
881
|
+
"type": "bool"
|
|
882
|
+
}
|
|
883
|
+
],
|
|
884
|
+
"stateMutability": "view",
|
|
885
|
+
"type": "function"
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"inputs": [],
|
|
889
|
+
"name": "paused",
|
|
890
|
+
"outputs": [
|
|
891
|
+
{
|
|
892
|
+
"internalType": "bool",
|
|
893
|
+
"name": "",
|
|
894
|
+
"type": "bool"
|
|
895
|
+
}
|
|
896
|
+
],
|
|
897
|
+
"stateMutability": "view",
|
|
898
|
+
"type": "function"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"inputs": [
|
|
902
|
+
{
|
|
903
|
+
"internalType": "address",
|
|
904
|
+
"name": "newAdmin",
|
|
905
|
+
"type": "address"
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"name": "renounceAdmin",
|
|
909
|
+
"outputs": [],
|
|
910
|
+
"stateMutability": "nonpayable",
|
|
911
|
+
"type": "function"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"inputs": [
|
|
915
|
+
{
|
|
916
|
+
"internalType": "bytes32",
|
|
917
|
+
"name": "role",
|
|
918
|
+
"type": "bytes32"
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"internalType": "address",
|
|
922
|
+
"name": "account",
|
|
923
|
+
"type": "address"
|
|
924
|
+
}
|
|
925
|
+
],
|
|
926
|
+
"name": "renounceRole",
|
|
927
|
+
"outputs": [],
|
|
928
|
+
"stateMutability": "nonpayable",
|
|
929
|
+
"type": "function"
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"inputs": [
|
|
933
|
+
{
|
|
934
|
+
"internalType": "bytes32",
|
|
935
|
+
"name": "role",
|
|
936
|
+
"type": "bytes32"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
"internalType": "address",
|
|
940
|
+
"name": "account",
|
|
941
|
+
"type": "address"
|
|
942
|
+
}
|
|
943
|
+
],
|
|
944
|
+
"name": "revokeRole",
|
|
945
|
+
"outputs": [],
|
|
946
|
+
"stateMutability": "nonpayable",
|
|
947
|
+
"type": "function"
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
"inputs": [
|
|
951
|
+
{
|
|
952
|
+
"internalType": "bytes4",
|
|
953
|
+
"name": "interfaceId",
|
|
954
|
+
"type": "bytes4"
|
|
955
|
+
}
|
|
956
|
+
],
|
|
957
|
+
"name": "supportsInterface",
|
|
958
|
+
"outputs": [
|
|
959
|
+
{
|
|
960
|
+
"internalType": "bool",
|
|
961
|
+
"name": "",
|
|
962
|
+
"type": "bool"
|
|
963
|
+
}
|
|
964
|
+
],
|
|
965
|
+
"stateMutability": "view",
|
|
966
|
+
"type": "function"
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
"inputs": [
|
|
970
|
+
{
|
|
971
|
+
"internalType": "address payable[]",
|
|
972
|
+
"name": "addrs",
|
|
973
|
+
"type": "address[]"
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
"internalType": "uint256[]",
|
|
977
|
+
"name": "amounts",
|
|
978
|
+
"type": "uint256[]"
|
|
979
|
+
}
|
|
980
|
+
],
|
|
981
|
+
"name": "transferFunds",
|
|
982
|
+
"outputs": [],
|
|
983
|
+
"stateMutability": "nonpayable",
|
|
984
|
+
"type": "function"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"inputs": [
|
|
988
|
+
{
|
|
989
|
+
"internalType": "uint8",
|
|
990
|
+
"name": "chainID",
|
|
991
|
+
"type": "uint8"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"internalType": "uint64",
|
|
995
|
+
"name": "depositNonce",
|
|
996
|
+
"type": "uint64"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"internalType": "bytes32",
|
|
1000
|
+
"name": "resourceID",
|
|
1001
|
+
"type": "bytes32"
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"internalType": "bytes32",
|
|
1005
|
+
"name": "dataHash",
|
|
1006
|
+
"type": "bytes32"
|
|
1007
|
+
}
|
|
1008
|
+
],
|
|
1009
|
+
"name": "voteProposal",
|
|
1010
|
+
"outputs": [],
|
|
1011
|
+
"stateMutability": "nonpayable",
|
|
1012
|
+
"type": "function"
|
|
1013
|
+
}
|
|
1014
|
+
],
|
|
1015
|
+
"bytecode": "0x60806040523480156200001157600080fd5b5060405162003e3e38038062003e3e8339810160408190526200003491620004c0565b6000805460ff1990811682556002805490911660ff881617905560038490556006839055600782905562000069903362000108565b6200008560008051602062003e1e833981519152600062000118565b60005b8451811015620000fc57620000cf60008051602062003e1e833981519152868381518110620000bb57620000bb620005c9565b60200260200101516200016f60201b60201c565b60048054906000620000e183620005f5565b91905055508080620000f390620005f5565b91505062000088565b5050505050506200074b565b6200011482826200019f565b5050565b60008281526001602081905260409091200154819060405184907fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff90600090a4600091825260016020819052604090922090910155565b600082815260016020819052604090912001546200018e813362000227565b6200019a83836200019f565b505050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16620001145760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16620001145762000273816001600160a01b03166014620002cd60201b620022a11760201c565b62000289836020620022a1620002cd821b17811c565b6040516020016200029c92919062000646565b60408051601f198184030181529082905262461bcd60e51b8252620002c491600401620006bf565b60405180910390fd5b60606000620002de836002620006f4565b620002eb90600262000716565b6001600160401b038111156200030557620003056200048d565b6040519080825280601f01601f19166020018201604052801562000330576020820181803683370190505b509050600360fc1b816000815181106200034e576200034e620005c9565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620003805762000380620005c9565b60200101906001600160f81b031916908160001a9053506000620003a6846002620006f4565b620003b390600162000716565b90505b600181111562000435576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620003eb57620003eb620005c9565b1a60f81b828281518110620004045762000404620005c9565b60200101906001600160f81b031916908160001a90535060049490941c936200042d8162000731565b9050620003b6565b508315620004865760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620002c4565b9392505050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620004bb57600080fd5b919050565b600080600080600060a08688031215620004d957600080fd5b855160ff81168114620004eb57600080fd5b602087810151919650906001600160401b03808211156200050b57600080fd5b818901915089601f8301126200052057600080fd5b8151818111156200053557620005356200048d565b8060051b604051601f19603f830116810181811085821117156200055d576200055d6200048d565b60405291825284820192508381018501918c8311156200057c57600080fd5b938501935b82851015620005a5576200059585620004a3565b8452938501939285019262000581565b60408c015160608d01516080909d01519b9e919d509b9a9950975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200060c576200060c620005df565b5060010190565b60005b838110156200063057818101518382015260200162000616565b8381111562000640576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200068081601785016020880162000613565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620006b381602884016020880162000613565b01602801949350505050565b6020815260008251806020840152620006e081604085016020870162000613565b601f01601f19169190910160400192915050565b6000816000190483118215151615620007115762000711620005df565b500290565b600082198211156200072c576200072c620005df565b500190565b600081620007435762000743620005df565b506000190190565b6136c3806200075b6000396000f3fe6080604052600436106102855760003560e01c806380ae1c2811610153578063a9cf69fa116100cb578063cdb0f73a1161007f578063d7a9cd7911610064578063d7a9cd7914610816578063e8437ee71461082c578063ffaac0eb1461084c57600080fd5b8063cdb0f73a146107d6578063d547741f146107f657600080fd5b8063c5b37c22116100b0578063c5b37c221461078a578063c5ec8970146107a0578063cb10f215146107b657600080fd5b8063a9cf69fa14610731578063beab71311461075e57600080fd5b806391d14854116101225780639d5773e0116101075780639d5773e0146106e65780639d82dd63146106fc578063a217fddf1461071c57600080fd5b806391d148541461065f578063926d7d7f146106b257600080fd5b806380ae1c28146105a257806384db809f146105b75780638c0c26311461061f57806391c404ac1461063f57600080fd5b80634603ae38116102015780635c975abb116101b5578063780cf0041161019a578063780cf0041461052b5780637febe63f1461054b578063802aabe81461058c57600080fd5b80635c975abb146104f35780635e1fab0f1461050b57600080fd5b80634e056005116101e65780634e056005146104505780635059871914610470578063541d5548146104d357600080fd5b80634603ae38146103e05780634b0b919d1461040057600080fd5b8063248a9ca31161025857806336568abe1161023d57806336568abe146103735780633ee7094a146103935780634454b20d146103c057600080fd5b8063248a9ca3146103145780632f2ff15d1461035357600080fd5b806301ffc9a71461028a57806305e2ca17146102bf57806317f03ce5146102d45780631ff013f1146102f4575b600080fd5b34801561029657600080fd5b506102aa6102a5366004612c4f565b610861565b60405190151581526020015b60405180910390f35b6102d26102cd366004612cc4565b6108fa565b005b3480156102e057600080fd5b506102d26102ef366004612d36565b610bae565b34801561030057600080fd5b506102d261030f366004612d72565b610d66565b34801561032057600080fd5b5061034561032f366004612db4565b6000908152600160208190526040909120015490565b6040519081526020016102b6565b34801561035f57600080fd5b506102d261036e366004612def565b611423565b34801561037f57600080fd5b506102d261038e366004612def565b61144f565b34801561039f57600080fd5b506103b36103ae366004612e1f565b611502565b6040516102b69190612ecc565b3480156103cc57600080fd5b506102d26103db366004612edf565b6115a7565b3480156103ec57600080fd5b506102d26103fb366004612f8d565b611981565b34801561040c57600080fd5b5061043761041b366004612fed565b60086020526000908152604090205467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102b6565b34801561045c57600080fd5b506102d261046b366004612db4565b611a32565b34801561047c57600080fd5b506104c361048b366004613021565b600b60209081526000928352604080842090915290825290208054600182015460048301546005909301549192909160ff9091169084565b6040516102b694939291906130b5565b3480156104df57600080fd5b506102aa6104ee3660046130df565b611a6d565b3480156104ff57600080fd5b5060005460ff166102aa565b34801561051757600080fd5b506102d26105263660046130df565b611aba565b34801561053757600080fd5b506102d26105463660046130fc565b611adb565b34801561055757600080fd5b506102aa61056636600461314d565b600c60209081526000938452604080852082529284528284209052825290205460ff1681565b34801561059857600080fd5b5061034560045481565b3480156105ae57600080fd5b506102d2611b7d565b3480156105c357600080fd5b506105fa6105d2366004612db4565b60096020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b6565b34801561062b57600080fd5b506102d261063a36600461318d565b611b8f565b34801561064b57600080fd5b506102d261065a366004612db4565b611c20565b34801561066b57600080fd5b506102aa61067a366004612def565b600091825260016020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156106be57600080fd5b506103457fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc481565b3480156106f257600080fd5b5061034560055481565b34801561070857600080fd5b506102d26107173660046130df565b611c99565b34801561072857600080fd5b50610345600081565b34801561073d57600080fd5b5061075161074c366004612d36565b611dd2565b6040516102b6919061320c565b34801561076a57600080fd5b506002546107789060ff1681565b60405160ff90911681526020016102b6565b34801561079657600080fd5b5061034560065481565b3480156107ac57600080fd5b5061034560075481565b3480156107c257600080fd5b506102d26107d13660046132a1565b611f62565b3480156107e257600080fd5b506102d26107f13660046130df565b612034565b34801561080257600080fd5b506102d2610811366004612def565b612166565b34801561082257600080fd5b5061034560035481565b34801561083857600080fd5b506102d26108473660046132c1565b61218d565b34801561085857600080fd5b506102d2612291565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60005460ff161561096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b60065434146109d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e636f72726563742066656520737570706c696564000000000000000000006044820152606401610963565b60008381526009602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f7265736f757263654944206e6f74206d617070656420746f2068616e646c65726044820152606401610963565b60ff8516600090815260086020526040812080548290610a8c9067ffffffffffffffff16613352565b825467ffffffffffffffff8083166101009490940a848102910219909116179092556000908152600a6020908152604080832060ff8b1684529091529020909150610ad8908585612ae9565b506040517f38995da9000000000000000000000000000000000000000000000000000000008152829073ffffffffffffffffffffffffffffffffffffffff8216906338995da990610b379089908b90879033908c908c906004016133c3565b600060405180830381600087803b158015610b5157600080fd5b505af1158015610b65573d6000803e3d6000fd5b505050508167ffffffffffffffff16868860ff167fdbb69440df8433824a026ef190652f29929eb64b4d1d5d2a69be8afe3e6eaed860405160405180910390a450505050505050565b610bb66124eb565b68ffffffffffffffff00600883901b1660ff8416176000818152600b6020908152604080832085845290915290206004808083015460ff1690811115610bfe57610bfe61304b565b1415610c66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f50726f706f73616c20616c72656164792063616e63656c6c65640000000000006044820152606401610963565b6007546005820154610c799043906125bc565b11610ce0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f50726f706f73616c206e6f7420617420657870697279207468726573686f6c646044820152606401610963565b600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821790558154600183015460408051928352602083019190915267ffffffffffffffff87169160ff8916917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a45050505050565b610d6e6125c8565b60005460ff1615610ddb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b68ffffffffffffffff00600884901b1660ff8516176000818152600b60209081526040808320858452825280832086845260099092529091205473ffffffffffffffffffffffffffffffffffffffff16610e91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6e6f2068616e646c657220666f72207265736f757263654944000000000000006044820152606401610963565b60048082015460019160ff90911690811115610eaf57610eaf61304b565b1115610f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f70726f706f73616c20616c7265616479207061737365642f657865637574656460448201527f2f63616e63656c6c6564000000000000000000000000000000000000000000006064820152608401610963565b68ffffffffffffffffff82166000908152600c60209081526040808320868452825280832033845290915290205460ff1615610fd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f72656c6179657220616c726561647920766f74656400000000000000000000006044820152606401610963565b60048082015460ff1690811115610fee57610fee61304b565b6111b6576005600081546110019061341e565b909155506040805160c0810182528581526020810185905281516001808252818401845291928301918160200160208202803683375050508152604080516000808252602080830184528085019290925260018385018190524360609095019490945268ffffffffffffffffff87168152600b825282812088825282528290208451815584820151938101939093559083015180516110a69260028501920190612b8b565b50606082015180516110c2916003840191602090910190612b8b565b5060808201518160040160006101000a81548160ff021916908360048111156110ed576110ed61304b565b021790555060a08201518160050155905050338160020160008154811061111657611116613486565b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560015b604080518681526020810186905267ffffffffffffffff88169160ff8a16917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a46112ae565b60075460058201546111c99043906125bc565b111561120157600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682179055611167565b8060010154831461126e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6461746168617368206d69736d617463680000000000000000000000000000006044820152606401610963565b600281018054600181018255600091825260209091200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b60048181015460ff16818111156112c7576112c761304b565b1461141b5768ffffffffffffffffff82166000908152600c602090815260408083208684528252808320338452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560048082015460ff169081111561133b5761133b61304b565b8567ffffffffffffffff168760ff167f25f8daaa4635a7729927ba3f5b3d59cc3320aca7c32c9db4e7ca7b95743436408760405161137b91815260200190565b60405180910390a4600160035411158061139b5750600354600282015410155b1561141b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002908117909155604080518681526020810186905267ffffffffffffffff88169160ff8a16917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a45b505050505050565b600082815260016020819052604090912001546114408133612660565b61144a8383612732565b505050565b73ffffffffffffffffffffffffffffffffffffffff811633146114f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610963565b6114fe82826127f1565b5050565b600a60209081526000928352604080842090915290825290208054611526906134b5565b80601f0160208091040260200160405190810160405280929190818152602001828054611552906134b5565b801561159f5780601f106115745761010080835404028352916020019161159f565b820191906000526020600020905b81548152906001019060200180831161158257829003601f168201915b505050505081565b6115af6125c8565b60005460ff161561161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b600081815260096020908152604080832054905173ffffffffffffffffffffffffffffffffffffffff9091169268ffffffffffffffff00600889901b1660ff8a16179290916116719185918991899101613509565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012068ffffffffffffffffff85166000908152600b84528281208282529093529082209092509060048083015460ff16908111156116e5576116e561304b565b141561174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f70726f706f73616c206973206e6f7420616374697665000000000000000000006044820152606401610963565b600260048083015460ff16908111156117685761176861304b565b146117cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f70726f706f73616c20616c7265616479207472616e73666572726564000000006044820152606401610963565b8060010154821461183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6461746120646f65736e2774206d6174636820646174616861736800000000006044820152606401610963565b600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790558154600081815260096020526040908190205490517fe248cff200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692839263e248cff2926118d1928d918d9101613548565b600060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b50505060048084015460ff16915081111561191c5761191c61304b565b8967ffffffffffffffff168b60ff167f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab6504178560000154866001015460405161196d929190918252602082015260400190565b60405180910390a450505050505050505050565b6119896128ac565b60005b83811015611a2b578484828181106119a6576119a6613486565b90506020020160208101906119bb91906130df565b73ffffffffffffffffffffffffffffffffffffffff166108fc8484848181106119e6576119e6613486565b905060200201359081150290604051600060405180830381858888f19350505050158015611a18573d6000803e3d6000fd5b5080611a238161341e565b91505061198c565b5050505050565b611a3a6128ac565b600381905560405181907fa20d6b84cd798a24038be305eff8a45ca82ef54a2aa2082005d8e14c0a4746c890600090a250565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604081205460ff166108f4565b611ac26128ac565b611acd600082611423565b611ad860003361144f565b50565b611ae36128ac565b6040517fd9caed1200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285919082169063d9caed1290606401600060405180830381600087803b158015611b5e57600080fd5b505af1158015611b72573d6000803e3d6000fd5b505050505050505050565b611b856128ac565b611b8d612944565b565b611b976128ac565b6040517f07b7ed9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301528391908216906307b7ed9990602401600060405180830381600087803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b50505050505050565b611c286128ac565b806006541415611c94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43757272656e742066656520697320657175616c20746f206e657720666565006044820152606401610963565b600655565b611ca16128ac565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16611d4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f6164647220646f65736e277420686176652072656c6179657220726f6c6521006044820152606401610963565b611d797fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc482612166565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f10e1f7ce9fd7d1b90a66d13a2ab3cb8dd7f29f3f8d520b143b063ccfbab6906b90600090a260048054906000611dca8361356b565b919050555050565b6040805160c08082018352600080835260208084018290526060848601819052808501526080840182905260a0840182905260ff8816600888901b68ffffffffffffffff001617808352600b825285832087845282529185902085519384018652805484526001810154848301526002810180548751818502810185018952818152969794969294860193830182828015611ea357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611e78575b5050505050815260200160038201805480602002602001604051908101604052809291908181526020018280548015611f1257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611ee7575b505050918352505060048281015460209092019160ff1690811115611f3957611f3961304b565b6004811115611f4a57611f4a61304b565b81526020016005820154815250509150509392505050565b611f6a6128ac565b6000828152600960205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591517fb8fa373600000000000000000000000000000000000000000000000000000000815260048101859052908316602482015284919063b8fa373690604401600060405180830381600087803b15801561201657600080fd5b505af115801561202a573d6000803e3d6000fd5b5050505050505050565b61203c6128ac565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16156120eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f6164647220616c7265616479206861732072656c6179657220726f6c652100006044820152606401610963565b6121157fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc482611423565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f03580ee9f53a62b7cb409a2cb56f9be87747dd15017afc5cef6eef321e4fb2c590600090a260048054906000611dca8361341e565b600082815260016020819052604090912001546121838133612660565b61144a83836127f1565b6121956128ac565b6000848152600960205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591517fbba8185a0000000000000000000000000000000000000000000000000000000081526004810187905290851660248201527fffffffff0000000000000000000000000000000000000000000000000000000080851660448301528316606482015286919063bba8185a90608401600060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b50505050505050505050565b6122996128ac565b611b8d612a2e565b606060006122b08360026135a0565b6122bb9060026135dd565b67ffffffffffffffff8111156122d3576122d3613457565b6040519080825280601f01601f1916602001820160405280156122fd576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061233457612334613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061239757612397613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006123d38460026135a0565b6123de9060016135dd565b90505b600181111561247b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061241f5761241f613486565b1a60f81b82828151811061243557612435613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936124748161356b565b90506123e1565b5083156124e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610963565b9392505050565b3360009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff168061255657503360009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff165b611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f73656e646572206973206e6f742072656c61796572206f722061646d696e00006044820152606401610963565b60006124e482846135f5565b3360009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f73656e64657220646f65736e277420686176652072656c6179657220726f6c656044820152606401610963565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166114fe576126b88173ffffffffffffffffffffffffffffffffffffffff1660146122a1565b6126c38360206122a1565b6040516020016126d492919061360c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261096391600401612ecc565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166114fe57600082815260016020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156114fe57600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b3360009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff16611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f73656e64657220646f65736e277420686176652061646d696e20726f6c6500006044820152606401610963565b60005460ff16156129b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a043390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff16612a9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610963565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612a04565b828054612af5906134b5565b90600052602060002090601f016020900481019282612b175760008555612b7b565b82601f10612b4e578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612b7b565b82800160010185558215612b7b579182015b82811115612b7b578235825591602001919060010190612b60565b50612b87929150612c05565b5090565b828054828255906000526020600020908101928215612b7b579160200282015b82811115612b7b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612bab565b5b80821115612b875760008155600101612c06565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114612c4a57600080fd5b919050565b600060208284031215612c6157600080fd5b6124e482612c1a565b803560ff81168114612c4a57600080fd5b60008083601f840112612c8d57600080fd5b50813567ffffffffffffffff811115612ca557600080fd5b602083019150836020828501011115612cbd57600080fd5b9250929050565b60008060008060608587031215612cda57600080fd5b612ce385612c6a565b935060208501359250604085013567ffffffffffffffff811115612d0657600080fd5b612d1287828801612c7b565b95989497509550505050565b803567ffffffffffffffff81168114612c4a57600080fd5b600080600060608486031215612d4b57600080fd5b612d5484612c6a565b9250612d6260208501612d1e565b9150604084013590509250925092565b60008060008060808587031215612d8857600080fd5b612d9185612c6a565b9350612d9f60208601612d1e565b93969395505050506040820135916060013590565b600060208284031215612dc657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611ad857600080fd5b60008060408385031215612e0257600080fd5b823591506020830135612e1481612dcd565b809150509250929050565b60008060408385031215612e3257600080fd5b612e3b83612d1e565b9150612e4960208401612c6a565b90509250929050565b60005b83811015612e6d578181015183820152602001612e55565b83811115612e7c576000848401525b50505050565b60008151808452612e9a816020860160208601612e52565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006124e46020830184612e82565b600080600080600060808688031215612ef757600080fd5b612f0086612c6a565b9450612f0e60208701612d1e565b9350604086013567ffffffffffffffff811115612f2a57600080fd5b612f3688828901612c7b565b96999598509660600135949350505050565b60008083601f840112612f5a57600080fd5b50813567ffffffffffffffff811115612f7257600080fd5b6020830191508360208260051b8501011115612cbd57600080fd5b60008060008060408587031215612fa357600080fd5b843567ffffffffffffffff80821115612fbb57600080fd5b612fc788838901612f48565b90965094506020870135915080821115612fe057600080fd5b50612d1287828801612f48565b600060208284031215612fff57600080fd5b6124e482612c6a565b803568ffffffffffffffffff81168114612c4a57600080fd5b6000806040838503121561303457600080fd5b61303d83613008565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600581106130b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b84815260208101849052608081016130d0604083018561307a565b82606083015295945050505050565b6000602082840312156130f157600080fd5b81356124e481612dcd565b6000806000806080858703121561311257600080fd5b843561311d81612dcd565b9350602085013561312d81612dcd565b9250604085013561313d81612dcd565b9396929550929360600135925050565b60008060006060848603121561316257600080fd5b61316b84613008565b925060208401359150604084013561318281612dcd565b809150509250925092565b600080604083850312156131a057600080fd5b82356131ab81612dcd565b91506020830135612e1481612dcd565b600081518084526020808501945080840160005b8381101561320157815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016131cf565b509495945050505050565b6020815281516020820152602082015160408201526000604083015160c0606084015261323c60e08401826131bb565b905060608401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084830301608085015261327782826131bb565b915050608084015161328c60a085018261307a565b5060a084015160c08401528091505092915050565b6000806000606084860312156132b657600080fd5b833561316b81612dcd565b600080600080600060a086880312156132d957600080fd5b85356132e481612dcd565b94506020860135935060408601356132fb81612dcd565b925061330960608701612c1a565b915061331760808701612c1a565b90509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff8083168181141561337057613370613323565b6001019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b86815260ff8616602082015267ffffffffffffffff8516604082015273ffffffffffffffffffffffffffffffffffffffff8416606082015260a06080820152600061341260a08301848661337a565b98975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561345057613450613323565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806134c957607f821691505b60208210811415613503577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b168152818360148301376000910160140190815292915050565b83815260406020820152600061356260408301848661337a565b95945050505050565b60008161357a5761357a613323565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135d8576135d8613323565b500290565b600082198211156135f0576135f0613323565b500190565b60008282101561360757613607613323565b500390565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613644816017850160208801612e52565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613681816028840160208801612e52565b0160280194935050505056fea26469706673582212201bdb0ea97e34c099dba75c931fd443e06ad9b83a5e4a196f8c0e6041a308aeea64736f6c63430008090033e2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4",
|
|
1016
|
+
"deployedBytecode": "0x6080604052600436106102855760003560e01c806380ae1c2811610153578063a9cf69fa116100cb578063cdb0f73a1161007f578063d7a9cd7911610064578063d7a9cd7914610816578063e8437ee71461082c578063ffaac0eb1461084c57600080fd5b8063cdb0f73a146107d6578063d547741f146107f657600080fd5b8063c5b37c22116100b0578063c5b37c221461078a578063c5ec8970146107a0578063cb10f215146107b657600080fd5b8063a9cf69fa14610731578063beab71311461075e57600080fd5b806391d14854116101225780639d5773e0116101075780639d5773e0146106e65780639d82dd63146106fc578063a217fddf1461071c57600080fd5b806391d148541461065f578063926d7d7f146106b257600080fd5b806380ae1c28146105a257806384db809f146105b75780638c0c26311461061f57806391c404ac1461063f57600080fd5b80634603ae38116102015780635c975abb116101b5578063780cf0041161019a578063780cf0041461052b5780637febe63f1461054b578063802aabe81461058c57600080fd5b80635c975abb146104f35780635e1fab0f1461050b57600080fd5b80634e056005116101e65780634e056005146104505780635059871914610470578063541d5548146104d357600080fd5b80634603ae38146103e05780634b0b919d1461040057600080fd5b8063248a9ca31161025857806336568abe1161023d57806336568abe146103735780633ee7094a146103935780634454b20d146103c057600080fd5b8063248a9ca3146103145780632f2ff15d1461035357600080fd5b806301ffc9a71461028a57806305e2ca17146102bf57806317f03ce5146102d45780631ff013f1146102f4575b600080fd5b34801561029657600080fd5b506102aa6102a5366004612c4f565b610861565b60405190151581526020015b60405180910390f35b6102d26102cd366004612cc4565b6108fa565b005b3480156102e057600080fd5b506102d26102ef366004612d36565b610bae565b34801561030057600080fd5b506102d261030f366004612d72565b610d66565b34801561032057600080fd5b5061034561032f366004612db4565b6000908152600160208190526040909120015490565b6040519081526020016102b6565b34801561035f57600080fd5b506102d261036e366004612def565b611423565b34801561037f57600080fd5b506102d261038e366004612def565b61144f565b34801561039f57600080fd5b506103b36103ae366004612e1f565b611502565b6040516102b69190612ecc565b3480156103cc57600080fd5b506102d26103db366004612edf565b6115a7565b3480156103ec57600080fd5b506102d26103fb366004612f8d565b611981565b34801561040c57600080fd5b5061043761041b366004612fed565b60086020526000908152604090205467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102b6565b34801561045c57600080fd5b506102d261046b366004612db4565b611a32565b34801561047c57600080fd5b506104c361048b366004613021565b600b60209081526000928352604080842090915290825290208054600182015460048301546005909301549192909160ff9091169084565b6040516102b694939291906130b5565b3480156104df57600080fd5b506102aa6104ee3660046130df565b611a6d565b3480156104ff57600080fd5b5060005460ff166102aa565b34801561051757600080fd5b506102d26105263660046130df565b611aba565b34801561053757600080fd5b506102d26105463660046130fc565b611adb565b34801561055757600080fd5b506102aa61056636600461314d565b600c60209081526000938452604080852082529284528284209052825290205460ff1681565b34801561059857600080fd5b5061034560045481565b3480156105ae57600080fd5b506102d2611b7d565b3480156105c357600080fd5b506105fa6105d2366004612db4565b60096020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b6565b34801561062b57600080fd5b506102d261063a36600461318d565b611b8f565b34801561064b57600080fd5b506102d261065a366004612db4565b611c20565b34801561066b57600080fd5b506102aa61067a366004612def565b600091825260016020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156106be57600080fd5b506103457fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc481565b3480156106f257600080fd5b5061034560055481565b34801561070857600080fd5b506102d26107173660046130df565b611c99565b34801561072857600080fd5b50610345600081565b34801561073d57600080fd5b5061075161074c366004612d36565b611dd2565b6040516102b6919061320c565b34801561076a57600080fd5b506002546107789060ff1681565b60405160ff90911681526020016102b6565b34801561079657600080fd5b5061034560065481565b3480156107ac57600080fd5b5061034560075481565b3480156107c257600080fd5b506102d26107d13660046132a1565b611f62565b3480156107e257600080fd5b506102d26107f13660046130df565b612034565b34801561080257600080fd5b506102d2610811366004612def565b612166565b34801561082257600080fd5b5061034560035481565b34801561083857600080fd5b506102d26108473660046132c1565b61218d565b34801561085857600080fd5b506102d2612291565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108f457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60005460ff161561096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b60065434146109d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e636f72726563742066656520737570706c696564000000000000000000006044820152606401610963565b60008381526009602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610a63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f7265736f757263654944206e6f74206d617070656420746f2068616e646c65726044820152606401610963565b60ff8516600090815260086020526040812080548290610a8c9067ffffffffffffffff16613352565b825467ffffffffffffffff8083166101009490940a848102910219909116179092556000908152600a6020908152604080832060ff8b1684529091529020909150610ad8908585612ae9565b506040517f38995da9000000000000000000000000000000000000000000000000000000008152829073ffffffffffffffffffffffffffffffffffffffff8216906338995da990610b379089908b90879033908c908c906004016133c3565b600060405180830381600087803b158015610b5157600080fd5b505af1158015610b65573d6000803e3d6000fd5b505050508167ffffffffffffffff16868860ff167fdbb69440df8433824a026ef190652f29929eb64b4d1d5d2a69be8afe3e6eaed860405160405180910390a450505050505050565b610bb66124eb565b68ffffffffffffffff00600883901b1660ff8416176000818152600b6020908152604080832085845290915290206004808083015460ff1690811115610bfe57610bfe61304b565b1415610c66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f50726f706f73616c20616c72656164792063616e63656c6c65640000000000006044820152606401610963565b6007546005820154610c799043906125bc565b11610ce0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f50726f706f73616c206e6f7420617420657870697279207468726573686f6c646044820152606401610963565b600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821790558154600183015460408051928352602083019190915267ffffffffffffffff87169160ff8916917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a45050505050565b610d6e6125c8565b60005460ff1615610ddb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b68ffffffffffffffff00600884901b1660ff8516176000818152600b60209081526040808320858452825280832086845260099092529091205473ffffffffffffffffffffffffffffffffffffffff16610e91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6e6f2068616e646c657220666f72207265736f757263654944000000000000006044820152606401610963565b60048082015460019160ff90911690811115610eaf57610eaf61304b565b1115610f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f70726f706f73616c20616c7265616479207061737365642f657865637574656460448201527f2f63616e63656c6c6564000000000000000000000000000000000000000000006064820152608401610963565b68ffffffffffffffffff82166000908152600c60209081526040808320868452825280832033845290915290205460ff1615610fd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f72656c6179657220616c726561647920766f74656400000000000000000000006044820152606401610963565b60048082015460ff1690811115610fee57610fee61304b565b6111b6576005600081546110019061341e565b909155506040805160c0810182528581526020810185905281516001808252818401845291928301918160200160208202803683375050508152604080516000808252602080830184528085019290925260018385018190524360609095019490945268ffffffffffffffffff87168152600b825282812088825282528290208451815584820151938101939093559083015180516110a69260028501920190612b8b565b50606082015180516110c2916003840191602090910190612b8b565b5060808201518160040160006101000a81548160ff021916908360048111156110ed576110ed61304b565b021790555060a08201518160050155905050338160020160008154811061111657611116613486565b600091825260209091200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560015b604080518681526020810186905267ffffffffffffffff88169160ff8a16917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a46112ae565b60075460058201546111c99043906125bc565b111561120157600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682179055611167565b8060010154831461126e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6461746168617368206d69736d617463680000000000000000000000000000006044820152606401610963565b600281018054600181018255600091825260209091200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555b60048181015460ff16818111156112c7576112c761304b565b1461141b5768ffffffffffffffffff82166000908152600c602090815260408083208684528252808320338452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560048082015460ff169081111561133b5761133b61304b565b8567ffffffffffffffff168760ff167f25f8daaa4635a7729927ba3f5b3d59cc3320aca7c32c9db4e7ca7b95743436408760405161137b91815260200190565b60405180910390a4600160035411158061139b5750600354600282015410155b1561141b576004810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002908117909155604080518681526020810186905267ffffffffffffffff88169160ff8a16917f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab650417910160405180910390a45b505050505050565b600082815260016020819052604090912001546114408133612660565b61144a8383612732565b505050565b73ffffffffffffffffffffffffffffffffffffffff811633146114f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610963565b6114fe82826127f1565b5050565b600a60209081526000928352604080842090915290825290208054611526906134b5565b80601f0160208091040260200160405190810160405280929190818152602001828054611552906134b5565b801561159f5780601f106115745761010080835404028352916020019161159f565b820191906000526020600020905b81548152906001019060200180831161158257829003601f168201915b505050505081565b6115af6125c8565b60005460ff161561161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b600081815260096020908152604080832054905173ffffffffffffffffffffffffffffffffffffffff9091169268ffffffffffffffff00600889901b1660ff8a16179290916116719185918991899101613509565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012068ffffffffffffffffff85166000908152600b84528281208282529093529082209092509060048083015460ff16908111156116e5576116e561304b565b141561174d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f70726f706f73616c206973206e6f7420616374697665000000000000000000006044820152606401610963565b600260048083015460ff16908111156117685761176861304b565b146117cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f70726f706f73616c20616c7265616479207472616e73666572726564000000006044820152606401610963565b8060010154821461183c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6461746120646f65736e2774206d6174636820646174616861736800000000006044820152606401610963565b600481810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660031790558154600081815260096020526040908190205490517fe248cff200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692839263e248cff2926118d1928d918d9101613548565b600060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b50505060048084015460ff16915081111561191c5761191c61304b565b8967ffffffffffffffff168b60ff167f803c5a12f6bde629cea32e63d4b92d1b560816a6fb72e939d3c89e1cab6504178560000154866001015460405161196d929190918252602082015260400190565b60405180910390a450505050505050505050565b6119896128ac565b60005b83811015611a2b578484828181106119a6576119a6613486565b90506020020160208101906119bb91906130df565b73ffffffffffffffffffffffffffffffffffffffff166108fc8484848181106119e6576119e6613486565b905060200201359081150290604051600060405180830381858888f19350505050158015611a18573d6000803e3d6000fd5b5080611a238161341e565b91505061198c565b5050505050565b611a3a6128ac565b600381905560405181907fa20d6b84cd798a24038be305eff8a45ca82ef54a2aa2082005d8e14c0a4746c890600090a250565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604081205460ff166108f4565b611ac26128ac565b611acd600082611423565b611ad860003361144f565b50565b611ae36128ac565b6040517fd9caed1200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285919082169063d9caed1290606401600060405180830381600087803b158015611b5e57600080fd5b505af1158015611b72573d6000803e3d6000fd5b505050505050505050565b611b856128ac565b611b8d612944565b565b611b976128ac565b6040517f07b7ed9900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301528391908216906307b7ed9990602401600060405180830381600087803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b50505050505050565b611c286128ac565b806006541415611c94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f43757272656e742066656520697320657175616c20746f206e657720666565006044820152606401610963565b600655565b611ca16128ac565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16611d4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f6164647220646f65736e277420686176652072656c6179657220726f6c6521006044820152606401610963565b611d797fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc482612166565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f10e1f7ce9fd7d1b90a66d13a2ab3cb8dd7f29f3f8d520b143b063ccfbab6906b90600090a260048054906000611dca8361356b565b919050555050565b6040805160c08082018352600080835260208084018290526060848601819052808501526080840182905260a0840182905260ff8816600888901b68ffffffffffffffff001617808352600b825285832087845282529185902085519384018652805484526001810154848301526002810180548751818502810185018952818152969794969294860193830182828015611ea357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611e78575b5050505050815260200160038201805480602002602001604051908101604052809291908181526020018280548015611f1257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611ee7575b505050918352505060048281015460209092019160ff1690811115611f3957611f3961304b565b6004811115611f4a57611f4a61304b565b81526020016005820154815250509150509392505050565b611f6a6128ac565b6000828152600960205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff86811691821790925591517fb8fa373600000000000000000000000000000000000000000000000000000000815260048101859052908316602482015284919063b8fa373690604401600060405180830381600087803b15801561201657600080fd5b505af115801561202a573d6000803e3d6000fd5b5050505050505050565b61203c6128ac565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16156120eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f6164647220616c7265616479206861732072656c6179657220726f6c652100006044820152606401610963565b6121157fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc482611423565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f03580ee9f53a62b7cb409a2cb56f9be87747dd15017afc5cef6eef321e4fb2c590600090a260048054906000611dca8361341e565b600082815260016020819052604090912001546121838133612660565b61144a83836127f1565b6121956128ac565b6000848152600960205260409081902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88811691821790925591517fbba8185a0000000000000000000000000000000000000000000000000000000081526004810187905290851660248201527fffffffff0000000000000000000000000000000000000000000000000000000080851660448301528316606482015286919063bba8185a90608401600060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b50505050505050505050565b6122996128ac565b611b8d612a2e565b606060006122b08360026135a0565b6122bb9060026135dd565b67ffffffffffffffff8111156122d3576122d3613457565b6040519080825280601f01601f1916602001820160405280156122fd576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061233457612334613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061239757612397613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006123d38460026135a0565b6123de9060016135dd565b90505b600181111561247b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061241f5761241f613486565b1a60f81b82828151811061243557612435613486565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936124748161356b565b90506123e1565b5083156124e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610963565b9392505050565b3360009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff168061255657503360009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff165b611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f73656e646572206973206e6f742072656c61796572206f722061646d696e00006044820152606401610963565b60006124e482846135f5565b3360009081527f9b7fc797995519db25593326970d3304279d74cdaa6b7cc1a414e3eb0491de53602052604090205460ff16611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f73656e64657220646f65736e277420686176652072656c6179657220726f6c656044820152606401610963565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166114fe576126b88173ffffffffffffffffffffffffffffffffffffffff1660146122a1565b6126c38360206122a1565b6040516020016126d492919061360c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261096391600401612ecc565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166114fe57600082815260016020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616808652925280842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156114fe57600082815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b3360009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff16611b8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f73656e64657220646f65736e277420686176652061646d696e20726f6c6500006044820152606401610963565b60005460ff16156129b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610963565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a043390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005460ff16612a9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610963565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612a04565b828054612af5906134b5565b90600052602060002090601f016020900481019282612b175760008555612b7b565b82601f10612b4e578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612b7b565b82800160010185558215612b7b579182015b82811115612b7b578235825591602001919060010190612b60565b50612b87929150612c05565b5090565b828054828255906000526020600020908101928215612b7b579160200282015b82811115612b7b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190612bab565b5b80821115612b875760008155600101612c06565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114612c4a57600080fd5b919050565b600060208284031215612c6157600080fd5b6124e482612c1a565b803560ff81168114612c4a57600080fd5b60008083601f840112612c8d57600080fd5b50813567ffffffffffffffff811115612ca557600080fd5b602083019150836020828501011115612cbd57600080fd5b9250929050565b60008060008060608587031215612cda57600080fd5b612ce385612c6a565b935060208501359250604085013567ffffffffffffffff811115612d0657600080fd5b612d1287828801612c7b565b95989497509550505050565b803567ffffffffffffffff81168114612c4a57600080fd5b600080600060608486031215612d4b57600080fd5b612d5484612c6a565b9250612d6260208501612d1e565b9150604084013590509250925092565b60008060008060808587031215612d8857600080fd5b612d9185612c6a565b9350612d9f60208601612d1e565b93969395505050506040820135916060013590565b600060208284031215612dc657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611ad857600080fd5b60008060408385031215612e0257600080fd5b823591506020830135612e1481612dcd565b809150509250929050565b60008060408385031215612e3257600080fd5b612e3b83612d1e565b9150612e4960208401612c6a565b90509250929050565b60005b83811015612e6d578181015183820152602001612e55565b83811115612e7c576000848401525b50505050565b60008151808452612e9a816020860160208601612e52565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006124e46020830184612e82565b600080600080600060808688031215612ef757600080fd5b612f0086612c6a565b9450612f0e60208701612d1e565b9350604086013567ffffffffffffffff811115612f2a57600080fd5b612f3688828901612c7b565b96999598509660600135949350505050565b60008083601f840112612f5a57600080fd5b50813567ffffffffffffffff811115612f7257600080fd5b6020830191508360208260051b8501011115612cbd57600080fd5b60008060008060408587031215612fa357600080fd5b843567ffffffffffffffff80821115612fbb57600080fd5b612fc788838901612f48565b90965094506020870135915080821115612fe057600080fd5b50612d1287828801612f48565b600060208284031215612fff57600080fd5b6124e482612c6a565b803568ffffffffffffffffff81168114612c4a57600080fd5b6000806040838503121561303457600080fd5b61303d83613008565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600581106130b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b84815260208101849052608081016130d0604083018561307a565b82606083015295945050505050565b6000602082840312156130f157600080fd5b81356124e481612dcd565b6000806000806080858703121561311257600080fd5b843561311d81612dcd565b9350602085013561312d81612dcd565b9250604085013561313d81612dcd565b9396929550929360600135925050565b60008060006060848603121561316257600080fd5b61316b84613008565b925060208401359150604084013561318281612dcd565b809150509250925092565b600080604083850312156131a057600080fd5b82356131ab81612dcd565b91506020830135612e1481612dcd565b600081518084526020808501945080840160005b8381101561320157815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016131cf565b509495945050505050565b6020815281516020820152602082015160408201526000604083015160c0606084015261323c60e08401826131bb565b905060608401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084830301608085015261327782826131bb565b915050608084015161328c60a085018261307a565b5060a084015160c08401528091505092915050565b6000806000606084860312156132b657600080fd5b833561316b81612dcd565b600080600080600060a086880312156132d957600080fd5b85356132e481612dcd565b94506020860135935060408601356132fb81612dcd565b925061330960608701612c1a565b915061331760808701612c1a565b90509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff8083168181141561337057613370613323565b6001019392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b86815260ff8616602082015267ffffffffffffffff8516604082015273ffffffffffffffffffffffffffffffffffffffff8416606082015260a06080820152600061341260a08301848661337a565b98975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561345057613450613323565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c908216806134c957607f821691505b60208210811415613503577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b168152818360148301376000910160140190815292915050565b83815260406020820152600061356260408301848661337a565b95945050505050565b60008161357a5761357a613323565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135d8576135d8613323565b500290565b600082198211156135f0576135f0613323565b500190565b60008282101561360757613607613323565b500390565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613644816017850160208801612e52565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613681816028840160208801612e52565b0160280194935050505056fea26469706673582212201bdb0ea97e34c099dba75c931fd443e06ad9b83a5e4a196f8c0e6041a308aeea64736f6c63430008090033",
|
|
1017
|
+
"linkReferences": {},
|
|
1018
|
+
"deployedLinkReferences": {}
|
|
1019
|
+
}
|