@arbitrum/nitro-contracts 2.1.1-beta.0 → 3.0.0-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +2 -2
- package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +2 -2
- package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +4 -0
- package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.json +86 -0
- package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Create2.sol/Create2.dbg.json +4 -0
- package/build/contracts/{src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json → @openzeppelin/contracts/utils/Create2.sol/Create2.json} +4 -4
- package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.json +2 -2
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +15 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +15 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.dbg.json +4 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.json +10 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +2 -2
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +13 -0
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +1 -1
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.json +2 -2
- package/build/contracts/src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json → src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.json} +41 -95
- package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.json +340 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.json +89 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.json +248 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.json +83 -0
- package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.json +16 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.json +140 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.json +324 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.json +84 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json → src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.json} +109 -110
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.dbg.json +4 -0
- package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.json +78 -0
- package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.json +13 -0
- package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.json +14 -1
- package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/Bridge.sol/Bridge.json +15 -2
- package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.dbg.json +4 -0
- package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.json +24 -0
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +15 -2
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.json +16 -3
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.json +2 -2
- package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
- package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.json +2 -2
- package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
- package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
- package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
- package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
- package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.json +441 -0
- package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Inbox.sol/Inbox.json +20 -2
- package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
- package/build/contracts/src/bridge/Messages.sol/Messages.json +2 -2
- package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
- package/build/contracts/src/bridge/Outbox.sol/Outbox.json +2 -2
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
- package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +566 -9
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
- package/build/contracts/src/chain/CacheManager.sol/CacheManager.json +15 -2
- package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +4 -0
- package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +1631 -0
- package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +4 -0
- package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.json +247 -0
- package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +4 -0
- package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.json +762 -0
- package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.json +10 -0
- package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +4 -0
- package/build/contracts/{@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json → src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.json} +4 -4
- package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.json +24 -0
- package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.json +24 -0
- package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +4 -0
- package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.json +10 -0
- package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
- package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.json +2 -2
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.json +2 -2
- package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
- package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
- package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.json +2 -2
- package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.dbg.json +4 -0
- package/build/contracts/src/{challenge/ChallengeLib.sol/ChallengeLib.json → libraries/CallerChecker.sol/CallerChecker.json} +4 -4
- package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
- package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.json +2 -2
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
- package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.json +2 -2
- package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
- package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
- package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
- package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
- package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
- package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.json +2 -2
- package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
- package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.json +2 -2
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.json +8 -8
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
- package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +15 -2
- package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +1 -1
- package/build/contracts/src/mocks/CreateTest.sol/CreateTest.json +2 -2
- package/build/contracts/src/mocks/HostioTest.sol/HostioTest.dbg.json +1 -1
- package/build/contracts/src/mocks/HostioTest.sol/HostioTest.json +2 -2
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/InboxStub.sol/InboxStub.json +2 -2
- package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +4 -0
- package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.json +227 -0
- package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +4 -0
- package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.json +133 -0
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
- package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.json +2 -2
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
- package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.json +2 -2
- package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
- package/build/contracts/src/mocks/Program.sol/ProgramTest.json +2 -2
- package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
- package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.json +2 -2
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
- package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.json +2 -2
- package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +4 -0
- package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +1632 -0
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
- package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +566 -9
- package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
- package/build/contracts/src/mocks/Simple.sol/Simple.json +2 -2
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
- package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.json +2 -2
- package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +4 -0
- package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +142 -0
- package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
- package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.json +2 -2
- package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +4 -0
- package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.json +31 -0
- package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +4 -0
- package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.json +317 -0
- package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
- package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.json +15 -2
- package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
- package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
- package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
- package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.json +2 -2
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.json +33 -9
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.json +2 -2
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
- package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.json +5 -0
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.json +35 -11
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.json +7 -2
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.json +7 -2
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.json +7 -2
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
- package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.json +7 -2
- package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
- package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
- package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +4 -0
- package/build/contracts/src/rollup/{Node.sol/NodeLib.json → Assertion.sol/AssertionNodeLib.json} +4 -4
- package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +4 -0
- package/build/contracts/src/{express-lane-auction/Balance.sol/BalanceLib.json → rollup/AssertionState.sol/AssertionStateLib.json} +4 -4
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +807 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +35 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.json +361 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.json +38 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.json +41 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.json +385 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +4 -0
- package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +203 -0
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +62 -10
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.json +2 -2
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.json +2 -2
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
- package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +473 -99
- package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.json +315 -221
- package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.json +678 -499
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +806 -435
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCore.sol/RollupCore.json +323 -235
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +98 -36
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.json +2 -2
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +97 -16
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
- package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +924 -535
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.json +15 -43
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
- package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.json +2 -2
- package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
- package/build/contracts/src/state/Deserialize.sol/Deserialize.json +2 -2
- package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
- package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.json +2 -2
- package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
- package/build/contracts/src/state/Instructions.sol/Instructions.json +2 -2
- package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
- package/build/contracts/src/state/Machine.sol/MachineLib.json +2 -2
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
- package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.json +2 -2
- package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
- package/build/contracts/src/state/Module.sol/ModuleLib.json +2 -2
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
- package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.json +2 -2
- package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
- package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.json +2 -2
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
- package/build/contracts/src/state/MultiStack.sol/MultiStackLib.json +2 -2
- package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/PcArray.sol/PcArrayLib.json +2 -2
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
- package/build/contracts/src/state/StackFrame.sol/StackFrameLib.json +2 -2
- package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
- package/build/contracts/src/state/Value.sol/ValueLib.json +2 -2
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.json +2 -2
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
- package/build/contracts/src/state/ValueStack.sol/ValueStackLib.json +2 -2
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.json +15 -2
- package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.json +2 -2
- package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
- package/build/contracts/src/test-helpers/EthVault.sol/EthVault.json +2 -2
- package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.json +2 -2
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.json +2 -2
- package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
- package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.json +2 -15
- package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
- package/build/contracts/src/test-helpers/TestToken.sol/TestToken.json +2 -2
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
- package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.json +2 -2
- package/out/yul/Reader4844.yul/Reader4844.json +1 -1
- package/package.json +11 -4
- package/src/assertionStakingPool/AbsBoldStakingPool.sol +66 -0
- package/src/assertionStakingPool/AssertionStakingPool.sol +70 -0
- package/src/assertionStakingPool/AssertionStakingPoolCreator.sol +35 -0
- package/src/assertionStakingPool/EdgeStakingPool.sol +57 -0
- package/src/assertionStakingPool/EdgeStakingPoolCreator.sol +34 -0
- package/src/assertionStakingPool/StakingPoolCreatorUtils.sol +25 -0
- package/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol +41 -0
- package/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol +36 -0
- package/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol +31 -0
- package/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol +27 -0
- package/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol +28 -0
- package/src/bridge/AbsBridge.sol +38 -48
- package/src/bridge/AbsInbox.sol +89 -92
- package/src/bridge/AbsOutbox.sol +23 -37
- package/src/bridge/Bridge.sol +6 -4
- package/src/bridge/DelayBuffer.sol +123 -0
- package/src/bridge/DelayBufferTypes.sol +38 -0
- package/src/bridge/ERC20Bridge.sol +8 -4
- package/src/bridge/ERC20Inbox.sol +46 -53
- package/src/bridge/ERC20Outbox.sol +7 -3
- package/src/bridge/GasRefunder.sol +38 -24
- package/src/bridge/IBridge.sol +30 -21
- package/src/bridge/IERC20Bridge.sol +1 -1
- package/src/bridge/IERC20Inbox.sol +4 -2
- package/src/bridge/IEthBridge.sol +4 -2
- package/src/bridge/IInbox.sol +4 -2
- package/src/bridge/IInboxBase.sol +16 -8
- package/src/bridge/IOutbox.sol +13 -8
- package/src/bridge/ISequencerInbox.sol +118 -13
- package/src/bridge/Inbox.sol +134 -151
- package/src/bridge/Messages.sol +48 -18
- package/src/bridge/Outbox.sol +6 -2
- package/src/bridge/SequencerInbox.sol +343 -279
- package/src/chain/CacheManager.sol +49 -18
- package/src/challengeV2/EdgeChallengeManager.sol +559 -0
- package/src/challengeV2/IAssertionChain.sol +39 -0
- package/src/challengeV2/IEdgeChallengeManager.sol +233 -0
- package/src/challengeV2/libraries/ArrayUtilsLib.sol +61 -0
- package/src/challengeV2/libraries/ChallengeEdgeLib.sol +277 -0
- package/src/challengeV2/libraries/ChallengeErrors.sol +108 -0
- package/src/challengeV2/libraries/EdgeChallengeManagerLib.sol +819 -0
- package/src/challengeV2/libraries/Enums.sol +26 -0
- package/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol +390 -0
- package/src/challengeV2/libraries/Structs.sol +176 -0
- package/src/challengeV2/libraries/UintUtilsLib.sol +74 -0
- package/src/libraries/AddressAliasHelper.sol +6 -2
- package/src/libraries/AdminFallbackProxy.sol +8 -4
- package/src/libraries/ArbitrumChecker.sol +3 -4
- package/src/libraries/CallerChecker.sol +18 -0
- package/src/libraries/CryptographyPrimitives.sol +39 -46
- package/src/libraries/DecimalsConverterHelper.sol +2 -4
- package/src/libraries/DoubleLogicUUPSUpgradeable.sol +10 -7
- package/src/libraries/Error.sol +21 -3
- package/src/libraries/GasRefundEnabled.sol +5 -6
- package/src/libraries/MerkleLib.sol +6 -5
- package/src/libraries/UUPSNotUpgradeable.sol +2 -4
- package/src/mocks/BridgeStub.sol +50 -48
- package/src/mocks/CreateTest.sol +3 -1
- package/src/mocks/HostioTest.sol +20 -16
- package/src/mocks/InboxStub.sol +22 -17
- package/src/mocks/MerkleTreeAccess.sol +72 -0
- package/src/mocks/MockRollupEventInbox.sol +59 -0
- package/src/mocks/MultiCallTest.sol +3 -1
- package/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol +3 -1
- package/src/mocks/Program.sol +9 -7
- package/src/mocks/SequencerInboxBlobMock.sol +38 -0
- package/src/mocks/SequencerInboxStub.sol +9 -12
- package/src/mocks/Simple.sol +13 -25
- package/src/mocks/SimpleCacheManager.sol +10 -3
- package/src/mocks/SimpleOneStepProofEntry.sol +60 -0
- package/src/mocks/SimpleProxy.sol +3 -1
- package/src/mocks/TestWETH9.sol +30 -0
- package/src/mocks/UpgradeExecutorMock.sol +10 -17
- package/src/node-interface/NodeInterface.sol +23 -22
- package/src/node-interface/NodeInterfaceDebug.sol +5 -3
- package/src/osp/HashProofHelper.sol +9 -10
- package/src/osp/IOneStepProofEntry.sol +14 -9
- package/src/osp/IOneStepProver.sol +1 -0
- package/src/osp/OneStepProofEntry.sol +63 -54
- package/src/osp/OneStepProver0.sol +14 -27
- package/src/osp/OneStepProverHostIo.sol +31 -58
- package/src/osp/OneStepProverMath.sol +15 -23
- package/src/osp/OneStepProverMemory.sol +9 -23
- package/src/precompiles/ArbAddressTable.sol +19 -9
- package/src/precompiles/ArbAggregator.sol +12 -4
- package/src/precompiles/ArbBLS.sol +1 -3
- package/src/precompiles/ArbDebug.sol +5 -11
- package/src/precompiles/ArbFunctionTable.sol +7 -10
- package/src/precompiles/ArbGasInfo.sol +9 -43
- package/src/precompiles/ArbInfo.sol +6 -2
- package/src/precompiles/ArbOwner.sol +101 -34
- package/src/precompiles/ArbOwnerPublic.sol +6 -2
- package/src/precompiles/ArbRetryableTx.sol +15 -5
- package/src/precompiles/ArbStatistics.sol +1 -8
- package/src/precompiles/ArbSys.sol +16 -18
- package/src/precompiles/ArbWasm.sol +24 -14
- package/src/precompiles/ArbWasmCache.sol +15 -5
- package/src/precompiles/ArbosTest.sol +3 -1
- package/src/rollup/AbsRollupEventInbox.sol +15 -16
- package/src/rollup/Assertion.sol +100 -0
- package/src/rollup/AssertionState.sol +29 -0
- package/src/rollup/BOLDUpgradeAction.sol +631 -0
- package/src/rollup/BridgeCreator.sol +42 -15
- package/src/rollup/Config.sol +15 -7
- package/src/rollup/DeployHelper.sol +12 -31
- package/src/rollup/ERC20RollupEventInbox.sol +8 -9
- package/src/rollup/FactoryDeployerHelper.sol +8 -10
- package/src/rollup/IRollupAdmin.sol +127 -45
- package/src/rollup/IRollupCore.sol +64 -84
- package/src/rollup/IRollupEventInbox.sol +3 -1
- package/src/rollup/IRollupLogic.sol +35 -72
- package/src/rollup/RollupAdminLogic.sol +224 -203
- package/src/rollup/RollupCore.sol +407 -428
- package/src/rollup/RollupCreator.sol +84 -71
- package/src/rollup/RollupEventInbox.sol +7 -7
- package/src/rollup/RollupLib.sol +50 -86
- package/src/rollup/RollupProxy.sol +8 -12
- package/src/rollup/RollupUserLogic.sol +279 -644
- package/src/rollup/ValidatorUtils.sol +0 -242
- package/src/rollup/ValidatorWallet.sol +22 -38
- package/src/rollup/ValidatorWalletCreator.sol +8 -8
- package/src/state/Deserialize.sol +74 -96
- package/src/state/GlobalState.sol +74 -20
- package/src/state/Instructions.sol +4 -3
- package/src/state/Machine.sol +18 -19
- package/src/state/Module.sol +14 -13
- package/src/state/ModuleMemory.sol +6 -25
- package/src/state/ModuleMemoryCompact.sol +3 -1
- package/src/state/MultiStack.sol +16 -20
- package/src/state/PcArray.sol +7 -7
- package/src/state/StackFrame.sol +21 -14
- package/src/state/Value.sol +18 -6
- package/src/state/ValueArray.sol +7 -7
- package/src/state/ValueStack.sol +9 -3
- package/src/test-helpers/BridgeTester.sol +32 -42
- package/src/test-helpers/CryptographyPrimitivesTester.sol +12 -13
- package/src/test-helpers/EthVault.sol +4 -2
- package/src/test-helpers/InterfaceCompatibilityTester.sol +1 -1
- package/src/test-helpers/MessageTester.sol +3 -10
- package/src/test-helpers/OutboxWithoutOptTester.sol +12 -19
- package/src/test-helpers/RollupMock.sol +3 -7
- package/src/test-helpers/TestToken.sol +4 -2
- package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.json +0 -258
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.json +0 -226
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +0 -281
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.json +0 -312
- package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +0 -10
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +0 -4
- package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.json +0 -10
- package/build/contracts/src/challenge/ChallengeLib.sol/ChallengeLib.dbg.json +0 -4
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.dbg.json +0 -4
- package/build/contracts/src/challenge/ChallengeManager.sol/ChallengeManager.json +0 -746
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.dbg.json +0 -4
- package/build/contracts/src/challenge/IChallengeManager.sol/IChallengeManager.json +0 -441
- package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.dbg.json +0 -4
- package/build/contracts/src/challenge/IChallengeResultReceiver.sol/IChallengeResultReceiver.json +0 -34
- package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +0 -47
- package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +0 -1588
- package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.json +0 -1296
- package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +0 -4
- package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +0 -10
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.dbg.json +0 -4
- package/build/contracts/src/mocks/MockResultReceiver.sol/MockResultReceiver.json +0 -188
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.dbg.json +0 -4
- package/build/contracts/src/mocks/SingleExecutionChallenge.sol/SingleExecutionChallenge.json +0 -797
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.dbg.json +0 -4
- package/build/contracts/src/mocks/TimedOutChallengeManager.sol/TimedOutChallengeManager.json +0 -746
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.dbg.json +0 -4
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserAbs.json +0 -1332
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.dbg.json +0 -4
- package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUserERC20.json +0 -1466
- package/build/contracts/src/rollup/Node.sol/NodeLib.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/AbsRollupUserLogic.json +0 -1614
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.dbg.json +0 -4
- package/build/contracts/src/rollup/RollupUserLogic.sol/ERC20RollupUserLogic.json +0 -1748
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.dbg.json +0 -4
- package/build/contracts/src/rollup/ValidatorUtils.sol/ValidatorUtils.json +0 -379
- package/src/challenge/ChallengeLib.sol +0 -88
- package/src/challenge/ChallengeManager.sol +0 -375
- package/src/challenge/IChallengeManager.sol +0 -86
- package/src/challenge/IChallengeResultReceiver.sol +0 -13
- package/src/express-lane-auction/Balance.sol +0 -142
- package/src/express-lane-auction/Burner.sol +0 -25
- package/src/express-lane-auction/ELCRound.sol +0 -73
- package/src/express-lane-auction/Errors.sol +0 -31
- package/src/express-lane-auction/ExpressLaneAuction.sol +0 -565
- package/src/express-lane-auction/IExpressLaneAuction.sol +0 -421
- package/src/express-lane-auction/RoundTimingInfo.sol +0 -115
- package/src/mocks/MockResultReceiver.sol +0 -59
- package/src/mocks/SingleExecutionChallenge.sol +0 -41
- package/src/mocks/TimedOutChallengeManager.sol +0 -13
- package/src/rollup/Node.sol +0 -113
@@ -0,0 +1,1631 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "EdgeChallengeManager",
|
4
|
+
"sourceName": "src/challengeV2/EdgeChallengeManager.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [],
|
8
|
+
"stateMutability": "nonpayable",
|
9
|
+
"type": "constructor"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"inputs": [
|
13
|
+
{
|
14
|
+
"internalType": "address",
|
15
|
+
"name": "account",
|
16
|
+
"type": "address"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"internalType": "bytes32",
|
20
|
+
"name": "mutualId",
|
21
|
+
"type": "bytes32"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"name": "AccountHasMadeLayerZeroRival",
|
25
|
+
"type": "error"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"inputs": [],
|
29
|
+
"name": "AssertionHashEmpty",
|
30
|
+
"type": "error"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"inputs": [
|
34
|
+
{
|
35
|
+
"internalType": "bytes32",
|
36
|
+
"name": "h1",
|
37
|
+
"type": "bytes32"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"internalType": "bytes32",
|
41
|
+
"name": "h2",
|
42
|
+
"type": "bytes32"
|
43
|
+
}
|
44
|
+
],
|
45
|
+
"name": "AssertionHashMismatch",
|
46
|
+
"type": "error"
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"inputs": [],
|
50
|
+
"name": "AssertionNoSibling",
|
51
|
+
"type": "error"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"inputs": [],
|
55
|
+
"name": "AssertionNotPending",
|
56
|
+
"type": "error"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"inputs": [
|
60
|
+
{
|
61
|
+
"internalType": "uint8",
|
62
|
+
"name": "levels",
|
63
|
+
"type": "uint8"
|
64
|
+
}
|
65
|
+
],
|
66
|
+
"name": "BigStepLevelsTooMany",
|
67
|
+
"type": "error"
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"inputs": [
|
71
|
+
{
|
72
|
+
"internalType": "uint256",
|
73
|
+
"name": "actual",
|
74
|
+
"type": "uint256"
|
75
|
+
},
|
76
|
+
{
|
77
|
+
"internalType": "uint256",
|
78
|
+
"name": "expected",
|
79
|
+
"type": "uint256"
|
80
|
+
}
|
81
|
+
],
|
82
|
+
"name": "CachedTimeSufficient",
|
83
|
+
"type": "error"
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"inputs": [
|
87
|
+
{
|
88
|
+
"internalType": "bytes32",
|
89
|
+
"name": "edgeId",
|
90
|
+
"type": "bytes32"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"internalType": "bytes32",
|
94
|
+
"name": "lowerChildId",
|
95
|
+
"type": "bytes32"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"internalType": "bytes32",
|
99
|
+
"name": "upperChildId",
|
100
|
+
"type": "bytes32"
|
101
|
+
}
|
102
|
+
],
|
103
|
+
"name": "ChildrenAlreadySet",
|
104
|
+
"type": "error"
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"inputs": [
|
108
|
+
{
|
109
|
+
"internalType": "uint8",
|
110
|
+
"name": "argLevel",
|
111
|
+
"type": "uint8"
|
112
|
+
},
|
113
|
+
{
|
114
|
+
"internalType": "uint8",
|
115
|
+
"name": "claimLevel",
|
116
|
+
"type": "uint8"
|
117
|
+
}
|
118
|
+
],
|
119
|
+
"name": "ClaimEdgeInvalidLevel",
|
120
|
+
"type": "error"
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"inputs": [
|
124
|
+
{
|
125
|
+
"internalType": "bytes32",
|
126
|
+
"name": "claimId",
|
127
|
+
"type": "bytes32"
|
128
|
+
}
|
129
|
+
],
|
130
|
+
"name": "ClaimEdgeNotLengthOneRival",
|
131
|
+
"type": "error"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"inputs": [],
|
135
|
+
"name": "ClaimEdgeNotPending",
|
136
|
+
"type": "error"
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"inputs": [
|
140
|
+
{
|
141
|
+
"internalType": "bytes32",
|
142
|
+
"name": "edgeId",
|
143
|
+
"type": "bytes32"
|
144
|
+
}
|
145
|
+
],
|
146
|
+
"name": "EdgeAlreadyExists",
|
147
|
+
"type": "error"
|
148
|
+
},
|
149
|
+
{
|
150
|
+
"inputs": [
|
151
|
+
{
|
152
|
+
"internalType": "bytes32",
|
153
|
+
"name": "edgeId",
|
154
|
+
"type": "bytes32"
|
155
|
+
}
|
156
|
+
],
|
157
|
+
"name": "EdgeAlreadyRefunded",
|
158
|
+
"type": "error"
|
159
|
+
},
|
160
|
+
{
|
161
|
+
"inputs": [
|
162
|
+
{
|
163
|
+
"internalType": "bytes32",
|
164
|
+
"name": "edgeId",
|
165
|
+
"type": "bytes32"
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"internalType": "bytes32",
|
169
|
+
"name": "claimingEdgeId",
|
170
|
+
"type": "bytes32"
|
171
|
+
}
|
172
|
+
],
|
173
|
+
"name": "EdgeClaimMismatch",
|
174
|
+
"type": "error"
|
175
|
+
},
|
176
|
+
{
|
177
|
+
"inputs": [
|
178
|
+
{
|
179
|
+
"internalType": "bytes32",
|
180
|
+
"name": "edgeId1",
|
181
|
+
"type": "bytes32"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"internalType": "bytes32",
|
185
|
+
"name": "edgeId2",
|
186
|
+
"type": "bytes32"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
"internalType": "uint8",
|
190
|
+
"name": "level1",
|
191
|
+
"type": "uint8"
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"internalType": "uint8",
|
195
|
+
"name": "level2",
|
196
|
+
"type": "uint8"
|
197
|
+
}
|
198
|
+
],
|
199
|
+
"name": "EdgeLevelInvalid",
|
200
|
+
"type": "error"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
"inputs": [
|
204
|
+
{
|
205
|
+
"internalType": "bytes32",
|
206
|
+
"name": "edgeId",
|
207
|
+
"type": "bytes32"
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"internalType": "enum EdgeStatus",
|
211
|
+
"name": "",
|
212
|
+
"type": "uint8"
|
213
|
+
}
|
214
|
+
],
|
215
|
+
"name": "EdgeNotConfirmed",
|
216
|
+
"type": "error"
|
217
|
+
},
|
218
|
+
{
|
219
|
+
"inputs": [
|
220
|
+
{
|
221
|
+
"internalType": "bytes32",
|
222
|
+
"name": "edgeId",
|
223
|
+
"type": "bytes32"
|
224
|
+
}
|
225
|
+
],
|
226
|
+
"name": "EdgeNotExists",
|
227
|
+
"type": "error"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"inputs": [
|
231
|
+
{
|
232
|
+
"internalType": "bytes32",
|
233
|
+
"name": "edgeId",
|
234
|
+
"type": "bytes32"
|
235
|
+
},
|
236
|
+
{
|
237
|
+
"internalType": "address",
|
238
|
+
"name": "staker",
|
239
|
+
"type": "address"
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"internalType": "bytes32",
|
243
|
+
"name": "claimId",
|
244
|
+
"type": "bytes32"
|
245
|
+
}
|
246
|
+
],
|
247
|
+
"name": "EdgeNotLayerZero",
|
248
|
+
"type": "error"
|
249
|
+
},
|
250
|
+
{
|
251
|
+
"inputs": [
|
252
|
+
{
|
253
|
+
"internalType": "uint256",
|
254
|
+
"name": "length",
|
255
|
+
"type": "uint256"
|
256
|
+
}
|
257
|
+
],
|
258
|
+
"name": "EdgeNotLengthOne",
|
259
|
+
"type": "error"
|
260
|
+
},
|
261
|
+
{
|
262
|
+
"inputs": [
|
263
|
+
{
|
264
|
+
"internalType": "bytes32",
|
265
|
+
"name": "edgeId",
|
266
|
+
"type": "bytes32"
|
267
|
+
},
|
268
|
+
{
|
269
|
+
"internalType": "enum EdgeStatus",
|
270
|
+
"name": "status",
|
271
|
+
"type": "uint8"
|
272
|
+
}
|
273
|
+
],
|
274
|
+
"name": "EdgeNotPending",
|
275
|
+
"type": "error"
|
276
|
+
},
|
277
|
+
{
|
278
|
+
"inputs": [
|
279
|
+
{
|
280
|
+
"internalType": "uint8",
|
281
|
+
"name": "level",
|
282
|
+
"type": "uint8"
|
283
|
+
}
|
284
|
+
],
|
285
|
+
"name": "EdgeTypeNotSmallStep",
|
286
|
+
"type": "error"
|
287
|
+
},
|
288
|
+
{
|
289
|
+
"inputs": [
|
290
|
+
{
|
291
|
+
"internalType": "bytes32",
|
292
|
+
"name": "edgeId",
|
293
|
+
"type": "bytes32"
|
294
|
+
}
|
295
|
+
],
|
296
|
+
"name": "EdgeUnrivaled",
|
297
|
+
"type": "error"
|
298
|
+
},
|
299
|
+
{
|
300
|
+
"inputs": [],
|
301
|
+
"name": "EmptyArray",
|
302
|
+
"type": "error"
|
303
|
+
},
|
304
|
+
{
|
305
|
+
"inputs": [],
|
306
|
+
"name": "EmptyAssertionChain",
|
307
|
+
"type": "error"
|
308
|
+
},
|
309
|
+
{
|
310
|
+
"inputs": [],
|
311
|
+
"name": "EmptyChallengePeriod",
|
312
|
+
"type": "error"
|
313
|
+
},
|
314
|
+
{
|
315
|
+
"inputs": [],
|
316
|
+
"name": "EmptyClaimId",
|
317
|
+
"type": "error"
|
318
|
+
},
|
319
|
+
{
|
320
|
+
"inputs": [],
|
321
|
+
"name": "EmptyEdgeSpecificProof",
|
322
|
+
"type": "error"
|
323
|
+
},
|
324
|
+
{
|
325
|
+
"inputs": [],
|
326
|
+
"name": "EmptyEndMachineStatus",
|
327
|
+
"type": "error"
|
328
|
+
},
|
329
|
+
{
|
330
|
+
"inputs": [],
|
331
|
+
"name": "EmptyEndRoot",
|
332
|
+
"type": "error"
|
333
|
+
},
|
334
|
+
{
|
335
|
+
"inputs": [],
|
336
|
+
"name": "EmptyFirstRival",
|
337
|
+
"type": "error"
|
338
|
+
},
|
339
|
+
{
|
340
|
+
"inputs": [],
|
341
|
+
"name": "EmptyOneStepProofEntry",
|
342
|
+
"type": "error"
|
343
|
+
},
|
344
|
+
{
|
345
|
+
"inputs": [],
|
346
|
+
"name": "EmptyOriginId",
|
347
|
+
"type": "error"
|
348
|
+
},
|
349
|
+
{
|
350
|
+
"inputs": [],
|
351
|
+
"name": "EmptyPrefixProof",
|
352
|
+
"type": "error"
|
353
|
+
},
|
354
|
+
{
|
355
|
+
"inputs": [],
|
356
|
+
"name": "EmptyStakeReceiver",
|
357
|
+
"type": "error"
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"inputs": [],
|
361
|
+
"name": "EmptyStaker",
|
362
|
+
"type": "error"
|
363
|
+
},
|
364
|
+
{
|
365
|
+
"inputs": [],
|
366
|
+
"name": "EmptyStartMachineStatus",
|
367
|
+
"type": "error"
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"inputs": [],
|
371
|
+
"name": "EmptyStartRoot",
|
372
|
+
"type": "error"
|
373
|
+
},
|
374
|
+
{
|
375
|
+
"inputs": [
|
376
|
+
{
|
377
|
+
"internalType": "bytes32",
|
378
|
+
"name": "endHistoryRoot",
|
379
|
+
"type": "bytes32"
|
380
|
+
},
|
381
|
+
{
|
382
|
+
"internalType": "bytes32",
|
383
|
+
"name": "assertionEndRoot",
|
384
|
+
"type": "bytes32"
|
385
|
+
}
|
386
|
+
],
|
387
|
+
"name": "EndHistoryRootMismatch",
|
388
|
+
"type": "error"
|
389
|
+
},
|
390
|
+
{
|
391
|
+
"inputs": [
|
392
|
+
{
|
393
|
+
"internalType": "uint256",
|
394
|
+
"name": "h1",
|
395
|
+
"type": "uint256"
|
396
|
+
},
|
397
|
+
{
|
398
|
+
"internalType": "uint256",
|
399
|
+
"name": "h2",
|
400
|
+
"type": "uint256"
|
401
|
+
}
|
402
|
+
],
|
403
|
+
"name": "HeightDiffLtTwo",
|
404
|
+
"type": "error"
|
405
|
+
},
|
406
|
+
{
|
407
|
+
"inputs": [
|
408
|
+
{
|
409
|
+
"internalType": "uint256",
|
410
|
+
"name": "totalBlocks",
|
411
|
+
"type": "uint256"
|
412
|
+
},
|
413
|
+
{
|
414
|
+
"internalType": "uint256",
|
415
|
+
"name": "thresholdBlocks",
|
416
|
+
"type": "uint256"
|
417
|
+
}
|
418
|
+
],
|
419
|
+
"name": "InsufficientConfirmationBlocks",
|
420
|
+
"type": "error"
|
421
|
+
},
|
422
|
+
{
|
423
|
+
"inputs": [
|
424
|
+
{
|
425
|
+
"internalType": "enum EdgeType",
|
426
|
+
"name": "edgeType",
|
427
|
+
"type": "uint8"
|
428
|
+
}
|
429
|
+
],
|
430
|
+
"name": "InvalidEdgeType",
|
431
|
+
"type": "error"
|
432
|
+
},
|
433
|
+
{
|
434
|
+
"inputs": [
|
435
|
+
{
|
436
|
+
"internalType": "uint256",
|
437
|
+
"name": "actualHeight",
|
438
|
+
"type": "uint256"
|
439
|
+
},
|
440
|
+
{
|
441
|
+
"internalType": "uint256",
|
442
|
+
"name": "expectedHeight",
|
443
|
+
"type": "uint256"
|
444
|
+
}
|
445
|
+
],
|
446
|
+
"name": "InvalidEndHeight",
|
447
|
+
"type": "error"
|
448
|
+
},
|
449
|
+
{
|
450
|
+
"inputs": [
|
451
|
+
{
|
452
|
+
"internalType": "uint256",
|
453
|
+
"name": "start",
|
454
|
+
"type": "uint256"
|
455
|
+
},
|
456
|
+
{
|
457
|
+
"internalType": "uint256",
|
458
|
+
"name": "end",
|
459
|
+
"type": "uint256"
|
460
|
+
}
|
461
|
+
],
|
462
|
+
"name": "InvalidHeights",
|
463
|
+
"type": "error"
|
464
|
+
},
|
465
|
+
{
|
466
|
+
"inputs": [
|
467
|
+
{
|
468
|
+
"internalType": "uint8",
|
469
|
+
"name": "level",
|
470
|
+
"type": "uint8"
|
471
|
+
},
|
472
|
+
{
|
473
|
+
"internalType": "uint8",
|
474
|
+
"name": "numBigStepLevels",
|
475
|
+
"type": "uint8"
|
476
|
+
}
|
477
|
+
],
|
478
|
+
"name": "LevelTooHigh",
|
479
|
+
"type": "error"
|
480
|
+
},
|
481
|
+
{
|
482
|
+
"inputs": [
|
483
|
+
{
|
484
|
+
"internalType": "uint256",
|
485
|
+
"name": "actualLength",
|
486
|
+
"type": "uint256"
|
487
|
+
},
|
488
|
+
{
|
489
|
+
"internalType": "uint256",
|
490
|
+
"name": "maxProofLength",
|
491
|
+
"type": "uint256"
|
492
|
+
}
|
493
|
+
],
|
494
|
+
"name": "MerkleProofTooLong",
|
495
|
+
"type": "error"
|
496
|
+
},
|
497
|
+
{
|
498
|
+
"inputs": [
|
499
|
+
{
|
500
|
+
"internalType": "uint256",
|
501
|
+
"name": "val",
|
502
|
+
"type": "uint256"
|
503
|
+
}
|
504
|
+
],
|
505
|
+
"name": "NotPowerOfTwo",
|
506
|
+
"type": "error"
|
507
|
+
},
|
508
|
+
{
|
509
|
+
"inputs": [
|
510
|
+
{
|
511
|
+
"internalType": "address",
|
512
|
+
"name": "account",
|
513
|
+
"type": "address"
|
514
|
+
}
|
515
|
+
],
|
516
|
+
"name": "NotValidator",
|
517
|
+
"type": "error"
|
518
|
+
},
|
519
|
+
{
|
520
|
+
"inputs": [
|
521
|
+
{
|
522
|
+
"internalType": "bytes32",
|
523
|
+
"name": "mutualId",
|
524
|
+
"type": "bytes32"
|
525
|
+
},
|
526
|
+
{
|
527
|
+
"internalType": "bytes32",
|
528
|
+
"name": "originId",
|
529
|
+
"type": "bytes32"
|
530
|
+
}
|
531
|
+
],
|
532
|
+
"name": "OriginIdMutualIdMismatch",
|
533
|
+
"type": "error"
|
534
|
+
},
|
535
|
+
{
|
536
|
+
"inputs": [
|
537
|
+
{
|
538
|
+
"internalType": "bytes32",
|
539
|
+
"name": "edgeId",
|
540
|
+
"type": "bytes32"
|
541
|
+
},
|
542
|
+
{
|
543
|
+
"internalType": "bytes32",
|
544
|
+
"name": "confirmedRivalId",
|
545
|
+
"type": "bytes32"
|
546
|
+
}
|
547
|
+
],
|
548
|
+
"name": "RivalEdgeConfirmed",
|
549
|
+
"type": "error"
|
550
|
+
},
|
551
|
+
{
|
552
|
+
"inputs": [
|
553
|
+
{
|
554
|
+
"internalType": "uint256",
|
555
|
+
"name": "stakeLevels",
|
556
|
+
"type": "uint256"
|
557
|
+
},
|
558
|
+
{
|
559
|
+
"internalType": "uint256",
|
560
|
+
"name": "numLevels",
|
561
|
+
"type": "uint256"
|
562
|
+
}
|
563
|
+
],
|
564
|
+
"name": "StakeAmountsMismatch",
|
565
|
+
"type": "error"
|
566
|
+
},
|
567
|
+
{
|
568
|
+
"inputs": [],
|
569
|
+
"name": "ZeroBigStepLevels",
|
570
|
+
"type": "error"
|
571
|
+
},
|
572
|
+
{
|
573
|
+
"anonymous": false,
|
574
|
+
"inputs": [
|
575
|
+
{
|
576
|
+
"indexed": true,
|
577
|
+
"internalType": "bytes32",
|
578
|
+
"name": "edgeId",
|
579
|
+
"type": "bytes32"
|
580
|
+
},
|
581
|
+
{
|
582
|
+
"indexed": true,
|
583
|
+
"internalType": "bytes32",
|
584
|
+
"name": "mutualId",
|
585
|
+
"type": "bytes32"
|
586
|
+
},
|
587
|
+
{
|
588
|
+
"indexed": true,
|
589
|
+
"internalType": "bytes32",
|
590
|
+
"name": "originId",
|
591
|
+
"type": "bytes32"
|
592
|
+
},
|
593
|
+
{
|
594
|
+
"indexed": false,
|
595
|
+
"internalType": "bytes32",
|
596
|
+
"name": "claimId",
|
597
|
+
"type": "bytes32"
|
598
|
+
},
|
599
|
+
{
|
600
|
+
"indexed": false,
|
601
|
+
"internalType": "uint256",
|
602
|
+
"name": "length",
|
603
|
+
"type": "uint256"
|
604
|
+
},
|
605
|
+
{
|
606
|
+
"indexed": false,
|
607
|
+
"internalType": "uint8",
|
608
|
+
"name": "level",
|
609
|
+
"type": "uint8"
|
610
|
+
},
|
611
|
+
{
|
612
|
+
"indexed": false,
|
613
|
+
"internalType": "bool",
|
614
|
+
"name": "hasRival",
|
615
|
+
"type": "bool"
|
616
|
+
},
|
617
|
+
{
|
618
|
+
"indexed": false,
|
619
|
+
"internalType": "bool",
|
620
|
+
"name": "isLayerZero",
|
621
|
+
"type": "bool"
|
622
|
+
}
|
623
|
+
],
|
624
|
+
"name": "EdgeAdded",
|
625
|
+
"type": "event"
|
626
|
+
},
|
627
|
+
{
|
628
|
+
"anonymous": false,
|
629
|
+
"inputs": [
|
630
|
+
{
|
631
|
+
"indexed": true,
|
632
|
+
"internalType": "bytes32",
|
633
|
+
"name": "edgeId",
|
634
|
+
"type": "bytes32"
|
635
|
+
},
|
636
|
+
{
|
637
|
+
"indexed": true,
|
638
|
+
"internalType": "bytes32",
|
639
|
+
"name": "lowerChildId",
|
640
|
+
"type": "bytes32"
|
641
|
+
},
|
642
|
+
{
|
643
|
+
"indexed": true,
|
644
|
+
"internalType": "bytes32",
|
645
|
+
"name": "upperChildId",
|
646
|
+
"type": "bytes32"
|
647
|
+
},
|
648
|
+
{
|
649
|
+
"indexed": false,
|
650
|
+
"internalType": "bool",
|
651
|
+
"name": "lowerChildAlreadyExists",
|
652
|
+
"type": "bool"
|
653
|
+
}
|
654
|
+
],
|
655
|
+
"name": "EdgeBisected",
|
656
|
+
"type": "event"
|
657
|
+
},
|
658
|
+
{
|
659
|
+
"anonymous": false,
|
660
|
+
"inputs": [
|
661
|
+
{
|
662
|
+
"indexed": true,
|
663
|
+
"internalType": "bytes32",
|
664
|
+
"name": "edgeId",
|
665
|
+
"type": "bytes32"
|
666
|
+
},
|
667
|
+
{
|
668
|
+
"indexed": true,
|
669
|
+
"internalType": "bytes32",
|
670
|
+
"name": "mutualId",
|
671
|
+
"type": "bytes32"
|
672
|
+
}
|
673
|
+
],
|
674
|
+
"name": "EdgeConfirmedByOneStepProof",
|
675
|
+
"type": "event"
|
676
|
+
},
|
677
|
+
{
|
678
|
+
"anonymous": false,
|
679
|
+
"inputs": [
|
680
|
+
{
|
681
|
+
"indexed": true,
|
682
|
+
"internalType": "bytes32",
|
683
|
+
"name": "edgeId",
|
684
|
+
"type": "bytes32"
|
685
|
+
},
|
686
|
+
{
|
687
|
+
"indexed": true,
|
688
|
+
"internalType": "bytes32",
|
689
|
+
"name": "mutualId",
|
690
|
+
"type": "bytes32"
|
691
|
+
},
|
692
|
+
{
|
693
|
+
"indexed": false,
|
694
|
+
"internalType": "uint256",
|
695
|
+
"name": "totalTimeUnrivaled",
|
696
|
+
"type": "uint256"
|
697
|
+
}
|
698
|
+
],
|
699
|
+
"name": "EdgeConfirmedByTime",
|
700
|
+
"type": "event"
|
701
|
+
},
|
702
|
+
{
|
703
|
+
"anonymous": false,
|
704
|
+
"inputs": [
|
705
|
+
{
|
706
|
+
"indexed": true,
|
707
|
+
"internalType": "bytes32",
|
708
|
+
"name": "edgeId",
|
709
|
+
"type": "bytes32"
|
710
|
+
},
|
711
|
+
{
|
712
|
+
"indexed": true,
|
713
|
+
"internalType": "bytes32",
|
714
|
+
"name": "mutualId",
|
715
|
+
"type": "bytes32"
|
716
|
+
},
|
717
|
+
{
|
718
|
+
"indexed": false,
|
719
|
+
"internalType": "address",
|
720
|
+
"name": "stakeToken",
|
721
|
+
"type": "address"
|
722
|
+
},
|
723
|
+
{
|
724
|
+
"indexed": false,
|
725
|
+
"internalType": "uint256",
|
726
|
+
"name": "stakeAmount",
|
727
|
+
"type": "uint256"
|
728
|
+
}
|
729
|
+
],
|
730
|
+
"name": "EdgeRefunded",
|
731
|
+
"type": "event"
|
732
|
+
},
|
733
|
+
{
|
734
|
+
"anonymous": false,
|
735
|
+
"inputs": [
|
736
|
+
{
|
737
|
+
"indexed": false,
|
738
|
+
"internalType": "uint8",
|
739
|
+
"name": "version",
|
740
|
+
"type": "uint8"
|
741
|
+
}
|
742
|
+
],
|
743
|
+
"name": "Initialized",
|
744
|
+
"type": "event"
|
745
|
+
},
|
746
|
+
{
|
747
|
+
"anonymous": false,
|
748
|
+
"inputs": [
|
749
|
+
{
|
750
|
+
"indexed": true,
|
751
|
+
"internalType": "bytes32",
|
752
|
+
"name": "edgeId",
|
753
|
+
"type": "bytes32"
|
754
|
+
},
|
755
|
+
{
|
756
|
+
"indexed": false,
|
757
|
+
"internalType": "uint256",
|
758
|
+
"name": "newValue",
|
759
|
+
"type": "uint256"
|
760
|
+
}
|
761
|
+
],
|
762
|
+
"name": "TimerCacheUpdated",
|
763
|
+
"type": "event"
|
764
|
+
},
|
765
|
+
{
|
766
|
+
"inputs": [],
|
767
|
+
"name": "LAYERZERO_BIGSTEPEDGE_HEIGHT",
|
768
|
+
"outputs": [
|
769
|
+
{
|
770
|
+
"internalType": "uint256",
|
771
|
+
"name": "",
|
772
|
+
"type": "uint256"
|
773
|
+
}
|
774
|
+
],
|
775
|
+
"stateMutability": "view",
|
776
|
+
"type": "function"
|
777
|
+
},
|
778
|
+
{
|
779
|
+
"inputs": [],
|
780
|
+
"name": "LAYERZERO_BLOCKEDGE_HEIGHT",
|
781
|
+
"outputs": [
|
782
|
+
{
|
783
|
+
"internalType": "uint256",
|
784
|
+
"name": "",
|
785
|
+
"type": "uint256"
|
786
|
+
}
|
787
|
+
],
|
788
|
+
"stateMutability": "view",
|
789
|
+
"type": "function"
|
790
|
+
},
|
791
|
+
{
|
792
|
+
"inputs": [],
|
793
|
+
"name": "LAYERZERO_SMALLSTEPEDGE_HEIGHT",
|
794
|
+
"outputs": [
|
795
|
+
{
|
796
|
+
"internalType": "uint256",
|
797
|
+
"name": "",
|
798
|
+
"type": "uint256"
|
799
|
+
}
|
800
|
+
],
|
801
|
+
"stateMutability": "view",
|
802
|
+
"type": "function"
|
803
|
+
},
|
804
|
+
{
|
805
|
+
"inputs": [],
|
806
|
+
"name": "NUM_BIGSTEP_LEVEL",
|
807
|
+
"outputs": [
|
808
|
+
{
|
809
|
+
"internalType": "uint8",
|
810
|
+
"name": "",
|
811
|
+
"type": "uint8"
|
812
|
+
}
|
813
|
+
],
|
814
|
+
"stateMutability": "view",
|
815
|
+
"type": "function"
|
816
|
+
},
|
817
|
+
{
|
818
|
+
"inputs": [],
|
819
|
+
"name": "assertionChain",
|
820
|
+
"outputs": [
|
821
|
+
{
|
822
|
+
"internalType": "contract IAssertionChain",
|
823
|
+
"name": "",
|
824
|
+
"type": "address"
|
825
|
+
}
|
826
|
+
],
|
827
|
+
"stateMutability": "view",
|
828
|
+
"type": "function"
|
829
|
+
},
|
830
|
+
{
|
831
|
+
"inputs": [
|
832
|
+
{
|
833
|
+
"internalType": "bytes32",
|
834
|
+
"name": "edgeId",
|
835
|
+
"type": "bytes32"
|
836
|
+
},
|
837
|
+
{
|
838
|
+
"internalType": "bytes32",
|
839
|
+
"name": "bisectionHistoryRoot",
|
840
|
+
"type": "bytes32"
|
841
|
+
},
|
842
|
+
{
|
843
|
+
"internalType": "bytes",
|
844
|
+
"name": "prefixProof",
|
845
|
+
"type": "bytes"
|
846
|
+
}
|
847
|
+
],
|
848
|
+
"name": "bisectEdge",
|
849
|
+
"outputs": [
|
850
|
+
{
|
851
|
+
"internalType": "bytes32",
|
852
|
+
"name": "",
|
853
|
+
"type": "bytes32"
|
854
|
+
},
|
855
|
+
{
|
856
|
+
"internalType": "bytes32",
|
857
|
+
"name": "",
|
858
|
+
"type": "bytes32"
|
859
|
+
}
|
860
|
+
],
|
861
|
+
"stateMutability": "nonpayable",
|
862
|
+
"type": "function"
|
863
|
+
},
|
864
|
+
{
|
865
|
+
"inputs": [
|
866
|
+
{
|
867
|
+
"internalType": "uint8",
|
868
|
+
"name": "level",
|
869
|
+
"type": "uint8"
|
870
|
+
},
|
871
|
+
{
|
872
|
+
"internalType": "bytes32",
|
873
|
+
"name": "originId",
|
874
|
+
"type": "bytes32"
|
875
|
+
},
|
876
|
+
{
|
877
|
+
"internalType": "uint256",
|
878
|
+
"name": "startHeight",
|
879
|
+
"type": "uint256"
|
880
|
+
},
|
881
|
+
{
|
882
|
+
"internalType": "bytes32",
|
883
|
+
"name": "startHistoryRoot",
|
884
|
+
"type": "bytes32"
|
885
|
+
},
|
886
|
+
{
|
887
|
+
"internalType": "uint256",
|
888
|
+
"name": "endHeight",
|
889
|
+
"type": "uint256"
|
890
|
+
},
|
891
|
+
{
|
892
|
+
"internalType": "bytes32",
|
893
|
+
"name": "endHistoryRoot",
|
894
|
+
"type": "bytes32"
|
895
|
+
}
|
896
|
+
],
|
897
|
+
"name": "calculateEdgeId",
|
898
|
+
"outputs": [
|
899
|
+
{
|
900
|
+
"internalType": "bytes32",
|
901
|
+
"name": "",
|
902
|
+
"type": "bytes32"
|
903
|
+
}
|
904
|
+
],
|
905
|
+
"stateMutability": "pure",
|
906
|
+
"type": "function"
|
907
|
+
},
|
908
|
+
{
|
909
|
+
"inputs": [
|
910
|
+
{
|
911
|
+
"internalType": "uint8",
|
912
|
+
"name": "level",
|
913
|
+
"type": "uint8"
|
914
|
+
},
|
915
|
+
{
|
916
|
+
"internalType": "bytes32",
|
917
|
+
"name": "originId",
|
918
|
+
"type": "bytes32"
|
919
|
+
},
|
920
|
+
{
|
921
|
+
"internalType": "uint256",
|
922
|
+
"name": "startHeight",
|
923
|
+
"type": "uint256"
|
924
|
+
},
|
925
|
+
{
|
926
|
+
"internalType": "bytes32",
|
927
|
+
"name": "startHistoryRoot",
|
928
|
+
"type": "bytes32"
|
929
|
+
},
|
930
|
+
{
|
931
|
+
"internalType": "uint256",
|
932
|
+
"name": "endHeight",
|
933
|
+
"type": "uint256"
|
934
|
+
}
|
935
|
+
],
|
936
|
+
"name": "calculateMutualId",
|
937
|
+
"outputs": [
|
938
|
+
{
|
939
|
+
"internalType": "bytes32",
|
940
|
+
"name": "",
|
941
|
+
"type": "bytes32"
|
942
|
+
}
|
943
|
+
],
|
944
|
+
"stateMutability": "pure",
|
945
|
+
"type": "function"
|
946
|
+
},
|
947
|
+
{
|
948
|
+
"inputs": [],
|
949
|
+
"name": "challengePeriodBlocks",
|
950
|
+
"outputs": [
|
951
|
+
{
|
952
|
+
"internalType": "uint64",
|
953
|
+
"name": "",
|
954
|
+
"type": "uint64"
|
955
|
+
}
|
956
|
+
],
|
957
|
+
"stateMutability": "view",
|
958
|
+
"type": "function"
|
959
|
+
},
|
960
|
+
{
|
961
|
+
"inputs": [
|
962
|
+
{
|
963
|
+
"internalType": "bytes32",
|
964
|
+
"name": "edgeId",
|
965
|
+
"type": "bytes32"
|
966
|
+
},
|
967
|
+
{
|
968
|
+
"components": [
|
969
|
+
{
|
970
|
+
"internalType": "bytes32",
|
971
|
+
"name": "beforeHash",
|
972
|
+
"type": "bytes32"
|
973
|
+
},
|
974
|
+
{
|
975
|
+
"internalType": "bytes",
|
976
|
+
"name": "proof",
|
977
|
+
"type": "bytes"
|
978
|
+
}
|
979
|
+
],
|
980
|
+
"internalType": "struct OneStepData",
|
981
|
+
"name": "oneStepData",
|
982
|
+
"type": "tuple"
|
983
|
+
},
|
984
|
+
{
|
985
|
+
"components": [
|
986
|
+
{
|
987
|
+
"internalType": "bytes32",
|
988
|
+
"name": "wasmModuleRoot",
|
989
|
+
"type": "bytes32"
|
990
|
+
},
|
991
|
+
{
|
992
|
+
"internalType": "uint256",
|
993
|
+
"name": "requiredStake",
|
994
|
+
"type": "uint256"
|
995
|
+
},
|
996
|
+
{
|
997
|
+
"internalType": "address",
|
998
|
+
"name": "challengeManager",
|
999
|
+
"type": "address"
|
1000
|
+
},
|
1001
|
+
{
|
1002
|
+
"internalType": "uint64",
|
1003
|
+
"name": "confirmPeriodBlocks",
|
1004
|
+
"type": "uint64"
|
1005
|
+
},
|
1006
|
+
{
|
1007
|
+
"internalType": "uint64",
|
1008
|
+
"name": "nextInboxPosition",
|
1009
|
+
"type": "uint64"
|
1010
|
+
}
|
1011
|
+
],
|
1012
|
+
"internalType": "struct ConfigData",
|
1013
|
+
"name": "prevConfig",
|
1014
|
+
"type": "tuple"
|
1015
|
+
},
|
1016
|
+
{
|
1017
|
+
"internalType": "bytes32[]",
|
1018
|
+
"name": "beforeHistoryInclusionProof",
|
1019
|
+
"type": "bytes32[]"
|
1020
|
+
},
|
1021
|
+
{
|
1022
|
+
"internalType": "bytes32[]",
|
1023
|
+
"name": "afterHistoryInclusionProof",
|
1024
|
+
"type": "bytes32[]"
|
1025
|
+
}
|
1026
|
+
],
|
1027
|
+
"name": "confirmEdgeByOneStepProof",
|
1028
|
+
"outputs": [],
|
1029
|
+
"stateMutability": "nonpayable",
|
1030
|
+
"type": "function"
|
1031
|
+
},
|
1032
|
+
{
|
1033
|
+
"inputs": [
|
1034
|
+
{
|
1035
|
+
"internalType": "bytes32",
|
1036
|
+
"name": "edgeId",
|
1037
|
+
"type": "bytes32"
|
1038
|
+
},
|
1039
|
+
{
|
1040
|
+
"components": [
|
1041
|
+
{
|
1042
|
+
"components": [
|
1043
|
+
{
|
1044
|
+
"components": [
|
1045
|
+
{
|
1046
|
+
"internalType": "bytes32[2]",
|
1047
|
+
"name": "bytes32Vals",
|
1048
|
+
"type": "bytes32[2]"
|
1049
|
+
},
|
1050
|
+
{
|
1051
|
+
"internalType": "uint64[2]",
|
1052
|
+
"name": "u64Vals",
|
1053
|
+
"type": "uint64[2]"
|
1054
|
+
}
|
1055
|
+
],
|
1056
|
+
"internalType": "struct GlobalState",
|
1057
|
+
"name": "globalState",
|
1058
|
+
"type": "tuple"
|
1059
|
+
},
|
1060
|
+
{
|
1061
|
+
"internalType": "enum MachineStatus",
|
1062
|
+
"name": "machineStatus",
|
1063
|
+
"type": "uint8"
|
1064
|
+
},
|
1065
|
+
{
|
1066
|
+
"internalType": "bytes32",
|
1067
|
+
"name": "endHistoryRoot",
|
1068
|
+
"type": "bytes32"
|
1069
|
+
}
|
1070
|
+
],
|
1071
|
+
"internalType": "struct AssertionState",
|
1072
|
+
"name": "assertionState",
|
1073
|
+
"type": "tuple"
|
1074
|
+
},
|
1075
|
+
{
|
1076
|
+
"internalType": "bytes32",
|
1077
|
+
"name": "prevAssertionHash",
|
1078
|
+
"type": "bytes32"
|
1079
|
+
},
|
1080
|
+
{
|
1081
|
+
"internalType": "bytes32",
|
1082
|
+
"name": "inboxAcc",
|
1083
|
+
"type": "bytes32"
|
1084
|
+
}
|
1085
|
+
],
|
1086
|
+
"internalType": "struct AssertionStateData",
|
1087
|
+
"name": "claimStateData",
|
1088
|
+
"type": "tuple"
|
1089
|
+
}
|
1090
|
+
],
|
1091
|
+
"name": "confirmEdgeByTime",
|
1092
|
+
"outputs": [],
|
1093
|
+
"stateMutability": "nonpayable",
|
1094
|
+
"type": "function"
|
1095
|
+
},
|
1096
|
+
{
|
1097
|
+
"inputs": [
|
1098
|
+
{
|
1099
|
+
"internalType": "bytes32",
|
1100
|
+
"name": "mutualId",
|
1101
|
+
"type": "bytes32"
|
1102
|
+
}
|
1103
|
+
],
|
1104
|
+
"name": "confirmedRival",
|
1105
|
+
"outputs": [
|
1106
|
+
{
|
1107
|
+
"internalType": "bytes32",
|
1108
|
+
"name": "",
|
1109
|
+
"type": "bytes32"
|
1110
|
+
}
|
1111
|
+
],
|
1112
|
+
"stateMutability": "view",
|
1113
|
+
"type": "function"
|
1114
|
+
},
|
1115
|
+
{
|
1116
|
+
"inputs": [
|
1117
|
+
{
|
1118
|
+
"components": [
|
1119
|
+
{
|
1120
|
+
"internalType": "uint8",
|
1121
|
+
"name": "level",
|
1122
|
+
"type": "uint8"
|
1123
|
+
},
|
1124
|
+
{
|
1125
|
+
"internalType": "bytes32",
|
1126
|
+
"name": "endHistoryRoot",
|
1127
|
+
"type": "bytes32"
|
1128
|
+
},
|
1129
|
+
{
|
1130
|
+
"internalType": "uint256",
|
1131
|
+
"name": "endHeight",
|
1132
|
+
"type": "uint256"
|
1133
|
+
},
|
1134
|
+
{
|
1135
|
+
"internalType": "bytes32",
|
1136
|
+
"name": "claimId",
|
1137
|
+
"type": "bytes32"
|
1138
|
+
},
|
1139
|
+
{
|
1140
|
+
"internalType": "bytes",
|
1141
|
+
"name": "prefixProof",
|
1142
|
+
"type": "bytes"
|
1143
|
+
},
|
1144
|
+
{
|
1145
|
+
"internalType": "bytes",
|
1146
|
+
"name": "proof",
|
1147
|
+
"type": "bytes"
|
1148
|
+
}
|
1149
|
+
],
|
1150
|
+
"internalType": "struct CreateEdgeArgs",
|
1151
|
+
"name": "args",
|
1152
|
+
"type": "tuple"
|
1153
|
+
}
|
1154
|
+
],
|
1155
|
+
"name": "createLayerZeroEdge",
|
1156
|
+
"outputs": [
|
1157
|
+
{
|
1158
|
+
"internalType": "bytes32",
|
1159
|
+
"name": "",
|
1160
|
+
"type": "bytes32"
|
1161
|
+
}
|
1162
|
+
],
|
1163
|
+
"stateMutability": "nonpayable",
|
1164
|
+
"type": "function"
|
1165
|
+
},
|
1166
|
+
{
|
1167
|
+
"inputs": [
|
1168
|
+
{
|
1169
|
+
"internalType": "bytes32",
|
1170
|
+
"name": "edgeId",
|
1171
|
+
"type": "bytes32"
|
1172
|
+
}
|
1173
|
+
],
|
1174
|
+
"name": "edgeExists",
|
1175
|
+
"outputs": [
|
1176
|
+
{
|
1177
|
+
"internalType": "bool",
|
1178
|
+
"name": "",
|
1179
|
+
"type": "bool"
|
1180
|
+
}
|
1181
|
+
],
|
1182
|
+
"stateMutability": "view",
|
1183
|
+
"type": "function"
|
1184
|
+
},
|
1185
|
+
{
|
1186
|
+
"inputs": [
|
1187
|
+
{
|
1188
|
+
"internalType": "bytes32",
|
1189
|
+
"name": "edgeId",
|
1190
|
+
"type": "bytes32"
|
1191
|
+
}
|
1192
|
+
],
|
1193
|
+
"name": "edgeLength",
|
1194
|
+
"outputs": [
|
1195
|
+
{
|
1196
|
+
"internalType": "uint256",
|
1197
|
+
"name": "",
|
1198
|
+
"type": "uint256"
|
1199
|
+
}
|
1200
|
+
],
|
1201
|
+
"stateMutability": "view",
|
1202
|
+
"type": "function"
|
1203
|
+
},
|
1204
|
+
{
|
1205
|
+
"inputs": [],
|
1206
|
+
"name": "excessStakeReceiver",
|
1207
|
+
"outputs": [
|
1208
|
+
{
|
1209
|
+
"internalType": "address",
|
1210
|
+
"name": "",
|
1211
|
+
"type": "address"
|
1212
|
+
}
|
1213
|
+
],
|
1214
|
+
"stateMutability": "view",
|
1215
|
+
"type": "function"
|
1216
|
+
},
|
1217
|
+
{
|
1218
|
+
"inputs": [
|
1219
|
+
{
|
1220
|
+
"internalType": "bytes32",
|
1221
|
+
"name": "mutualId",
|
1222
|
+
"type": "bytes32"
|
1223
|
+
}
|
1224
|
+
],
|
1225
|
+
"name": "firstRival",
|
1226
|
+
"outputs": [
|
1227
|
+
{
|
1228
|
+
"internalType": "bytes32",
|
1229
|
+
"name": "",
|
1230
|
+
"type": "bytes32"
|
1231
|
+
}
|
1232
|
+
],
|
1233
|
+
"stateMutability": "view",
|
1234
|
+
"type": "function"
|
1235
|
+
},
|
1236
|
+
{
|
1237
|
+
"inputs": [
|
1238
|
+
{
|
1239
|
+
"internalType": "bytes32",
|
1240
|
+
"name": "edgeId",
|
1241
|
+
"type": "bytes32"
|
1242
|
+
}
|
1243
|
+
],
|
1244
|
+
"name": "getEdge",
|
1245
|
+
"outputs": [
|
1246
|
+
{
|
1247
|
+
"components": [
|
1248
|
+
{
|
1249
|
+
"internalType": "bytes32",
|
1250
|
+
"name": "originId",
|
1251
|
+
"type": "bytes32"
|
1252
|
+
},
|
1253
|
+
{
|
1254
|
+
"internalType": "bytes32",
|
1255
|
+
"name": "startHistoryRoot",
|
1256
|
+
"type": "bytes32"
|
1257
|
+
},
|
1258
|
+
{
|
1259
|
+
"internalType": "uint256",
|
1260
|
+
"name": "startHeight",
|
1261
|
+
"type": "uint256"
|
1262
|
+
},
|
1263
|
+
{
|
1264
|
+
"internalType": "bytes32",
|
1265
|
+
"name": "endHistoryRoot",
|
1266
|
+
"type": "bytes32"
|
1267
|
+
},
|
1268
|
+
{
|
1269
|
+
"internalType": "uint256",
|
1270
|
+
"name": "endHeight",
|
1271
|
+
"type": "uint256"
|
1272
|
+
},
|
1273
|
+
{
|
1274
|
+
"internalType": "bytes32",
|
1275
|
+
"name": "lowerChildId",
|
1276
|
+
"type": "bytes32"
|
1277
|
+
},
|
1278
|
+
{
|
1279
|
+
"internalType": "bytes32",
|
1280
|
+
"name": "upperChildId",
|
1281
|
+
"type": "bytes32"
|
1282
|
+
},
|
1283
|
+
{
|
1284
|
+
"internalType": "bytes32",
|
1285
|
+
"name": "claimId",
|
1286
|
+
"type": "bytes32"
|
1287
|
+
},
|
1288
|
+
{
|
1289
|
+
"internalType": "address",
|
1290
|
+
"name": "staker",
|
1291
|
+
"type": "address"
|
1292
|
+
},
|
1293
|
+
{
|
1294
|
+
"internalType": "uint64",
|
1295
|
+
"name": "createdAtBlock",
|
1296
|
+
"type": "uint64"
|
1297
|
+
},
|
1298
|
+
{
|
1299
|
+
"internalType": "uint64",
|
1300
|
+
"name": "confirmedAtBlock",
|
1301
|
+
"type": "uint64"
|
1302
|
+
},
|
1303
|
+
{
|
1304
|
+
"internalType": "enum EdgeStatus",
|
1305
|
+
"name": "status",
|
1306
|
+
"type": "uint8"
|
1307
|
+
},
|
1308
|
+
{
|
1309
|
+
"internalType": "uint8",
|
1310
|
+
"name": "level",
|
1311
|
+
"type": "uint8"
|
1312
|
+
},
|
1313
|
+
{
|
1314
|
+
"internalType": "bool",
|
1315
|
+
"name": "refunded",
|
1316
|
+
"type": "bool"
|
1317
|
+
},
|
1318
|
+
{
|
1319
|
+
"internalType": "uint64",
|
1320
|
+
"name": "totalTimeUnrivaledCache",
|
1321
|
+
"type": "uint64"
|
1322
|
+
}
|
1323
|
+
],
|
1324
|
+
"internalType": "struct ChallengeEdge",
|
1325
|
+
"name": "",
|
1326
|
+
"type": "tuple"
|
1327
|
+
}
|
1328
|
+
],
|
1329
|
+
"stateMutability": "view",
|
1330
|
+
"type": "function"
|
1331
|
+
},
|
1332
|
+
{
|
1333
|
+
"inputs": [
|
1334
|
+
{
|
1335
|
+
"internalType": "enum EdgeType",
|
1336
|
+
"name": "eType",
|
1337
|
+
"type": "uint8"
|
1338
|
+
}
|
1339
|
+
],
|
1340
|
+
"name": "getLayerZeroEndHeight",
|
1341
|
+
"outputs": [
|
1342
|
+
{
|
1343
|
+
"internalType": "uint256",
|
1344
|
+
"name": "",
|
1345
|
+
"type": "uint256"
|
1346
|
+
}
|
1347
|
+
],
|
1348
|
+
"stateMutability": "view",
|
1349
|
+
"type": "function"
|
1350
|
+
},
|
1351
|
+
{
|
1352
|
+
"inputs": [
|
1353
|
+
{
|
1354
|
+
"internalType": "bytes32",
|
1355
|
+
"name": "edgeId",
|
1356
|
+
"type": "bytes32"
|
1357
|
+
}
|
1358
|
+
],
|
1359
|
+
"name": "getPrevAssertionHash",
|
1360
|
+
"outputs": [
|
1361
|
+
{
|
1362
|
+
"internalType": "bytes32",
|
1363
|
+
"name": "",
|
1364
|
+
"type": "bytes32"
|
1365
|
+
}
|
1366
|
+
],
|
1367
|
+
"stateMutability": "view",
|
1368
|
+
"type": "function"
|
1369
|
+
},
|
1370
|
+
{
|
1371
|
+
"inputs": [
|
1372
|
+
{
|
1373
|
+
"internalType": "bytes32",
|
1374
|
+
"name": "edgeId",
|
1375
|
+
"type": "bytes32"
|
1376
|
+
}
|
1377
|
+
],
|
1378
|
+
"name": "hasLengthOneRival",
|
1379
|
+
"outputs": [
|
1380
|
+
{
|
1381
|
+
"internalType": "bool",
|
1382
|
+
"name": "",
|
1383
|
+
"type": "bool"
|
1384
|
+
}
|
1385
|
+
],
|
1386
|
+
"stateMutability": "view",
|
1387
|
+
"type": "function"
|
1388
|
+
},
|
1389
|
+
{
|
1390
|
+
"inputs": [
|
1391
|
+
{
|
1392
|
+
"internalType": "address",
|
1393
|
+
"name": "account",
|
1394
|
+
"type": "address"
|
1395
|
+
},
|
1396
|
+
{
|
1397
|
+
"internalType": "bytes32",
|
1398
|
+
"name": "mutualId",
|
1399
|
+
"type": "bytes32"
|
1400
|
+
}
|
1401
|
+
],
|
1402
|
+
"name": "hasMadeLayerZeroRival",
|
1403
|
+
"outputs": [
|
1404
|
+
{
|
1405
|
+
"internalType": "bool",
|
1406
|
+
"name": "",
|
1407
|
+
"type": "bool"
|
1408
|
+
}
|
1409
|
+
],
|
1410
|
+
"stateMutability": "view",
|
1411
|
+
"type": "function"
|
1412
|
+
},
|
1413
|
+
{
|
1414
|
+
"inputs": [
|
1415
|
+
{
|
1416
|
+
"internalType": "bytes32",
|
1417
|
+
"name": "edgeId",
|
1418
|
+
"type": "bytes32"
|
1419
|
+
}
|
1420
|
+
],
|
1421
|
+
"name": "hasRival",
|
1422
|
+
"outputs": [
|
1423
|
+
{
|
1424
|
+
"internalType": "bool",
|
1425
|
+
"name": "",
|
1426
|
+
"type": "bool"
|
1427
|
+
}
|
1428
|
+
],
|
1429
|
+
"stateMutability": "view",
|
1430
|
+
"type": "function"
|
1431
|
+
},
|
1432
|
+
{
|
1433
|
+
"inputs": [
|
1434
|
+
{
|
1435
|
+
"internalType": "contract IAssertionChain",
|
1436
|
+
"name": "_assertionChain",
|
1437
|
+
"type": "address"
|
1438
|
+
},
|
1439
|
+
{
|
1440
|
+
"internalType": "uint64",
|
1441
|
+
"name": "_challengePeriodBlocks",
|
1442
|
+
"type": "uint64"
|
1443
|
+
},
|
1444
|
+
{
|
1445
|
+
"internalType": "contract IOneStepProofEntry",
|
1446
|
+
"name": "_oneStepProofEntry",
|
1447
|
+
"type": "address"
|
1448
|
+
},
|
1449
|
+
{
|
1450
|
+
"internalType": "uint256",
|
1451
|
+
"name": "layerZeroBlockEdgeHeight",
|
1452
|
+
"type": "uint256"
|
1453
|
+
},
|
1454
|
+
{
|
1455
|
+
"internalType": "uint256",
|
1456
|
+
"name": "layerZeroBigStepEdgeHeight",
|
1457
|
+
"type": "uint256"
|
1458
|
+
},
|
1459
|
+
{
|
1460
|
+
"internalType": "uint256",
|
1461
|
+
"name": "layerZeroSmallStepEdgeHeight",
|
1462
|
+
"type": "uint256"
|
1463
|
+
},
|
1464
|
+
{
|
1465
|
+
"internalType": "contract IERC20",
|
1466
|
+
"name": "_stakeToken",
|
1467
|
+
"type": "address"
|
1468
|
+
},
|
1469
|
+
{
|
1470
|
+
"internalType": "address",
|
1471
|
+
"name": "_excessStakeReceiver",
|
1472
|
+
"type": "address"
|
1473
|
+
},
|
1474
|
+
{
|
1475
|
+
"internalType": "uint8",
|
1476
|
+
"name": "_numBigStepLevel",
|
1477
|
+
"type": "uint8"
|
1478
|
+
},
|
1479
|
+
{
|
1480
|
+
"internalType": "uint256[]",
|
1481
|
+
"name": "_stakeAmounts",
|
1482
|
+
"type": "uint256[]"
|
1483
|
+
}
|
1484
|
+
],
|
1485
|
+
"name": "initialize",
|
1486
|
+
"outputs": [],
|
1487
|
+
"stateMutability": "nonpayable",
|
1488
|
+
"type": "function"
|
1489
|
+
},
|
1490
|
+
{
|
1491
|
+
"inputs": [
|
1492
|
+
{
|
1493
|
+
"internalType": "bytes32[]",
|
1494
|
+
"name": "edgeIds",
|
1495
|
+
"type": "bytes32[]"
|
1496
|
+
},
|
1497
|
+
{
|
1498
|
+
"internalType": "uint256",
|
1499
|
+
"name": "maximumCachedTime",
|
1500
|
+
"type": "uint256"
|
1501
|
+
}
|
1502
|
+
],
|
1503
|
+
"name": "multiUpdateTimeCacheByChildren",
|
1504
|
+
"outputs": [],
|
1505
|
+
"stateMutability": "nonpayable",
|
1506
|
+
"type": "function"
|
1507
|
+
},
|
1508
|
+
{
|
1509
|
+
"inputs": [],
|
1510
|
+
"name": "oneStepProofEntry",
|
1511
|
+
"outputs": [
|
1512
|
+
{
|
1513
|
+
"internalType": "contract IOneStepProofEntry",
|
1514
|
+
"name": "",
|
1515
|
+
"type": "address"
|
1516
|
+
}
|
1517
|
+
],
|
1518
|
+
"stateMutability": "view",
|
1519
|
+
"type": "function"
|
1520
|
+
},
|
1521
|
+
{
|
1522
|
+
"inputs": [
|
1523
|
+
{
|
1524
|
+
"internalType": "bytes32",
|
1525
|
+
"name": "edgeId",
|
1526
|
+
"type": "bytes32"
|
1527
|
+
}
|
1528
|
+
],
|
1529
|
+
"name": "refundStake",
|
1530
|
+
"outputs": [],
|
1531
|
+
"stateMutability": "nonpayable",
|
1532
|
+
"type": "function"
|
1533
|
+
},
|
1534
|
+
{
|
1535
|
+
"inputs": [
|
1536
|
+
{
|
1537
|
+
"internalType": "uint256",
|
1538
|
+
"name": "",
|
1539
|
+
"type": "uint256"
|
1540
|
+
}
|
1541
|
+
],
|
1542
|
+
"name": "stakeAmounts",
|
1543
|
+
"outputs": [
|
1544
|
+
{
|
1545
|
+
"internalType": "uint256",
|
1546
|
+
"name": "",
|
1547
|
+
"type": "uint256"
|
1548
|
+
}
|
1549
|
+
],
|
1550
|
+
"stateMutability": "view",
|
1551
|
+
"type": "function"
|
1552
|
+
},
|
1553
|
+
{
|
1554
|
+
"inputs": [],
|
1555
|
+
"name": "stakeToken",
|
1556
|
+
"outputs": [
|
1557
|
+
{
|
1558
|
+
"internalType": "contract IERC20",
|
1559
|
+
"name": "",
|
1560
|
+
"type": "address"
|
1561
|
+
}
|
1562
|
+
],
|
1563
|
+
"stateMutability": "view",
|
1564
|
+
"type": "function"
|
1565
|
+
},
|
1566
|
+
{
|
1567
|
+
"inputs": [
|
1568
|
+
{
|
1569
|
+
"internalType": "bytes32",
|
1570
|
+
"name": "edgeId",
|
1571
|
+
"type": "bytes32"
|
1572
|
+
}
|
1573
|
+
],
|
1574
|
+
"name": "timeUnrivaled",
|
1575
|
+
"outputs": [
|
1576
|
+
{
|
1577
|
+
"internalType": "uint256",
|
1578
|
+
"name": "",
|
1579
|
+
"type": "uint256"
|
1580
|
+
}
|
1581
|
+
],
|
1582
|
+
"stateMutability": "view",
|
1583
|
+
"type": "function"
|
1584
|
+
},
|
1585
|
+
{
|
1586
|
+
"inputs": [
|
1587
|
+
{
|
1588
|
+
"internalType": "bytes32",
|
1589
|
+
"name": "edgeId",
|
1590
|
+
"type": "bytes32"
|
1591
|
+
},
|
1592
|
+
{
|
1593
|
+
"internalType": "uint256",
|
1594
|
+
"name": "maximumCachedTime",
|
1595
|
+
"type": "uint256"
|
1596
|
+
}
|
1597
|
+
],
|
1598
|
+
"name": "updateTimerCacheByChildren",
|
1599
|
+
"outputs": [],
|
1600
|
+
"stateMutability": "nonpayable",
|
1601
|
+
"type": "function"
|
1602
|
+
},
|
1603
|
+
{
|
1604
|
+
"inputs": [
|
1605
|
+
{
|
1606
|
+
"internalType": "bytes32",
|
1607
|
+
"name": "edgeId",
|
1608
|
+
"type": "bytes32"
|
1609
|
+
},
|
1610
|
+
{
|
1611
|
+
"internalType": "bytes32",
|
1612
|
+
"name": "claimingEdgeId",
|
1613
|
+
"type": "bytes32"
|
1614
|
+
},
|
1615
|
+
{
|
1616
|
+
"internalType": "uint256",
|
1617
|
+
"name": "maximumCachedTime",
|
1618
|
+
"type": "uint256"
|
1619
|
+
}
|
1620
|
+
],
|
1621
|
+
"name": "updateTimerCacheByClaim",
|
1622
|
+
"outputs": [],
|
1623
|
+
"stateMutability": "nonpayable",
|
1624
|
+
"type": "function"
|
1625
|
+
}
|
1626
|
+
],
|
1627
|
+
"bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b615bf780620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c8063655b42f31161010f578063c32d8c63116100a2578063eae0328b11610071578063eae0328b146104b1578063edaab54a146104c4578063f8ee77d6146104d7578063fda2892e146104e057600080fd5b8063c32d8c6314610443578063c8bc4e4314610456578063e5b123da1461047e578063e94e051e1461049e57600080fd5b80638c1b3a40116100de5780638c1b3a40146103ea578063908517e9146103fd578063b2a1408e14610410578063bce6f54f1461042357600080fd5b8063655b42f314610378578063748926f3146103b1578063750e0c0f146103c45780638826a370146103d757600080fd5b8063432bb78a1161018757806351ed6a301161015657806351ed6a301461031057806354b64151146103235780635a48e0f4146103465780635d9e24441461035957600080fd5b8063432bb78a1461028d57806346c2781a146102a057806348923bc5146102cb57806348dd2924146102f657600080fd5b80631dce5166116101c35780631dce5166146102555780633e35f5e81461025e578063416e66571461027157806342e1aaa81461027a57600080fd5b80624d8efe146101f457806305fae1411461021a5780631a72d54c1461022d5780631c1b4f3a14610242575b600080fd5b610207610202366004614c06565b610500565b6040519081526020015b60405180910390f35b610207610228366004614c50565b61051b565b61024061023b366004614d02565b610aa3565b005b610207610250366004614dd5565b610e20565b610207600a5481565b61020761026c366004614dd5565b610e41565b610207600b5481565b610207610288366004614e06565b610e54565b61024061029b366004614e23565b610ed8565b6008546102b3906001600160401b031681565b6040516001600160401b039091168152602001610211565b6009546102de906001600160a01b031681565b6040516001600160a01b039091168152602001610211565b6008546102de90600160401b90046001600160a01b031681565b6006546102de906001600160a01b031681565b610336610331366004614dd5565b610f73565b6040519015158152602001610211565b610207610354366004614dd5565b610f80565b600d546103669060ff1681565b60405160ff9091168152602001610211565b610336610386366004614e6e565b6001600160a01b03919091166000908152600460209081526040808320938352929052205460ff1690565b6102406103bf366004614dd5565b610f8d565b6103366103d2366004614dd5565b611080565b6102406103e5366004614e9a565b611097565b6102406103f8366004614ec6565b6110ff565b61033661040b366004614dd5565b6112ae565b61024061041e366004614f8e565b6112bb565b610207610431366004614dd5565b60009081526002602052604090205490565b610207610451366004614fc8565b6115c4565b61046961046436600461500a565b6115dd565b60408051928352602083019190915201610211565b61020761048c366004614dd5565b60009081526003602052604090205490565b6005546102de906001600160a01b031681565b6102076104bf366004614dd5565b611799565b6102406104d2366004615089565b6117ae565b610207600c5481565b6104f36104ee366004614dd5565b611807565b60405161021191906150d5565b6000610510878787878787611926565b979650505050505050565b60008060088054906101000a90046001600160a01b03166001600160a01b03166312ab3d3b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906151bd565b159050808015610612575060085460405163facd743b60e01b8152336004820152600160401b9091046001600160a01b03169063facd743b90602401602060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906151bd565b155b1561063757604051633b4f6e2b60e21b81523360048201526024015b60405180910390fd5b61063f614a15565b600061065c61065160208701876151df565b600d5460ff1661196b565b9050600061066982610e54565b9050610673614a59565b6000836002811115610687576106876150ab565b036109525761069960a08801886151fa565b90506000036106bb57604051630c9ccac560e41b815260040160405180910390fd5b6000806106cb60a08a018a6151fa565b8101906106d8919061548e565b925092505060088054906101000a90046001600160a01b03166001600160a01b031663e51019a68a606001358360000151846020015185604001516040518563ffffffff1660e01b81526004016107329493929190615562565b60006040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505060085460208481015186519187015160408089015190516372880cd360e11b8152600160401b9095046001600160a01b0316965063e51019a695506107aa94929392600401615562565b60006040518083038186803b1580156107c257600080fd5b505afa1580156107d6573d6000803e3d6000fd5b5050505080600001516040015189602001351461081b5780516040908101519051631d31f4cd60e11b815260208b01356004820152602481019190915260440161062e565b6040805160c08101825260608b013580825260208481015190830152600854835163e531d8c760e01b815260048101929092529192830191600160401b90046001600160a01b03169063e531d8c790602401602060405180830381865afa15801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae91906151bd565b15158152600854602084810151604051632b5de4f360e11b81526004810191909152920191600091600160401b90046001600160a01b0316906356bbc9e690602401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906155af565b6001600160401b031611815292516020840152905160409092019190915290505b600954600d5461097a916001918a9185916001600160a01b0390911690879060ff168b6119da565b6006549094506001600160a01b03166000600761099a60208b018b6151df565b60ff16815481106109ad576109ad6155cc565b60009182526020909120015490506001600160a01b038216158015906109d257508015155b15610a0e5760008660c001516109e857306109f5565b6005546001600160a01b03165b9050610a0c6001600160a01b038416338385611ab0565b505b8560400151866020015187600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a489606001518a608001518b60a001518c60c001518d60e00151604051610a8d959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a4505092519695505050505050565b600054610100900460ff1615808015610ac35750600054600160ff909116105b80610add5750303b158015610add575060005460ff166001145b610b405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161062e565b6000805460ff191660011790558015610b63576000805461ff0019166101001790555b6001600160a01b038c16610b8a5760405163641f043160e11b815260040160405180910390fd5b600880546001600160a01b03808f16600160401b0268010000000000000000600160e01b0319909216919091179091558a16610bd95760405163fb60b0ef60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b038c161790556001600160401b038b16600003610c1e57604051632283bb7360e21b815260040160405180910390fd5b6008805467ffffffffffffffff19166001600160401b038d16179055600680546001600160a01b0319166001600160a01b03888116919091179091558516610c79576040516301e1d91560e31b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b038716179055610c9d89611b1b565b610cbd57604051633abfb6ff60e21b8152600481018a905260240161062e565b600a899055610ccb88611b1b565b610ceb57604051633abfb6ff60e21b81526004810189905260240161062e565b600b889055610cf987611b1b565b610d1957604051633abfb6ff60e21b81526004810188905260240161062e565b600c87905560ff8416600003610d4257604051632a18f5b960e21b815260040160405180910390fd5b60fd8460ff161115610d6c5760405163040d23bf60e41b815260ff8516600482015260240161062e565b600d805460ff191660ff861617905581610d878560026155f8565b60ff1614610dbf5781610d9b8560026155f8565b604051622bb3a760e61b8152600481019290925260ff16602482015260440161062e565b610dcb60078484614a9b565b508015610e12576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050505050565b60078181548110610e3057600080fd5b600091825260209091200154905081565b6000610e4e600183611b45565b92915050565b600080826002811115610e6957610e696150ab565b03610e76575050600a5490565b6001826002811115610e8a57610e8a6150ab565b03610e97575050600b5490565b6002826002811115610eab57610eab6150ab565b03610eb8575050600c5490565b81604051630efcb87b60e21b815260040161062e9190615611565b919050565b6000829003610efa5760405163521299a960e01b815260040160405180910390fd5b610f2b8383610f0a600182615624565b818110610f1957610f196155cc565b60019260209091020135905083611ccf565b5060005b82811015610f6d57610f5b848483818110610f4c57610f4c6155cc565b905060200201356000196117ae565b80610f6581615637565b915050610f2f565b50505050565b6000610e4e600183611d25565b6000610e4e600183611d59565b6000610f9a600183611daa565b9050610fa581611df3565b6006546009820154600780546001600160a01b0390931692600092600160481b900460ff16908110610fd957610fd96155cc565b60009182526020909120015490506001600160a01b03821615801590610ffe57508015155b1561101f57600883015461101f906001600160a01b03848116911683611eb6565b600084815260016020526040902061103690611eeb565b604080516001600160a01b03851681526020810184905286917fa635398959ddb5ce3b14537edfc25b2e671274c9b8cad0f4bd634752e69007b6910160405180910390a350505050565b6000818152600160205260408120610e4e90611f1b565b600d5460009081906110b3906001908790879060ff1687611f34565b9150915081156110f857847fbe17755d8d836ad67bfaf8e5b3869aedb4cba03f295a167c5547feddd9ef50ad826040516110ef91815260200190565b60405180910390a25b5050505050565b600061110c600189611d59565b6008546040516304972af960e01b8152919250600160401b90046001600160a01b0316906304972af9906111469084908a90600401615650565b60006040518083038186803b15801561115e57600080fd5b505afa158015611172573d6000803e3d6000fd5b505050506000604051806060016040528088608001602081019061119691906156c9565b6001600160401b0316815260200160088054906101000a90046001600160a01b03166001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906156e6565b6001600160a01b0390811682528935602090920191909152600954600d54600b54600c54949550611261946001948f9416928e9288928e928e928e928e9260ff169190611f9b565b600089815260016020526040902061127890611eeb565b6040518a907fe11db4b27bc8c6ea5943ecbb205ae1ca8d56c42c719717aaf8a53d43d0cee7c290600090a3505050505050505050565b6000610e4e600183612301565b60006112c8600184611daa565b90506112d3816123bc565b61131c576112e0816123e0565b60088201546007830154604051631cb1906160e31b815260048101939093526001600160a01b039091166024830152604482015260640161062e565b600080806009840154600d5461133f9160ff600160481b9091048116911661196b565b6002811115611350576113506150ab565b1490508080156113d4575060085460078401546040516306106c4560e31b81526004810191909152600160401b9091046001600160a01b031690633083622890602401602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d491906151bd565b156115495760085460078401546040516372880cd360e11b8152600160401b9092046001600160a01b03169163e51019a69161142091889060c08201359060e083013590600401615703565b60006040518083038186803b15801561143857600080fd5b505afa15801561144c573d6000803e3d6000fd5b5050600854604051631171558560e01b815260c08801356004820152600160401b9091046001600160a01b0316925063117155859150602401602060405180830381865afa1580156114a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c691906155af565b600854604051632b5de4f360e11b815260c08701356004820152600160401b9091046001600160a01b0316906356bbc9e690602401602060405180830381865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c91906155af565b6115469190615790565b91505b60085460009061156890600190889086906001600160401b0316612415565b600087815260016020526040902090915061158290611eeb565b867f2e0808830a22204cb3fb8f8d784b28bc97e9ce2e39d2f9cde2860de0957d68eb836040516115b491815260200190565b60405180910390a3505050505050565b60006115d386868686866124d4565b9695505050505050565b600080600080600061162c898989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600195949392505061252e9050565b8151929550909350915015806116c4578260400151836020015184600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a4866060015187608001518860a001518960c001518a60e001516040516116bb959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a45b8160400151826020015183600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a4856060015186608001518760a001518860c001518960e00151604051611743959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a48151604051821515815285908c907f7340510d24b7ec9b5c100f5500d93429d80d00d46f0d18e4e85d0c4cc22b99249060200160405180910390a45051919350909150505b94509492505050565b6000610e4e6117a9600184611daa565b61282f565b6000806117bd60018585612874565b915091508115610f6d57837fbe17755d8d836ad67bfaf8e5b3869aedb4cba03f295a167c5547feddd9ef50ad826040516117f991815260200190565b60405180910390a250505050565b61180f614ae6565b61181a600183611daa565b604080516101e0810182528254815260018084015460208301526002840154928201929092526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e082015260088301546001600160a01b038116610100830152600160a01b90046001600160401b039081166101208301526009840154908116610140830152909291610160840191600160401b900460ff16908111156118d0576118d06150ab565b60018111156118e1576118e16150ab565b81526009919091015460ff600160481b820481166020840152600160501b820416151560408301526001600160401b03600160581b9091041660609091015292915050565b600061193587878787876124d4565b60408051602081019290925281018390526060016040516020818303038152906040528051906020012090509695505050505050565b60008260ff1660000361198057506000610e4e565b8160ff168360ff161161199557506001610e4e565b6119a08260016155f8565b60ff168360ff16036119b457506002610e4e565b6040516315c1b4af60e31b815260ff80851660048301528316602482015260440161062e565b6119e2614a15565b6000806119f28a8a8a8a89612898565b915091506000611a03838b89612d19565b90506000611a1283838d612e2c565b90508515611a96576000611a2582612e5f565b33600090815260038f016020908152604080832084845290915290205490915060ff1615611a6f57604051632d23561d60e11b81523360048201526024810182905260440161062e565b33600090815260038e016020908152604080832093835292905220805460ff191660011790555b611aa08c82612e83565b9c9b505050505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610f6d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261317a565b600081600003611b2d57506000919050565b6000611b3a600184615624565b929092161592915050565b6000818152602083905260408120611b5c90611f1b565b611b7b5760405162a7b02b60e01b81526004810183905260240161062e565b6000828152602084905260408120611b9290611eeb565b6000818152600186016020526040812054919250819003611bc6576040516336843d9f60e21b815260040160405180910390fd5b6040516815539492559053115160ba1b6020820152602901604051602081830303815290604052805190602001208103611c2f57600084815260208690526040902060080154611c2690600160a01b90046001600160401b031643615624565b92505050610e4e565b6000818152602086905260409020611c4690611f1b565b611c655760405162a7b02b60e01b81526004810182905260240161062e565b60008181526020869052604080822060089081015487845291909220909101546001600160401b03600160a01b928390048116929091041680821115611cba57611caf8183615624565b945050505050610e4e565b6000945050505050610e4e565b505092915050565b600082815260208490526040812060090154600160581b90046001600160401b0316828110611d1b5760405163d1f5928160e01b8152600481018290526024810184905260440161062e565b90505b9392505050565b6000611d318383612301565b8015611d1e57506000828152602084905260409020611d4f9061282f565b6001149392505050565b600080611d668484611daa565b90505b6009810154600160481b900460ff1615611da25780546000908152600185016020526040902054611d9a8582611daa565b915050611d69565b549392505050565b6000818152602083905260408120611dc190611f1b565b611de05760405162a7b02b60e01b81526004810183905260240161062e565b5060009081526020919091526040902090565b60016009820154600160401b900460ff166001811115611e1557611e156150ab565b14611e4d57611e23816123e0565b6009820154604051633bc499ed60e21b815261062e9291600160401b900460ff16906004016157b0565b611e56816123bc565b611e63576112e0816123e0565b6009810154600160501b900460ff161515600103611ea057611e84816123e0565b60405163307f766960e01b815260040161062e91815260200190565b600901805460ff60501b1916600160501b179055565b6040516001600160a01b038316602482015260448101829052611ee690849063a9059cbb60e01b90606401611ae4565b505050565b6000610e4e8260090160099054906101000a900460ff1683600001548460020154856001015486600401546124d4565b60080154600160a01b90046001600160401b0316151590565b6000806000611f438888611b45565b9050611f518888888861324c565b600086815260208990526040902060090154611f7d90600160581b90046001600160401b0316826157c4565b9050611f8b888883876133c3565b92509250505b9550959350505050565b60008b815260208d905260409020611fb290611f1b565b611fd15760405162a7b02b60e01b8152600481018c905260240161062e565b600260008c815260208e90526040902060090154611ff990600160481b900460ff168561196b565b600281111561200a5761200a6150ab565b146120475760008b815260208d905260409081902060090154905163348aefdf60e01b8152600160481b90910460ff16600482015260240161062e565b60008b815260208d90526040902061205e9061282f565b6001146120985760008b815260208d90526040902061207c9061282f565b6040516306b595e560e41b815260040161062e91815260200190565b60008b815260208d905260409020600201548b825b60018f600001600084815260200190815260200160002060090160099054906101000a900460ff1660ff1611156121555760008f60000160008481526020019081526020016000206000015490508f60010160008281526020019081526020016000205492508f6000016000848152602001908152602001600020600201548261213791906157d7565b61214190856157c4565b935061214d86836157d7565b9150506120ad565b50506121b28d60000160008e8152602001908152602001600020600101548b60000135838b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344992505050565b60008b6001600160a01b031663b5112fd28b848e600001358f80602001906121da91906151fa565b6040518663ffffffff1660e01b81526004016121fa9594939291906157ee565b602060405180830381865afa158015612217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223b919061584f565b90506122a08e60000160008f8152602001908152602001600020600301548284600161226791906157c4565b8a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344992505050565b60008d815260208f9052604090206122b7906134cf565b6122c18e8e613551565b5050506000998a5250505060209790975250506040909320600901805467ffffffffffffffff60581b191667ffffffffffffffff60581b17905550505050565b600081815260208390526040812061231890611f1b565b6123375760405162a7b02b60e01b81526004810183905260240161062e565b600082815260208490526040812061234e90611eeb565b6000818152600186016020526040812054919250819003612382576040516336843d9f60e21b815260040160405180910390fd5b6040516815539492559053115160ba1b602082015260290160408051601f1981840301815291905280516020909101201415949350505050565b600781015460009015801590610e4e575050600801546001600160a01b0316151590565b6000610e4e8260090160099054906101000a900460ff1683600001548460020154856001015486600401548760030154611926565b600083815260208590526040812061242c90611f1b565b61244b5760405162a7b02b60e01b81526004810185905260240161062e565b600061245786866135bb565b905061246c6001600160401b038516826157c4565b9050826001600160401b03168110156124aa5760405163011a8d4d60e41b8152600481018290526001600160401b038416602482015260440161062e565b60008581526020879052604090206124c1906134cf565b6124cb8686613551565b95945050505050565b6040516001600160f81b031960f887901b1660208201526021810185905260418101849052606181018390526081810182905260009060a10160405160208183030381529060405280519060200120905095945050505050565b6000612538614a15565b612540614a15565b60008087815260208990526040902060090154600160401b900460ff16600181111561256e5761256e6150ab565b146125ad57600086815260208890526040908190206009015490516323f8405d60e01b815261062e918891600160401b90910460ff16906004016157b0565b6125b78787612301565b6125d7576040516380e07e4560e01b81526004810187905260240161062e565b6000868152602088905260408120604080516101e0810182528254815260018084015460208301526002840154928201929092526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e082015260088301546001600160a01b038116610100830152600160a01b90046001600160401b039081166101208301526009840154908116610140830152909291610160840191600160401b900460ff169081111561269b5761269b6150ab565b60018111156126ac576126ac6150ab565b815260099190910154600160481b810460ff9081166020840152600160501b8204161515604080840191909152600160581b9091046001600160401b0316606090920191909152810151608082015191925060009161270b9190613640565b90506000808780602001905181019061272491906158c3565b9092509050612754896127388560016157c4565b6060870151608088015161274d9060016157c4565b86866136d4565b50506000612760614a15565b60006127818560000151866020015187604001518d888a61018001516139a5565b905061278c81613a3d565b600081815260208e9052604090209093506127a690611f1b565b6127b7576127b48c82612e83565b91505b506127c0614a15565b60006127e186600001518c8789606001518a608001518b61018001516139a5565b90506127ed8d82612e83565b91505061281d8382600001518e60000160008f8152602001908152602001600020613a669092919063ffffffff16565b919b909a509098509650505050505050565b600080826002015483600401546128469190615624565b905080600003610e4e57612859836123e0565b60405162a7b02b60e01b815260040161062e91815260200190565b60008061288c858561288688886135bb565b866133c3565b91509150935093915050565b604080516060808201835260008083526020830152918101919091526000806128cd6128c760208901896151df565b8561196b565b60028111156128de576128de6150ab565b03612b67576020850151855160000361290a576040516374b5e30d60e11b815260040160405180910390fd5b855160608801351461293f5785516040516316c5de8f60e21b815260048101919091526060880135602482015260440161062e565b8560400151612961576040516360b4921b60e11b815260040160405180910390fd5b856060015161298357604051635a2e8e1d60e11b815260040160405180910390fd5b61299060a08801886151fa565b90506000036129b257604051630c9ccac560e41b815260040160405180910390fd5b60006129c160a08901896151fa565b8101906129ce919061548e565b509091506000905087608001516020015160028111156129f0576129f06150ab565b03612a0e5760405163231b2f2960e11b815260040160405180910390fd5b60008760a00151602001516002811115612a2a57612a2a6150ab565b03612a4857604051638999857d60e01b815260040160405180910390fd5b6000866001600160a01b031663c39619c4612a668a60800151613acd565b6040518263ffffffff1660e01b8152600401612a829190615926565b602060405180830381865afa158015612a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac3919061584f565b90506000876001600160a01b031663c39619c4612ae38b60a00151613acd565b6040518263ffffffff1660e01b8152600401612aff9190615926565b602060405180830381865afa158015612b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b40919061584f565b6040805160608101825293845260208401919091528201929092529350909150611f919050565b612b75878760600135611d25565b612b9b5760405160016292642960e01b031981526060870135600482015260240161062e565b6060860135600090815260208890526040812090612bb882611eeb565b905060006009830154600160401b900460ff166001811115612bdc57612bdc6150ab565b14612bfa576040516312459ffd60e01b815260040160405180910390fd5b6009820154612c1390600160481b900460ff1686613b08565b60ff16612c2360208a018a6151df565b60ff1614612c6c57612c3860208901896151df565b600983015460405163564f308b60e11b815260ff9283166004820152600160481b909104909116602482015260440161062e565b612c7960a08901896151fa565b9050600003612c9b57604051630c9ccac560e41b815260040160405180910390fd5b600080808080612cae60a08e018e6151fa565b810190612cbb9190615954565b94509450945094509450612cd9876001015486896002015486613449565b612ced876003015485896004015485613449565b604051806060016040528086815260200185815260200182815250869850985050505050505050611f91565b604080516000808252602082019092528190612d3f90612d3a908751613b2a565b613b60565b9050612d4a83611b1b565b612d6a57604051633abfb6ff60e21b81526004810184905260240161062e565b82846040013514612d9b57604080516337f318af60e21b81529085013560048201526024810184905260440161062e565b612db78460200135866020015186604001358860400151613449565b612dc460808501856151fa565b9050600003612de657604051631a1503a960e11b815260040160405180910390fd5b600080612df660808701876151fa565b810190612e0391906159ef565b9092509050612e21836001602089013561274d60408b0135836157c4565b509095945050505050565b612e34614ae6565b611d1b84846000602086018035906040880135906060890135903390612e5a908b6151df565b613cf9565b6000610e4e82610180015183600001518460400151856020015186608001516124d4565b612e8b614a15565b6000612e9683613a3d565b6000818152602086905260409020909150612eb090611f1b565b15612ed157604051635e76f9ef60e11b81526004810182905260240161062e565b600081815260208581526040918290208551815590850151600180830191909155918501516002820155606085015160038201556080850151600482015560a0850151600582015560c0850151600682015560e085015160078201556101008501516008820180546101208801516001600160401b03908116600160a01b026001600160e01b03199092166001600160a01b03909416939093171790556101408601516009830180549190921667ffffffffffffffff19821681178355610160880151889590939268ffffffffffffffffff191690911790600160401b908490811115612fc057612fc06150ab565b021790555061018082810151600990920180546101a08501516101c0909501516001600160401b0316600160581b0267ffffffffffffffff60581b19951515600160501b0260ff60501b1960ff909616600160481b02959095166affff00000000000000000019909216919091179390931793909316919091179091558301518351604085015160208601516080870151600094613063949093909290916124d4565b60008181526001870160205260408120549192508190036130c2576040516815539492559053115160ba1b602082015260290160408051601f198184030181529181528151602092830120600085815260018a0190935291205561310a565b6040516815539492559053115160ba1b602082015260290160405160208183030381529060405280519060200120810361310a57600082815260018701602052604090208390555b6040805161010081018252848152602080820185905287518284015260e0880151606083015260008681529089905291909120608082019061314b9061282f565b815261018087015160ff166020820152911515604083015260e090950151151560609091015250919392505050565b60006131cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e029092919063ffffffff16565b805190915015611ee657808060200190518101906131ed91906151bd565b611ee65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161062e565b600082815260208590526040902060070154831461329b5760008281526020859052604090819020600701549051631855b87d60e31b815261062e918591600401918252602082015260400190565b6000828152602085905260408082205485835291206132b990611eeb565b146133075760008381526020859052604090206132d590611eeb565b6000838152602086905260409081902054905163e2e27f8760e01b81526004810192909252602482015260440161062e565b600082815260208590526040808220600990810154868452919092209091015460ff600160481b9283900481169261334192041683613b08565b60ff1614610f6d576000838152602085905260409020600901548390839061337390600160481b900460ff1684613b08565b60008581526020889052604090819020600901549051637e726d1560e01b81526004810194909452602484019290925260ff9081166044840152600160481b90910416606482015260840161062e565b60008060006133d3878786611ccf565b90506001600160401b0385116133e957846133f2565b6001600160401b035b94508085111561343b575050506000838152602085905260409020600901805467ffffffffffffffff60581b1916600160581b6001600160401b03851602179055600182611790565b600097909650945050505050565b600061347e82848660405160200161346391815260200190565b60405160208183030381529060405280519060200120613e11565b90508085146110f85760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420696e636c7573696f6e2070726f6f66000000000000000000604482015260640161062e565b60006009820154600160401b900460ff1660018111156134f1576134f16150ab565b14613529576134ff816123e0565b60098201546040516323f8405d60e01b815261062e9291600160401b900460ff16906004016157b0565b60090180546001600160401b03431668ffffffffffffffffff1990911617600160401b179055565b600081815260208390526040812061356890611eeb565b600081815260028501602052604090205490915080156135a557604051630dd7028f60e41b8152600481018490526024810182905260440161062e565b5060009081526002909201602052604090912055565b6000806135c88484611b45565b60008481526020869052604090206005015490915015611d1e576000838152602085905260408082206005810154835281832060099081015460069092015484529190922001546001600160401b03600160581b92839004811692909104168082106136345780613636565b815b6115d390846157c4565b6000600261364e8484615624565b10156136775760405163240a616560e21b8152600481018490526024810183905260440161062e565b6136818383615624565b60020361369a576136938360016157c4565b9050610e4e565b6000836136a8600185615624565b18905060006136b682613eb3565b9050600019811b806136c9600187615624565b169695505050505050565b6000851161371b5760405162461bcd60e51b815260206004820152601460248201527305072652d73697a652063616e6e6f7420626520360641b604482015260640161062e565b8561372583613b60565b146137725760405162461bcd60e51b815260206004820152601b60248201527f50726520657870616e73696f6e20726f6f74206d69736d617463680000000000604482015260640161062e565b8461377c83613fe2565b146137d35760405162461bcd60e51b815260206004820152602160248201527f5072652073697a6520646f6573206e6f74206d6174636820657870616e73696f6044820152603760f91b606482015260840161062e565b8285106138225760405162461bcd60e51b815260206004820181905260248201527f5072652073697a65206e6f74206c657373207468616e20706f73742073697a65604482015260640161062e565b6000859050600080613837856000875161403d565b90505b858310156138ef57600061384e8488614199565b9050845183106138955760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b604482015260640161062e565b6138b982828786815181106138ac576138ac6155cc565b602002602001015161427d565b91506001811b6138c981866157c4565b9450878511156138db576138db615a48565b836138e581615637565b945050505061383a565b866138f982613b60565b146139515760405162461bcd60e51b815260206004820152602260248201527f506f737420657870616e73696f6e20726f6f74206e6f7420657175616c20706f6044820152611cdd60f21b606482015260840161062e565b8351821461399a5760405162461bcd60e51b8152602060048201526016602482015275496e636f6d706c6574652070726f6f6620757361676560501b604482015260640161062e565b505050505050505050565b6139ad614ae6565b6139ba87878787876147b9565b50604080516101e08101825296875260208701959095529385019290925260608401526080830152600060a0830181905260c0830181905260e0830181905261010083018190526001600160401b0343166101208401526101408301819052610160830181905260ff9091166101808301526101a082018190526101c082015290565b6000610e4e82610180015183600001518460400151856020015186608001518760600151611926565b6005830154151580613a7b5750600683015415155b15613abd57613a89836123e0565b600584015460068501546040516308b0e71d60e41b815260048101939093526024830191909152604482015260640161062e565b6005830191909155600690910155565b613ad5614b60565b60405180604001604052808360000151815260200183602001516002811115613b0057613b006150ab565b905292915050565b600080613b168460016155f8565b9050613b22818461196b565b509392505050565b6060611d1e83600084604051602001613b4591815260200190565b6040516020818303038152906040528051906020012061427d565b600080825111613bab5760405162461bcd60e51b815260206004820152601660248201527522b6b83a3c9036b2b935b6329032bc3830b739b4b7b760511b604482015260640161062e565b604082511115613bfd5760405162461bcd60e51b815260206004820152601a60248201527f4d65726b6c6520657870616e73696f6e20746f6f206c61726765000000000000604482015260640161062e565b6000805b8351811015613cf2576000848281518110613c1e57613c1e6155cc565b60200260200101519050826000801b03613c8a578015613c855780925060018551613c499190615624565b8214613c8557604051613c6c908490600090602001918252602082015260400190565b6040516020818303038152906040528051906020012092505b613cdf565b8015613ca9576040805160208101839052908101849052606001613c6c565b604051613cc6908490600090602001918252602082015260400190565b6040516020818303038152906040528051906020012092505b5080613cea81615637565b915050613c01565b5092915050565b613d01614ae6565b6001600160a01b038316613d285760405163f289e65760e01b815260040160405180910390fd5b6000849003613d4a57604051636932bcfd60e01b815260040160405180910390fd5b613d5789898989896147b9565b604051806101e001604052808a81526020018981526020018881526020018781526020018681526020016000801b81526020016000801b8152602001858152602001846001600160a01b03168152602001436001600160401b0316815260200160006001600160401b0316815260200160006001811115613dda57613dda6150ab565b815260ff84166020820152600060408201819052606090910152905098975050505050505050565b6060611d1b8484600085614849565b8251600090610100811115613e4457604051637ed6198f60e11b815260048101829052610100602482015260440161062e565b8260005b82811015613ea9576000878281518110613e6457613e646155cc565b60200260200101519050816001901b8716600003613e9057826000528060205260406000209250613ea0565b8060005282602052604060002092505b50600101613e48565b5095945050505050565b600081600003613f055760405162461bcd60e51b815260206004820152601c60248201527f5a65726f20686173206e6f207369676e69666963616e74206269747300000000604482015260640161062e565b600160801b8210613f2357608091821c91613f2090826157c4565b90505b600160401b8210613f4157604091821c91613f3e90826157c4565b90505b6401000000008210613f6057602091821c91613f5d90826157c4565b90505b620100008210613f7d57601091821c91613f7a90826157c4565b90505b6101008210613f9957600891821c91613f9690826157c4565b90505b60108210613fb457600491821c91613fb190826157c4565b90505b60048210613fcf57600291821c91613fcc90826157c4565b90505b60028210610ed357610e4e6001826157c4565b600080805b8351811015613cf257838181518110614002576140026155cc565b60200260200101516000801b1461402b5761401e816002615b42565b61402890836157c4565b91505b8061403581615637565b915050613fe7565b60608183106140885760405162461bcd60e51b815260206004820152601760248201527614dd185c9d081b9bdd081b195cdcc81d1a185b88195b99604a1b604482015260640161062e565b83518211156140e35760405162461bcd60e51b815260206004820152602160248201527f456e64206e6f74206c657373206f7220657175616c207468616e206c656e67746044820152600d60fb1b606482015260840161062e565b60006140ef8484615624565b6001600160401b0381111561410657614106615240565b60405190808252806020026020018201604052801561412f578160200160208202803683370190505b509050835b838110156141905785818151811061414e5761414e6155cc565b60200260200101518286836141639190615624565b81518110614173576141736155cc565b60209081029190910101528061418881615637565b915050614134565b50949350505050565b60008183106141e45760405162461bcd60e51b815260206004820152601760248201527614dd185c9d081b9bdd081b195cdcc81d1a185b88195b99604a1b604482015260640161062e565b60006141f1838518613eb3565b90506000600161420183826157c4565b6001901b61420f9190615624565b9050848116848216811561422657611caf8261496f565b801561423557611caf81613eb3565b60405162461bcd60e51b815260206004820152601b60248201527f426f7468207920616e64207a2063616e6e6f74206265207a65726f0000000000604482015260640161062e565b6060604083106142c05760405162461bcd60e51b815260206004820152600e60248201526d098caeccad840e8dede40d0d2ced60931b604482015260640161062e565b60008290036143115760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420617070656e6420656d70747920737562747265650000000000604482015260640161062e565b6040845111156143635760405162461bcd60e51b815260206004820152601a60248201527f4d65726b6c6520657870616e73696f6e20746f6f206c61726765000000000000604482015260640161062e565b83516000036143e15760006143798460016157c4565b6001600160401b0381111561439057614390615240565b6040519080825280602002602001820160405280156143b9578160200160208202803683370190505b509050828185815181106143cf576143cf6155cc565b60209081029190910101529050611d1e565b8351831061444f5760405162461bcd60e51b815260206004820152603560248201527f4c6576656c2067726561746572207468616e2068696768657374206c6576656c6044820152741037b31031bab93932b73a1032bc3830b739b4b7b760591b606482015260840161062e565b81600061445b86613fe2565b9050600061446a866002615b42565b61447490836157c4565b9050600061448183613eb3565b61448a83613eb3565b116144d75787516001600160401b038111156144a8576144a8615240565b6040519080825280602002602001820160405280156144d1578160200160208202803683370190505b50614526565b87516144e49060016157c4565b6001600160401b038111156144fb576144fb615240565b604051908082528060200260200182016040528015614524578160200160208202803683370190505b505b905060408151111561457a5760405162461bcd60e51b815260206004820152601c60248201527f417070656e642063726561746573206f76657273697a65207472656500000000604482015260640161062e565b60005b885181101561471b5787811015614609578881815181106145a0576145a06155cc565b60200260200101516000801b146146045760405162461bcd60e51b815260206004820152602260248201527f417070656e642061626f7665206c65617374207369676e69666963616e7420626044820152611a5d60f21b606482015260840161062e565b614709565b600085900361464f57888181518110614624576146246155cc565b602002602001015182828151811061463e5761463e6155cc565b602002602001018181525050614709565b888181518110614661576146616155cc565b60200260200101516000801b036146995784828281518110614685576146856155cc565b602090810291909101015260009450614709565b6000801b8282815181106146af576146af6155cc565b6020026020010181815250508881815181106146cd576146cd6155cc565b6020026020010151856040516020016146f0929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b8061471381615637565b91505061457d565b50831561474f578381600183516147329190615624565b81518110614742576147426155cc565b6020026020010181815250505b806001825161475e9190615624565b8151811061476e5761476e6155cc565b60200260200101516000801b036105105760405162461bcd60e51b815260206004820152600f60248201526e4c61737420656e747279207a65726f60881b604482015260640161062e565b60008590036147db5760405163235e76ef60e21b815260040160405180910390fd5b828111614805576040516308183ebd60e21b8152600481018490526024810182905260440161062e565b6000849003614827576040516320f1a0f960e21b815260040160405180910390fd5b60008290036110f857604051635cb6e5bb60e01b815260040160405180910390fd5b6060824710156148aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161062e565b6001600160a01b0385163b6149015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161062e565b600080866001600160a01b0316858760405161491d9190615b72565b60006040518083038185875af1925050503d806000811461495a576040519150601f19603f3d011682016040523d82523d6000602084013e61495f565b606091505b50915091506105108282866149dc565b60008082116149c05760405162461bcd60e51b815260206004820152601c60248201527f5a65726f20686173206e6f207369676e69666963616e74206269747300000000604482015260640161062e565b600082806149cf600182615624565b16189050611d1e81613eb3565b606083156149eb575081611d1e565b8251156149fb5782518084602001fd5b8160405162461bcd60e51b815260040161062e9190615b8e565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b6040805160c081018252600080825260208201819052918101829052606081019190915260808101614a89614b7f565b8152602001614a96614b7f565b905290565b828054828255906000526020600020908101928215614ad6579160200282015b82811115614ad6578235825591602001919060010190614abb565b50614ae2929150614ba6565b5090565b604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290529061016082019081526000602082018190526040820181905260609091015290565b6040518060400160405280614b73614bbb565b81526020016000905290565b6040518060600160405280614b92614bbb565b815260200160008152600060209091015290565b5b80821115614ae25760008155600101614ba7565b6040518060400160405280614bce614bd7565b8152602001614a965b60405180604001604052806002906020820280368337509192915050565b803560ff81168114610ed357600080fd5b60008060008060008060c08789031215614c1f57600080fd5b614c2887614bf5565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600060208284031215614c6257600080fd5b81356001600160401b03811115614c7857600080fd5b820160c08185031215611d1e57600080fd5b6001600160a01b0381168114614c9f57600080fd5b50565b6001600160401b0381168114614c9f57600080fd5b60008083601f840112614cc957600080fd5b5081356001600160401b03811115614ce057600080fd5b6020830191508360208260051b8501011115614cfb57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215614d2457600080fd5b8b35614d2f81614c8a565b9a5060208c0135614d3f81614ca2565b995060408c0135614d4f81614c8a565b985060608c0135975060808c0135965060a08c0135955060c08c0135614d7481614c8a565b945060e08c0135614d8481614c8a565b9350614d936101008d01614bf5565b92506101208c01356001600160401b03811115614daf57600080fd5b614dbb8e828f01614cb7565b915080935050809150509295989b509295989b9093969950565b600060208284031215614de757600080fd5b5035919050565b60038110614c9f57600080fd5b8035610ed381614dee565b600060208284031215614e1857600080fd5b8135611d1e81614dee565b600080600060408486031215614e3857600080fd5b83356001600160401b03811115614e4e57600080fd5b614e5a86828701614cb7565b909790965060209590950135949350505050565b60008060408385031215614e8157600080fd5b8235614e8c81614c8a565b946020939093013593505050565b600080600060608486031215614eaf57600080fd5b505081359360208301359350604090920135919050565b6000806000806000806000878903610120811215614ee357600080fd5b8835975060208901356001600160401b0380821115614f0157600080fd5b908a01906040828d031215614f1557600080fd5b81985060a0603f1984011215614f2a57600080fd5b60408b01975060e08b0135925080831115614f4457600080fd5b614f508c848d01614cb7565b90975095506101008b0135925086915080831115614f6d57600080fd5b5050614f7b8a828b01614cb7565b989b979a50959850939692959293505050565b600080828403610120811215614fa357600080fd5b83359250610100601f1982011215614fba57600080fd5b506020830190509250929050565b600080600080600060a08688031215614fe057600080fd5b614fe986614bf5565b97602087013597506040870135966060810135965060800135945092505050565b6000806000806060858703121561502057600080fd5b843593506020850135925060408501356001600160401b038082111561504557600080fd5b818701915087601f83011261505957600080fd5b81358181111561506857600080fd5b88602082850101111561507a57600080fd5b95989497505060200194505050565b6000806040838503121561509c57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600281106150d1576150d16150ab565b9052565b60006101e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151615143828501826001600160a01b03169052565b5050610120838101516001600160401b038116848301525050610140838101516001600160401b03811684830152505061016080840151615186828501826150c1565b50506101808381015160ff16908301526101a0808401511515908301526101c0808401516001600160401b03811682850152611cc7565b6000602082840312156151cf57600080fd5b81518015158114611d1e57600080fd5b6000602082840312156151f157600080fd5b611d1e82614bf5565b6000808335601e1984360301811261521157600080fd5b8301803591506001600160401b0382111561522b57600080fd5b602001915036819003821315614cfb57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561527857615278615240565b60405290565b604080519081016001600160401b038111828210171561527857615278615240565b604051601f8201601f191681016001600160401b03811182821017156152c8576152c8615240565b604052919050565b60006001600160401b038211156152e9576152e9615240565b5060051b60200190565b600082601f83011261530457600080fd5b81356020615319615314836152d0565b6152a0565b82815260059290921b8401810191818101908684111561533857600080fd5b8286015b84811015615353578035835291830191830161533c565b509695505050505050565b600082601f83011261536f57600080fd5b61537761527e565b80604084018581111561538957600080fd5b845b81811015612e2157803561539e81614ca2565b84526020938401930161538b565b60008183036101008112156153c057600080fd5b6153c8615256565b915060c08112156153d857600080fd5b6153e0615256565b60808212156153ee57600080fd5b6153f661527e565b915084601f85011261540757600080fd5b61540f61527e565b80604086018781111561542157600080fd5b865b8181101561543b578035845260209384019301615423565b50818552615449888261535e565b602086015250505081815261546060808501614dfb565b602082015260a08401356040820152808352505060c0820135602082015260e0820135604082015292915050565b600080600061022084860312156154a457600080fd5b83356001600160401b038111156154ba57600080fd5b6154c6868287016152f3565b9350506154d685602086016153ac565b91506154e68561012086016153ac565b90509250925092565b80518260005b60028110156155145782518252602092830192909101906001016154f5565b5050506020808201516040840160005b600281101561554a5782516001600160401b031682529183019190830190600101615524565b505050505050565b60038110614c9f57614c9f6150ab565b60006101208201905085825261557c6020830186516154ef565b602085015161558a81615552565b60a08301526040949094015160c082015260e081019290925261010090910152919050565b6000602082840312156155c157600080fd5b8151611d1e81614ca2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610e4e57610e4e6155e2565b6020810161561e83615552565b91905290565b81810381811115610e4e57610e4e6155e2565b600060018201615649576156496155e2565b5060010190565b600060c0820190508382528235602083015260208301356040830152604083013561567a81614c8a565b6001600160a01b031660608381019190915283013561569881614ca2565b6001600160401b038082166080850152608085013591506156b882614ca2565b80821660a085015250509392505050565b6000602082840312156156db57600080fd5b8135611d1e81614ca2565b6000602082840312156156f857600080fd5b8151611d1e81614c8a565b8481526101208101602060408682850137606083016040870160005b600281101561574e57813561573381614ca2565b6001600160401b03168352918301919083019060010161571f565b50505050608085013561576081614dee565b61576981615552565b8060a08401525060a085013560c08301528360e08301528261010083015295945050505050565b6001600160401b03828116828216039080821115613cf257613cf26155e2565b82815260408101611d1e60208301846150c1565b80820180821115610e4e57610e4e6155e2565b8082028115828204841417610e4e57610e4e6155e2565b8551815260018060a01b0360208701511660208201526040860151604082015284606082015283608082015260c060a08201528160c0820152818360e0830137600081830160e090810191909152601f909201601f19160101949350505050565b60006020828403121561586157600080fd5b5051919050565b600082601f83011261587957600080fd5b81516020615889615314836152d0565b82815260059290921b840181019181810190868411156158a857600080fd5b8286015b8481101561535357805183529183019183016158ac565b600080604083850312156158d657600080fd5b82516001600160401b03808211156158ed57600080fd5b6158f986838701615868565b9350602085015191508082111561590f57600080fd5b5061591c85828601615868565b9150509250929050565b600060a0820190506159398284516154ef565b602083015161594781615552565b8060808401525092915050565b600080600080600060a0868803121561596c57600080fd5b853594506020860135935060408601356001600160401b038082111561599157600080fd5b61599d89838a016152f3565b945060608801359150808211156159b357600080fd5b6159bf89838a016152f3565b935060808801359150808211156159d557600080fd5b506159e2888289016152f3565b9150509295509295909350565b60008060408385031215615a0257600080fd5b82356001600160401b0380821115615a1957600080fd5b615a25868387016152f3565b93506020850135915080821115615a3b57600080fd5b5061591c858286016152f3565b634e487b7160e01b600052600160045260246000fd5b600181815b80851115615a99578160001904821115615a7f57615a7f6155e2565b80851615615a8c57918102915b93841c9390800290615a63565b509250929050565b600082615ab057506001610e4e565b81615abd57506000610e4e565b8160018114615ad35760028114615add57615af9565b6001915050610e4e565b60ff841115615aee57615aee6155e2565b50506001821b610e4e565b5060208310610133831016604e8410600b8410161715615b1c575081810a610e4e565b615b268383615a5e565b8060001904821115615b3a57615b3a6155e2565b029392505050565b6000611d1e8383615aa1565b60005b83811015615b69578181015183820152602001615b51565b50506000910152565b60008251615b84818460208701615b4e565b9190910192915050565b6020815260008251806020840152615bad816040850160208701615b4e565b601f01601f1916919091016040019291505056fea2646970667358221220b6687cc94f453c08777c1842acde18083411cc0db049ac81ad8dc48cacb3e96664736f6c63430008110033",
|
1628
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101ef5760003560e01c8063655b42f31161010f578063c32d8c63116100a2578063eae0328b11610071578063eae0328b146104b1578063edaab54a146104c4578063f8ee77d6146104d7578063fda2892e146104e057600080fd5b8063c32d8c6314610443578063c8bc4e4314610456578063e5b123da1461047e578063e94e051e1461049e57600080fd5b80638c1b3a40116100de5780638c1b3a40146103ea578063908517e9146103fd578063b2a1408e14610410578063bce6f54f1461042357600080fd5b8063655b42f314610378578063748926f3146103b1578063750e0c0f146103c45780638826a370146103d757600080fd5b8063432bb78a1161018757806351ed6a301161015657806351ed6a301461031057806354b64151146103235780635a48e0f4146103465780635d9e24441461035957600080fd5b8063432bb78a1461028d57806346c2781a146102a057806348923bc5146102cb57806348dd2924146102f657600080fd5b80631dce5166116101c35780631dce5166146102555780633e35f5e81461025e578063416e66571461027157806342e1aaa81461027a57600080fd5b80624d8efe146101f457806305fae1411461021a5780631a72d54c1461022d5780631c1b4f3a14610242575b600080fd5b610207610202366004614c06565b610500565b6040519081526020015b60405180910390f35b610207610228366004614c50565b61051b565b61024061023b366004614d02565b610aa3565b005b610207610250366004614dd5565b610e20565b610207600a5481565b61020761026c366004614dd5565b610e41565b610207600b5481565b610207610288366004614e06565b610e54565b61024061029b366004614e23565b610ed8565b6008546102b3906001600160401b031681565b6040516001600160401b039091168152602001610211565b6009546102de906001600160a01b031681565b6040516001600160a01b039091168152602001610211565b6008546102de90600160401b90046001600160a01b031681565b6006546102de906001600160a01b031681565b610336610331366004614dd5565b610f73565b6040519015158152602001610211565b610207610354366004614dd5565b610f80565b600d546103669060ff1681565b60405160ff9091168152602001610211565b610336610386366004614e6e565b6001600160a01b03919091166000908152600460209081526040808320938352929052205460ff1690565b6102406103bf366004614dd5565b610f8d565b6103366103d2366004614dd5565b611080565b6102406103e5366004614e9a565b611097565b6102406103f8366004614ec6565b6110ff565b61033661040b366004614dd5565b6112ae565b61024061041e366004614f8e565b6112bb565b610207610431366004614dd5565b60009081526002602052604090205490565b610207610451366004614fc8565b6115c4565b61046961046436600461500a565b6115dd565b60408051928352602083019190915201610211565b61020761048c366004614dd5565b60009081526003602052604090205490565b6005546102de906001600160a01b031681565b6102076104bf366004614dd5565b611799565b6102406104d2366004615089565b6117ae565b610207600c5481565b6104f36104ee366004614dd5565b611807565b60405161021191906150d5565b6000610510878787878787611926565b979650505050505050565b60008060088054906101000a90046001600160a01b03166001600160a01b03166312ab3d3b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906151bd565b159050808015610612575060085460405163facd743b60e01b8152336004820152600160401b9091046001600160a01b03169063facd743b90602401602060405180830381865afa1580156105ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061091906151bd565b155b1561063757604051633b4f6e2b60e21b81523360048201526024015b60405180910390fd5b61063f614a15565b600061065c61065160208701876151df565b600d5460ff1661196b565b9050600061066982610e54565b9050610673614a59565b6000836002811115610687576106876150ab565b036109525761069960a08801886151fa565b90506000036106bb57604051630c9ccac560e41b815260040160405180910390fd5b6000806106cb60a08a018a6151fa565b8101906106d8919061548e565b925092505060088054906101000a90046001600160a01b03166001600160a01b031663e51019a68a606001358360000151846020015185604001516040518563ffffffff1660e01b81526004016107329493929190615562565b60006040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505060085460208481015186519187015160408089015190516372880cd360e11b8152600160401b9095046001600160a01b0316965063e51019a695506107aa94929392600401615562565b60006040518083038186803b1580156107c257600080fd5b505afa1580156107d6573d6000803e3d6000fd5b5050505080600001516040015189602001351461081b5780516040908101519051631d31f4cd60e11b815260208b01356004820152602481019190915260440161062e565b6040805160c08101825260608b013580825260208481015190830152600854835163e531d8c760e01b815260048101929092529192830191600160401b90046001600160a01b03169063e531d8c790602401602060405180830381865afa15801561088a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ae91906151bd565b15158152600854602084810151604051632b5de4f360e11b81526004810191909152920191600091600160401b90046001600160a01b0316906356bbc9e690602401602060405180830381865afa15801561090d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093191906155af565b6001600160401b031611815292516020840152905160409092019190915290505b600954600d5461097a916001918a9185916001600160a01b0390911690879060ff168b6119da565b6006549094506001600160a01b03166000600761099a60208b018b6151df565b60ff16815481106109ad576109ad6155cc565b60009182526020909120015490506001600160a01b038216158015906109d257508015155b15610a0e5760008660c001516109e857306109f5565b6005546001600160a01b03165b9050610a0c6001600160a01b038416338385611ab0565b505b8560400151866020015187600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a489606001518a608001518b60a001518c60c001518d60e00151604051610a8d959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a4505092519695505050505050565b600054610100900460ff1615808015610ac35750600054600160ff909116105b80610add5750303b158015610add575060005460ff166001145b610b405760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161062e565b6000805460ff191660011790558015610b63576000805461ff0019166101001790555b6001600160a01b038c16610b8a5760405163641f043160e11b815260040160405180910390fd5b600880546001600160a01b03808f16600160401b0268010000000000000000600160e01b0319909216919091179091558a16610bd95760405163fb60b0ef60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b038c161790556001600160401b038b16600003610c1e57604051632283bb7360e21b815260040160405180910390fd5b6008805467ffffffffffffffff19166001600160401b038d16179055600680546001600160a01b0319166001600160a01b03888116919091179091558516610c79576040516301e1d91560e31b815260040160405180910390fd5b600580546001600160a01b0319166001600160a01b038716179055610c9d89611b1b565b610cbd57604051633abfb6ff60e21b8152600481018a905260240161062e565b600a899055610ccb88611b1b565b610ceb57604051633abfb6ff60e21b81526004810189905260240161062e565b600b889055610cf987611b1b565b610d1957604051633abfb6ff60e21b81526004810188905260240161062e565b600c87905560ff8416600003610d4257604051632a18f5b960e21b815260040160405180910390fd5b60fd8460ff161115610d6c5760405163040d23bf60e41b815260ff8516600482015260240161062e565b600d805460ff191660ff861617905581610d878560026155f8565b60ff1614610dbf5781610d9b8560026155f8565b604051622bb3a760e61b8152600481019290925260ff16602482015260440161062e565b610dcb60078484614a9b565b508015610e12576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050505050565b60078181548110610e3057600080fd5b600091825260209091200154905081565b6000610e4e600183611b45565b92915050565b600080826002811115610e6957610e696150ab565b03610e76575050600a5490565b6001826002811115610e8a57610e8a6150ab565b03610e97575050600b5490565b6002826002811115610eab57610eab6150ab565b03610eb8575050600c5490565b81604051630efcb87b60e21b815260040161062e9190615611565b919050565b6000829003610efa5760405163521299a960e01b815260040160405180910390fd5b610f2b8383610f0a600182615624565b818110610f1957610f196155cc565b60019260209091020135905083611ccf565b5060005b82811015610f6d57610f5b848483818110610f4c57610f4c6155cc565b905060200201356000196117ae565b80610f6581615637565b915050610f2f565b50505050565b6000610e4e600183611d25565b6000610e4e600183611d59565b6000610f9a600183611daa565b9050610fa581611df3565b6006546009820154600780546001600160a01b0390931692600092600160481b900460ff16908110610fd957610fd96155cc565b60009182526020909120015490506001600160a01b03821615801590610ffe57508015155b1561101f57600883015461101f906001600160a01b03848116911683611eb6565b600084815260016020526040902061103690611eeb565b604080516001600160a01b03851681526020810184905286917fa635398959ddb5ce3b14537edfc25b2e671274c9b8cad0f4bd634752e69007b6910160405180910390a350505050565b6000818152600160205260408120610e4e90611f1b565b600d5460009081906110b3906001908790879060ff1687611f34565b9150915081156110f857847fbe17755d8d836ad67bfaf8e5b3869aedb4cba03f295a167c5547feddd9ef50ad826040516110ef91815260200190565b60405180910390a25b5050505050565b600061110c600189611d59565b6008546040516304972af960e01b8152919250600160401b90046001600160a01b0316906304972af9906111469084908a90600401615650565b60006040518083038186803b15801561115e57600080fd5b505afa158015611172573d6000803e3d6000fd5b505050506000604051806060016040528088608001602081019061119691906156c9565b6001600160401b0316815260200160088054906101000a90046001600160a01b03166001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121991906156e6565b6001600160a01b0390811682528935602090920191909152600954600d54600b54600c54949550611261946001948f9416928e9288928e928e928e928e9260ff169190611f9b565b600089815260016020526040902061127890611eeb565b6040518a907fe11db4b27bc8c6ea5943ecbb205ae1ca8d56c42c719717aaf8a53d43d0cee7c290600090a3505050505050505050565b6000610e4e600183612301565b60006112c8600184611daa565b90506112d3816123bc565b61131c576112e0816123e0565b60088201546007830154604051631cb1906160e31b815260048101939093526001600160a01b039091166024830152604482015260640161062e565b600080806009840154600d5461133f9160ff600160481b9091048116911661196b565b6002811115611350576113506150ab565b1490508080156113d4575060085460078401546040516306106c4560e31b81526004810191909152600160401b9091046001600160a01b031690633083622890602401602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d491906151bd565b156115495760085460078401546040516372880cd360e11b8152600160401b9092046001600160a01b03169163e51019a69161142091889060c08201359060e083013590600401615703565b60006040518083038186803b15801561143857600080fd5b505afa15801561144c573d6000803e3d6000fd5b5050600854604051631171558560e01b815260c08801356004820152600160401b9091046001600160a01b0316925063117155859150602401602060405180830381865afa1580156114a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c691906155af565b600854604051632b5de4f360e11b815260c08701356004820152600160401b9091046001600160a01b0316906356bbc9e690602401602060405180830381865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c91906155af565b6115469190615790565b91505b60085460009061156890600190889086906001600160401b0316612415565b600087815260016020526040902090915061158290611eeb565b867f2e0808830a22204cb3fb8f8d784b28bc97e9ce2e39d2f9cde2860de0957d68eb836040516115b491815260200190565b60405180910390a3505050505050565b60006115d386868686866124d4565b9695505050505050565b600080600080600061162c898989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600195949392505061252e9050565b8151929550909350915015806116c4578260400151836020015184600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a4866060015187608001518860a001518960c001518a60e001516040516116bb959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a45b8160400151826020015183600001517faa4b66b1ce938c06e2a3f8466bae10ef62e747630e3859889f4719fc6427b5a4856060015186608001518760a001518860c001518960e00151604051611743959493929190948552602085019390935260ff919091166040840152151560608301521515608082015260a00190565b60405180910390a48151604051821515815285908c907f7340510d24b7ec9b5c100f5500d93429d80d00d46f0d18e4e85d0c4cc22b99249060200160405180910390a45051919350909150505b94509492505050565b6000610e4e6117a9600184611daa565b61282f565b6000806117bd60018585612874565b915091508115610f6d57837fbe17755d8d836ad67bfaf8e5b3869aedb4cba03f295a167c5547feddd9ef50ad826040516117f991815260200190565b60405180910390a250505050565b61180f614ae6565b61181a600183611daa565b604080516101e0810182528254815260018084015460208301526002840154928201929092526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e082015260088301546001600160a01b038116610100830152600160a01b90046001600160401b039081166101208301526009840154908116610140830152909291610160840191600160401b900460ff16908111156118d0576118d06150ab565b60018111156118e1576118e16150ab565b81526009919091015460ff600160481b820481166020840152600160501b820416151560408301526001600160401b03600160581b9091041660609091015292915050565b600061193587878787876124d4565b60408051602081019290925281018390526060016040516020818303038152906040528051906020012090509695505050505050565b60008260ff1660000361198057506000610e4e565b8160ff168360ff161161199557506001610e4e565b6119a08260016155f8565b60ff168360ff16036119b457506002610e4e565b6040516315c1b4af60e31b815260ff80851660048301528316602482015260440161062e565b6119e2614a15565b6000806119f28a8a8a8a89612898565b915091506000611a03838b89612d19565b90506000611a1283838d612e2c565b90508515611a96576000611a2582612e5f565b33600090815260038f016020908152604080832084845290915290205490915060ff1615611a6f57604051632d23561d60e11b81523360048201526024810182905260440161062e565b33600090815260038e016020908152604080832093835292905220805460ff191660011790555b611aa08c82612e83565b9c9b505050505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610f6d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261317a565b600081600003611b2d57506000919050565b6000611b3a600184615624565b929092161592915050565b6000818152602083905260408120611b5c90611f1b565b611b7b5760405162a7b02b60e01b81526004810183905260240161062e565b6000828152602084905260408120611b9290611eeb565b6000818152600186016020526040812054919250819003611bc6576040516336843d9f60e21b815260040160405180910390fd5b6040516815539492559053115160ba1b6020820152602901604051602081830303815290604052805190602001208103611c2f57600084815260208690526040902060080154611c2690600160a01b90046001600160401b031643615624565b92505050610e4e565b6000818152602086905260409020611c4690611f1b565b611c655760405162a7b02b60e01b81526004810182905260240161062e565b60008181526020869052604080822060089081015487845291909220909101546001600160401b03600160a01b928390048116929091041680821115611cba57611caf8183615624565b945050505050610e4e565b6000945050505050610e4e565b505092915050565b600082815260208490526040812060090154600160581b90046001600160401b0316828110611d1b5760405163d1f5928160e01b8152600481018290526024810184905260440161062e565b90505b9392505050565b6000611d318383612301565b8015611d1e57506000828152602084905260409020611d4f9061282f565b6001149392505050565b600080611d668484611daa565b90505b6009810154600160481b900460ff1615611da25780546000908152600185016020526040902054611d9a8582611daa565b915050611d69565b549392505050565b6000818152602083905260408120611dc190611f1b565b611de05760405162a7b02b60e01b81526004810183905260240161062e565b5060009081526020919091526040902090565b60016009820154600160401b900460ff166001811115611e1557611e156150ab565b14611e4d57611e23816123e0565b6009820154604051633bc499ed60e21b815261062e9291600160401b900460ff16906004016157b0565b611e56816123bc565b611e63576112e0816123e0565b6009810154600160501b900460ff161515600103611ea057611e84816123e0565b60405163307f766960e01b815260040161062e91815260200190565b600901805460ff60501b1916600160501b179055565b6040516001600160a01b038316602482015260448101829052611ee690849063a9059cbb60e01b90606401611ae4565b505050565b6000610e4e8260090160099054906101000a900460ff1683600001548460020154856001015486600401546124d4565b60080154600160a01b90046001600160401b0316151590565b6000806000611f438888611b45565b9050611f518888888861324c565b600086815260208990526040902060090154611f7d90600160581b90046001600160401b0316826157c4565b9050611f8b888883876133c3565b92509250505b9550959350505050565b60008b815260208d905260409020611fb290611f1b565b611fd15760405162a7b02b60e01b8152600481018c905260240161062e565b600260008c815260208e90526040902060090154611ff990600160481b900460ff168561196b565b600281111561200a5761200a6150ab565b146120475760008b815260208d905260409081902060090154905163348aefdf60e01b8152600160481b90910460ff16600482015260240161062e565b60008b815260208d90526040902061205e9061282f565b6001146120985760008b815260208d90526040902061207c9061282f565b6040516306b595e560e41b815260040161062e91815260200190565b60008b815260208d905260409020600201548b825b60018f600001600084815260200190815260200160002060090160099054906101000a900460ff1660ff1611156121555760008f60000160008481526020019081526020016000206000015490508f60010160008281526020019081526020016000205492508f6000016000848152602001908152602001600020600201548261213791906157d7565b61214190856157c4565b935061214d86836157d7565b9150506120ad565b50506121b28d60000160008e8152602001908152602001600020600101548b60000135838b8b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344992505050565b60008b6001600160a01b031663b5112fd28b848e600001358f80602001906121da91906151fa565b6040518663ffffffff1660e01b81526004016121fa9594939291906157ee565b602060405180830381865afa158015612217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061223b919061584f565b90506122a08e60000160008f8152602001908152602001600020600301548284600161226791906157c4565b8a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061344992505050565b60008d815260208f9052604090206122b7906134cf565b6122c18e8e613551565b5050506000998a5250505060209790975250506040909320600901805467ffffffffffffffff60581b191667ffffffffffffffff60581b17905550505050565b600081815260208390526040812061231890611f1b565b6123375760405162a7b02b60e01b81526004810183905260240161062e565b600082815260208490526040812061234e90611eeb565b6000818152600186016020526040812054919250819003612382576040516336843d9f60e21b815260040160405180910390fd5b6040516815539492559053115160ba1b602082015260290160408051601f1981840301815291905280516020909101201415949350505050565b600781015460009015801590610e4e575050600801546001600160a01b0316151590565b6000610e4e8260090160099054906101000a900460ff1683600001548460020154856001015486600401548760030154611926565b600083815260208590526040812061242c90611f1b565b61244b5760405162a7b02b60e01b81526004810185905260240161062e565b600061245786866135bb565b905061246c6001600160401b038516826157c4565b9050826001600160401b03168110156124aa5760405163011a8d4d60e41b8152600481018290526001600160401b038416602482015260440161062e565b60008581526020879052604090206124c1906134cf565b6124cb8686613551565b95945050505050565b6040516001600160f81b031960f887901b1660208201526021810185905260418101849052606181018390526081810182905260009060a10160405160208183030381529060405280519060200120905095945050505050565b6000612538614a15565b612540614a15565b60008087815260208990526040902060090154600160401b900460ff16600181111561256e5761256e6150ab565b146125ad57600086815260208890526040908190206009015490516323f8405d60e01b815261062e918891600160401b90910460ff16906004016157b0565b6125b78787612301565b6125d7576040516380e07e4560e01b81526004810187905260240161062e565b6000868152602088905260408120604080516101e0810182528254815260018084015460208301526002840154928201929092526003830154606082015260048301546080820152600583015460a0820152600683015460c0820152600783015460e082015260088301546001600160a01b038116610100830152600160a01b90046001600160401b039081166101208301526009840154908116610140830152909291610160840191600160401b900460ff169081111561269b5761269b6150ab565b60018111156126ac576126ac6150ab565b815260099190910154600160481b810460ff9081166020840152600160501b8204161515604080840191909152600160581b9091046001600160401b0316606090920191909152810151608082015191925060009161270b9190613640565b90506000808780602001905181019061272491906158c3565b9092509050612754896127388560016157c4565b6060870151608088015161274d9060016157c4565b86866136d4565b50506000612760614a15565b60006127818560000151866020015187604001518d888a61018001516139a5565b905061278c81613a3d565b600081815260208e9052604090209093506127a690611f1b565b6127b7576127b48c82612e83565b91505b506127c0614a15565b60006127e186600001518c8789606001518a608001518b61018001516139a5565b90506127ed8d82612e83565b91505061281d8382600001518e60000160008f8152602001908152602001600020613a669092919063ffffffff16565b919b909a509098509650505050505050565b600080826002015483600401546128469190615624565b905080600003610e4e57612859836123e0565b60405162a7b02b60e01b815260040161062e91815260200190565b60008061288c858561288688886135bb565b866133c3565b91509150935093915050565b604080516060808201835260008083526020830152918101919091526000806128cd6128c760208901896151df565b8561196b565b60028111156128de576128de6150ab565b03612b67576020850151855160000361290a576040516374b5e30d60e11b815260040160405180910390fd5b855160608801351461293f5785516040516316c5de8f60e21b815260048101919091526060880135602482015260440161062e565b8560400151612961576040516360b4921b60e11b815260040160405180910390fd5b856060015161298357604051635a2e8e1d60e11b815260040160405180910390fd5b61299060a08801886151fa565b90506000036129b257604051630c9ccac560e41b815260040160405180910390fd5b60006129c160a08901896151fa565b8101906129ce919061548e565b509091506000905087608001516020015160028111156129f0576129f06150ab565b03612a0e5760405163231b2f2960e11b815260040160405180910390fd5b60008760a00151602001516002811115612a2a57612a2a6150ab565b03612a4857604051638999857d60e01b815260040160405180910390fd5b6000866001600160a01b031663c39619c4612a668a60800151613acd565b6040518263ffffffff1660e01b8152600401612a829190615926565b602060405180830381865afa158015612a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac3919061584f565b90506000876001600160a01b031663c39619c4612ae38b60a00151613acd565b6040518263ffffffff1660e01b8152600401612aff9190615926565b602060405180830381865afa158015612b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b40919061584f565b6040805160608101825293845260208401919091528201929092529350909150611f919050565b612b75878760600135611d25565b612b9b5760405160016292642960e01b031981526060870135600482015260240161062e565b6060860135600090815260208890526040812090612bb882611eeb565b905060006009830154600160401b900460ff166001811115612bdc57612bdc6150ab565b14612bfa576040516312459ffd60e01b815260040160405180910390fd5b6009820154612c1390600160481b900460ff1686613b08565b60ff16612c2360208a018a6151df565b60ff1614612c6c57612c3860208901896151df565b600983015460405163564f308b60e11b815260ff9283166004820152600160481b909104909116602482015260440161062e565b612c7960a08901896151fa565b9050600003612c9b57604051630c9ccac560e41b815260040160405180910390fd5b600080808080612cae60a08e018e6151fa565b810190612cbb9190615954565b94509450945094509450612cd9876001015486896002015486613449565b612ced876003015485896004015485613449565b604051806060016040528086815260200185815260200182815250869850985050505050505050611f91565b604080516000808252602082019092528190612d3f90612d3a908751613b2a565b613b60565b9050612d4a83611b1b565b612d6a57604051633abfb6ff60e21b81526004810184905260240161062e565b82846040013514612d9b57604080516337f318af60e21b81529085013560048201526024810184905260440161062e565b612db78460200135866020015186604001358860400151613449565b612dc460808501856151fa565b9050600003612de657604051631a1503a960e11b815260040160405180910390fd5b600080612df660808701876151fa565b810190612e0391906159ef565b9092509050612e21836001602089013561274d60408b0135836157c4565b509095945050505050565b612e34614ae6565b611d1b84846000602086018035906040880135906060890135903390612e5a908b6151df565b613cf9565b6000610e4e82610180015183600001518460400151856020015186608001516124d4565b612e8b614a15565b6000612e9683613a3d565b6000818152602086905260409020909150612eb090611f1b565b15612ed157604051635e76f9ef60e11b81526004810182905260240161062e565b600081815260208581526040918290208551815590850151600180830191909155918501516002820155606085015160038201556080850151600482015560a0850151600582015560c0850151600682015560e085015160078201556101008501516008820180546101208801516001600160401b03908116600160a01b026001600160e01b03199092166001600160a01b03909416939093171790556101408601516009830180549190921667ffffffffffffffff19821681178355610160880151889590939268ffffffffffffffffff191690911790600160401b908490811115612fc057612fc06150ab565b021790555061018082810151600990920180546101a08501516101c0909501516001600160401b0316600160581b0267ffffffffffffffff60581b19951515600160501b0260ff60501b1960ff909616600160481b02959095166affff00000000000000000019909216919091179390931793909316919091179091558301518351604085015160208601516080870151600094613063949093909290916124d4565b60008181526001870160205260408120549192508190036130c2576040516815539492559053115160ba1b602082015260290160408051601f198184030181529181528151602092830120600085815260018a0190935291205561310a565b6040516815539492559053115160ba1b602082015260290160405160208183030381529060405280519060200120810361310a57600082815260018701602052604090208390555b6040805161010081018252848152602080820185905287518284015260e0880151606083015260008681529089905291909120608082019061314b9061282f565b815261018087015160ff166020820152911515604083015260e090950151151560609091015250919392505050565b60006131cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e029092919063ffffffff16565b805190915015611ee657808060200190518101906131ed91906151bd565b611ee65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161062e565b600082815260208590526040902060070154831461329b5760008281526020859052604090819020600701549051631855b87d60e31b815261062e918591600401918252602082015260400190565b6000828152602085905260408082205485835291206132b990611eeb565b146133075760008381526020859052604090206132d590611eeb565b6000838152602086905260409081902054905163e2e27f8760e01b81526004810192909252602482015260440161062e565b600082815260208590526040808220600990810154868452919092209091015460ff600160481b9283900481169261334192041683613b08565b60ff1614610f6d576000838152602085905260409020600901548390839061337390600160481b900460ff1684613b08565b60008581526020889052604090819020600901549051637e726d1560e01b81526004810194909452602484019290925260ff9081166044840152600160481b90910416606482015260840161062e565b60008060006133d3878786611ccf565b90506001600160401b0385116133e957846133f2565b6001600160401b035b94508085111561343b575050506000838152602085905260409020600901805467ffffffffffffffff60581b1916600160581b6001600160401b03851602179055600182611790565b600097909650945050505050565b600061347e82848660405160200161346391815260200190565b60405160208183030381529060405280519060200120613e11565b90508085146110f85760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420696e636c7573696f6e2070726f6f66000000000000000000604482015260640161062e565b60006009820154600160401b900460ff1660018111156134f1576134f16150ab565b14613529576134ff816123e0565b60098201546040516323f8405d60e01b815261062e9291600160401b900460ff16906004016157b0565b60090180546001600160401b03431668ffffffffffffffffff1990911617600160401b179055565b600081815260208390526040812061356890611eeb565b600081815260028501602052604090205490915080156135a557604051630dd7028f60e41b8152600481018490526024810182905260440161062e565b5060009081526002909201602052604090912055565b6000806135c88484611b45565b60008481526020869052604090206005015490915015611d1e576000838152602085905260408082206005810154835281832060099081015460069092015484529190922001546001600160401b03600160581b92839004811692909104168082106136345780613636565b815b6115d390846157c4565b6000600261364e8484615624565b10156136775760405163240a616560e21b8152600481018490526024810183905260440161062e565b6136818383615624565b60020361369a576136938360016157c4565b9050610e4e565b6000836136a8600185615624565b18905060006136b682613eb3565b9050600019811b806136c9600187615624565b169695505050505050565b6000851161371b5760405162461bcd60e51b815260206004820152601460248201527305072652d73697a652063616e6e6f7420626520360641b604482015260640161062e565b8561372583613b60565b146137725760405162461bcd60e51b815260206004820152601b60248201527f50726520657870616e73696f6e20726f6f74206d69736d617463680000000000604482015260640161062e565b8461377c83613fe2565b146137d35760405162461bcd60e51b815260206004820152602160248201527f5072652073697a6520646f6573206e6f74206d6174636820657870616e73696f6044820152603760f91b606482015260840161062e565b8285106138225760405162461bcd60e51b815260206004820181905260248201527f5072652073697a65206e6f74206c657373207468616e20706f73742073697a65604482015260640161062e565b6000859050600080613837856000875161403d565b90505b858310156138ef57600061384e8488614199565b9050845183106138955760405162461bcd60e51b8152602060048201526012602482015271496e646578206f7574206f662072616e676560701b604482015260640161062e565b6138b982828786815181106138ac576138ac6155cc565b602002602001015161427d565b91506001811b6138c981866157c4565b9450878511156138db576138db615a48565b836138e581615637565b945050505061383a565b866138f982613b60565b146139515760405162461bcd60e51b815260206004820152602260248201527f506f737420657870616e73696f6e20726f6f74206e6f7420657175616c20706f6044820152611cdd60f21b606482015260840161062e565b8351821461399a5760405162461bcd60e51b8152602060048201526016602482015275496e636f6d706c6574652070726f6f6620757361676560501b604482015260640161062e565b505050505050505050565b6139ad614ae6565b6139ba87878787876147b9565b50604080516101e08101825296875260208701959095529385019290925260608401526080830152600060a0830181905260c0830181905260e0830181905261010083018190526001600160401b0343166101208401526101408301819052610160830181905260ff9091166101808301526101a082018190526101c082015290565b6000610e4e82610180015183600001518460400151856020015186608001518760600151611926565b6005830154151580613a7b5750600683015415155b15613abd57613a89836123e0565b600584015460068501546040516308b0e71d60e41b815260048101939093526024830191909152604482015260640161062e565b6005830191909155600690910155565b613ad5614b60565b60405180604001604052808360000151815260200183602001516002811115613b0057613b006150ab565b905292915050565b600080613b168460016155f8565b9050613b22818461196b565b509392505050565b6060611d1e83600084604051602001613b4591815260200190565b6040516020818303038152906040528051906020012061427d565b600080825111613bab5760405162461bcd60e51b815260206004820152601660248201527522b6b83a3c9036b2b935b6329032bc3830b739b4b7b760511b604482015260640161062e565b604082511115613bfd5760405162461bcd60e51b815260206004820152601a60248201527f4d65726b6c6520657870616e73696f6e20746f6f206c61726765000000000000604482015260640161062e565b6000805b8351811015613cf2576000848281518110613c1e57613c1e6155cc565b60200260200101519050826000801b03613c8a578015613c855780925060018551613c499190615624565b8214613c8557604051613c6c908490600090602001918252602082015260400190565b6040516020818303038152906040528051906020012092505b613cdf565b8015613ca9576040805160208101839052908101849052606001613c6c565b604051613cc6908490600090602001918252602082015260400190565b6040516020818303038152906040528051906020012092505b5080613cea81615637565b915050613c01565b5092915050565b613d01614ae6565b6001600160a01b038316613d285760405163f289e65760e01b815260040160405180910390fd5b6000849003613d4a57604051636932bcfd60e01b815260040160405180910390fd5b613d5789898989896147b9565b604051806101e001604052808a81526020018981526020018881526020018781526020018681526020016000801b81526020016000801b8152602001858152602001846001600160a01b03168152602001436001600160401b0316815260200160006001600160401b0316815260200160006001811115613dda57613dda6150ab565b815260ff84166020820152600060408201819052606090910152905098975050505050505050565b6060611d1b8484600085614849565b8251600090610100811115613e4457604051637ed6198f60e11b815260048101829052610100602482015260440161062e565b8260005b82811015613ea9576000878281518110613e6457613e646155cc565b60200260200101519050816001901b8716600003613e9057826000528060205260406000209250613ea0565b8060005282602052604060002092505b50600101613e48565b5095945050505050565b600081600003613f055760405162461bcd60e51b815260206004820152601c60248201527f5a65726f20686173206e6f207369676e69666963616e74206269747300000000604482015260640161062e565b600160801b8210613f2357608091821c91613f2090826157c4565b90505b600160401b8210613f4157604091821c91613f3e90826157c4565b90505b6401000000008210613f6057602091821c91613f5d90826157c4565b90505b620100008210613f7d57601091821c91613f7a90826157c4565b90505b6101008210613f9957600891821c91613f9690826157c4565b90505b60108210613fb457600491821c91613fb190826157c4565b90505b60048210613fcf57600291821c91613fcc90826157c4565b90505b60028210610ed357610e4e6001826157c4565b600080805b8351811015613cf257838181518110614002576140026155cc565b60200260200101516000801b1461402b5761401e816002615b42565b61402890836157c4565b91505b8061403581615637565b915050613fe7565b60608183106140885760405162461bcd60e51b815260206004820152601760248201527614dd185c9d081b9bdd081b195cdcc81d1a185b88195b99604a1b604482015260640161062e565b83518211156140e35760405162461bcd60e51b815260206004820152602160248201527f456e64206e6f74206c657373206f7220657175616c207468616e206c656e67746044820152600d60fb1b606482015260840161062e565b60006140ef8484615624565b6001600160401b0381111561410657614106615240565b60405190808252806020026020018201604052801561412f578160200160208202803683370190505b509050835b838110156141905785818151811061414e5761414e6155cc565b60200260200101518286836141639190615624565b81518110614173576141736155cc565b60209081029190910101528061418881615637565b915050614134565b50949350505050565b60008183106141e45760405162461bcd60e51b815260206004820152601760248201527614dd185c9d081b9bdd081b195cdcc81d1a185b88195b99604a1b604482015260640161062e565b60006141f1838518613eb3565b90506000600161420183826157c4565b6001901b61420f9190615624565b9050848116848216811561422657611caf8261496f565b801561423557611caf81613eb3565b60405162461bcd60e51b815260206004820152601b60248201527f426f7468207920616e64207a2063616e6e6f74206265207a65726f0000000000604482015260640161062e565b6060604083106142c05760405162461bcd60e51b815260206004820152600e60248201526d098caeccad840e8dede40d0d2ced60931b604482015260640161062e565b60008290036143115760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420617070656e6420656d70747920737562747265650000000000604482015260640161062e565b6040845111156143635760405162461bcd60e51b815260206004820152601a60248201527f4d65726b6c6520657870616e73696f6e20746f6f206c61726765000000000000604482015260640161062e565b83516000036143e15760006143798460016157c4565b6001600160401b0381111561439057614390615240565b6040519080825280602002602001820160405280156143b9578160200160208202803683370190505b509050828185815181106143cf576143cf6155cc565b60209081029190910101529050611d1e565b8351831061444f5760405162461bcd60e51b815260206004820152603560248201527f4c6576656c2067726561746572207468616e2068696768657374206c6576656c6044820152741037b31031bab93932b73a1032bc3830b739b4b7b760591b606482015260840161062e565b81600061445b86613fe2565b9050600061446a866002615b42565b61447490836157c4565b9050600061448183613eb3565b61448a83613eb3565b116144d75787516001600160401b038111156144a8576144a8615240565b6040519080825280602002602001820160405280156144d1578160200160208202803683370190505b50614526565b87516144e49060016157c4565b6001600160401b038111156144fb576144fb615240565b604051908082528060200260200182016040528015614524578160200160208202803683370190505b505b905060408151111561457a5760405162461bcd60e51b815260206004820152601c60248201527f417070656e642063726561746573206f76657273697a65207472656500000000604482015260640161062e565b60005b885181101561471b5787811015614609578881815181106145a0576145a06155cc565b60200260200101516000801b146146045760405162461bcd60e51b815260206004820152602260248201527f417070656e642061626f7665206c65617374207369676e69666963616e7420626044820152611a5d60f21b606482015260840161062e565b614709565b600085900361464f57888181518110614624576146246155cc565b602002602001015182828151811061463e5761463e6155cc565b602002602001018181525050614709565b888181518110614661576146616155cc565b60200260200101516000801b036146995784828281518110614685576146856155cc565b602090810291909101015260009450614709565b6000801b8282815181106146af576146af6155cc565b6020026020010181815250508881815181106146cd576146cd6155cc565b6020026020010151856040516020016146f0929190918252602082015260400190565b6040516020818303038152906040528051906020012094505b8061471381615637565b91505061457d565b50831561474f578381600183516147329190615624565b81518110614742576147426155cc565b6020026020010181815250505b806001825161475e9190615624565b8151811061476e5761476e6155cc565b60200260200101516000801b036105105760405162461bcd60e51b815260206004820152600f60248201526e4c61737420656e747279207a65726f60881b604482015260640161062e565b60008590036147db5760405163235e76ef60e21b815260040160405180910390fd5b828111614805576040516308183ebd60e21b8152600481018490526024810182905260440161062e565b6000849003614827576040516320f1a0f960e21b815260040160405180910390fd5b60008290036110f857604051635cb6e5bb60e01b815260040160405180910390fd5b6060824710156148aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161062e565b6001600160a01b0385163b6149015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161062e565b600080866001600160a01b0316858760405161491d9190615b72565b60006040518083038185875af1925050503d806000811461495a576040519150601f19603f3d011682016040523d82523d6000602084013e61495f565b606091505b50915091506105108282866149dc565b60008082116149c05760405162461bcd60e51b815260206004820152601c60248201527f5a65726f20686173206e6f207369676e69666963616e74206269747300000000604482015260640161062e565b600082806149cf600182615624565b16189050611d1e81613eb3565b606083156149eb575081611d1e565b8251156149fb5782518084602001fd5b8160405162461bcd60e51b815260040161062e9190615b8e565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b6040805160c081018252600080825260208201819052918101829052606081019190915260808101614a89614b7f565b8152602001614a96614b7f565b905290565b828054828255906000526020600020908101928215614ad6579160200282015b82811115614ad6578235825591602001919060010190614abb565b50614ae2929150614ba6565b5090565b604080516101e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081018290529061016082019081526000602082018190526040820181905260609091015290565b6040518060400160405280614b73614bbb565b81526020016000905290565b6040518060600160405280614b92614bbb565b815260200160008152600060209091015290565b5b80821115614ae25760008155600101614ba7565b6040518060400160405280614bce614bd7565b8152602001614a965b60405180604001604052806002906020820280368337509192915050565b803560ff81168114610ed357600080fd5b60008060008060008060c08789031215614c1f57600080fd5b614c2887614bf5565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600060208284031215614c6257600080fd5b81356001600160401b03811115614c7857600080fd5b820160c08185031215611d1e57600080fd5b6001600160a01b0381168114614c9f57600080fd5b50565b6001600160401b0381168114614c9f57600080fd5b60008083601f840112614cc957600080fd5b5081356001600160401b03811115614ce057600080fd5b6020830191508360208260051b8501011115614cfb57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215614d2457600080fd5b8b35614d2f81614c8a565b9a5060208c0135614d3f81614ca2565b995060408c0135614d4f81614c8a565b985060608c0135975060808c0135965060a08c0135955060c08c0135614d7481614c8a565b945060e08c0135614d8481614c8a565b9350614d936101008d01614bf5565b92506101208c01356001600160401b03811115614daf57600080fd5b614dbb8e828f01614cb7565b915080935050809150509295989b509295989b9093969950565b600060208284031215614de757600080fd5b5035919050565b60038110614c9f57600080fd5b8035610ed381614dee565b600060208284031215614e1857600080fd5b8135611d1e81614dee565b600080600060408486031215614e3857600080fd5b83356001600160401b03811115614e4e57600080fd5b614e5a86828701614cb7565b909790965060209590950135949350505050565b60008060408385031215614e8157600080fd5b8235614e8c81614c8a565b946020939093013593505050565b600080600060608486031215614eaf57600080fd5b505081359360208301359350604090920135919050565b6000806000806000806000878903610120811215614ee357600080fd5b8835975060208901356001600160401b0380821115614f0157600080fd5b908a01906040828d031215614f1557600080fd5b81985060a0603f1984011215614f2a57600080fd5b60408b01975060e08b0135925080831115614f4457600080fd5b614f508c848d01614cb7565b90975095506101008b0135925086915080831115614f6d57600080fd5b5050614f7b8a828b01614cb7565b989b979a50959850939692959293505050565b600080828403610120811215614fa357600080fd5b83359250610100601f1982011215614fba57600080fd5b506020830190509250929050565b600080600080600060a08688031215614fe057600080fd5b614fe986614bf5565b97602087013597506040870135966060810135965060800135945092505050565b6000806000806060858703121561502057600080fd5b843593506020850135925060408501356001600160401b038082111561504557600080fd5b818701915087601f83011261505957600080fd5b81358181111561506857600080fd5b88602082850101111561507a57600080fd5b95989497505060200194505050565b6000806040838503121561509c57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b600281106150d1576150d16150ab565b9052565b60006101e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151615143828501826001600160a01b03169052565b5050610120838101516001600160401b038116848301525050610140838101516001600160401b03811684830152505061016080840151615186828501826150c1565b50506101808381015160ff16908301526101a0808401511515908301526101c0808401516001600160401b03811682850152611cc7565b6000602082840312156151cf57600080fd5b81518015158114611d1e57600080fd5b6000602082840312156151f157600080fd5b611d1e82614bf5565b6000808335601e1984360301811261521157600080fd5b8301803591506001600160401b0382111561522b57600080fd5b602001915036819003821315614cfb57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561527857615278615240565b60405290565b604080519081016001600160401b038111828210171561527857615278615240565b604051601f8201601f191681016001600160401b03811182821017156152c8576152c8615240565b604052919050565b60006001600160401b038211156152e9576152e9615240565b5060051b60200190565b600082601f83011261530457600080fd5b81356020615319615314836152d0565b6152a0565b82815260059290921b8401810191818101908684111561533857600080fd5b8286015b84811015615353578035835291830191830161533c565b509695505050505050565b600082601f83011261536f57600080fd5b61537761527e565b80604084018581111561538957600080fd5b845b81811015612e2157803561539e81614ca2565b84526020938401930161538b565b60008183036101008112156153c057600080fd5b6153c8615256565b915060c08112156153d857600080fd5b6153e0615256565b60808212156153ee57600080fd5b6153f661527e565b915084601f85011261540757600080fd5b61540f61527e565b80604086018781111561542157600080fd5b865b8181101561543b578035845260209384019301615423565b50818552615449888261535e565b602086015250505081815261546060808501614dfb565b602082015260a08401356040820152808352505060c0820135602082015260e0820135604082015292915050565b600080600061022084860312156154a457600080fd5b83356001600160401b038111156154ba57600080fd5b6154c6868287016152f3565b9350506154d685602086016153ac565b91506154e68561012086016153ac565b90509250925092565b80518260005b60028110156155145782518252602092830192909101906001016154f5565b5050506020808201516040840160005b600281101561554a5782516001600160401b031682529183019190830190600101615524565b505050505050565b60038110614c9f57614c9f6150ab565b60006101208201905085825261557c6020830186516154ef565b602085015161558a81615552565b60a08301526040949094015160c082015260e081019290925261010090910152919050565b6000602082840312156155c157600080fd5b8151611d1e81614ca2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60ff8181168382160190811115610e4e57610e4e6155e2565b6020810161561e83615552565b91905290565b81810381811115610e4e57610e4e6155e2565b600060018201615649576156496155e2565b5060010190565b600060c0820190508382528235602083015260208301356040830152604083013561567a81614c8a565b6001600160a01b031660608381019190915283013561569881614ca2565b6001600160401b038082166080850152608085013591506156b882614ca2565b80821660a085015250509392505050565b6000602082840312156156db57600080fd5b8135611d1e81614ca2565b6000602082840312156156f857600080fd5b8151611d1e81614c8a565b8481526101208101602060408682850137606083016040870160005b600281101561574e57813561573381614ca2565b6001600160401b03168352918301919083019060010161571f565b50505050608085013561576081614dee565b61576981615552565b8060a08401525060a085013560c08301528360e08301528261010083015295945050505050565b6001600160401b03828116828216039080821115613cf257613cf26155e2565b82815260408101611d1e60208301846150c1565b80820180821115610e4e57610e4e6155e2565b8082028115828204841417610e4e57610e4e6155e2565b8551815260018060a01b0360208701511660208201526040860151604082015284606082015283608082015260c060a08201528160c0820152818360e0830137600081830160e090810191909152601f909201601f19160101949350505050565b60006020828403121561586157600080fd5b5051919050565b600082601f83011261587957600080fd5b81516020615889615314836152d0565b82815260059290921b840181019181810190868411156158a857600080fd5b8286015b8481101561535357805183529183019183016158ac565b600080604083850312156158d657600080fd5b82516001600160401b03808211156158ed57600080fd5b6158f986838701615868565b9350602085015191508082111561590f57600080fd5b5061591c85828601615868565b9150509250929050565b600060a0820190506159398284516154ef565b602083015161594781615552565b8060808401525092915050565b600080600080600060a0868803121561596c57600080fd5b853594506020860135935060408601356001600160401b038082111561599157600080fd5b61599d89838a016152f3565b945060608801359150808211156159b357600080fd5b6159bf89838a016152f3565b935060808801359150808211156159d557600080fd5b506159e2888289016152f3565b9150509295509295909350565b60008060408385031215615a0257600080fd5b82356001600160401b0380821115615a1957600080fd5b615a25868387016152f3565b93506020850135915080821115615a3b57600080fd5b5061591c858286016152f3565b634e487b7160e01b600052600160045260246000fd5b600181815b80851115615a99578160001904821115615a7f57615a7f6155e2565b80851615615a8c57918102915b93841c9390800290615a63565b509250929050565b600082615ab057506001610e4e565b81615abd57506000610e4e565b8160018114615ad35760028114615add57615af9565b6001915050610e4e565b60ff841115615aee57615aee6155e2565b50506001821b610e4e565b5060208310610133831016604e8410600b8410161715615b1c575081810a610e4e565b615b268383615a5e565b8060001904821115615b3a57615b3a6155e2565b029392505050565b6000611d1e8383615aa1565b60005b83811015615b69578181015183820152602001615b51565b50506000910152565b60008251615b84818460208701615b4e565b9190910192915050565b6020815260008251806020840152615bad816040850160208701615b4e565b601f01601f1916919091016040019291505056fea2646970667358221220b6687cc94f453c08777c1842acde18083411cc0db049ac81ad8dc48cacb3e96664736f6c63430008110033",
|
1629
|
+
"linkReferences": {},
|
1630
|
+
"deployedLinkReferences": {}
|
1631
|
+
}
|