From 3ef6e336248d1aaaaf1258f8b6e72fd75357a6db Mon Sep 17 00:00:00 2001 From: Matthieu Vachon Date: Mon, 20 Oct 2025 16:31:14 -0400 Subject: [PATCH] Added pre-compiled ABIs & some instructions for interaction To be continued. --- .gitignore | 2 + INSTRUCTIONS.sf.md | 16 + .../AddressAliasHelper.dbg.json | 4 + .../AddressAliasHelper.json | 10 + .../arbitrum/IArbToken.sol/IArbToken.dbg.json | 4 + abis/arbitrum/IArbToken.sol/IArbToken.json | 60 + abis/arbitrum/IBridge.sol/IBridge.dbg.json | 4 + abis/arbitrum/IBridge.sol/IBridge.json | 305 +++ abis/arbitrum/IInbox.sol/IInbox.dbg.json | 4 + abis/arbitrum/IInbox.sol/IInbox.json | 332 +++ .../IMessageProvider.dbg.json | 4 + .../IMessageProvider.json | 43 + abis/arbitrum/IOutbox.sol/IOutbox.dbg.json | 4 + abis/arbitrum/IOutbox.sol/IOutbox.json | 188 ++ .../ITokenGateway.sol/ITokenGateway.dbg.json | 4 + .../ITokenGateway.sol/ITokenGateway.json | 107 + .../L1ArbitrumMessenger.dbg.json | 4 + .../L1ArbitrumMessenger.json | 42 + .../L2ArbitrumMessenger.dbg.json | 4 + .../L2ArbitrumMessenger.json | 42 + .../BancorFormula.sol/BancorFormula.dbg.json | 4 + .../BancorFormula.sol/BancorFormula.json | 243 ++ abis/base/IMulticall.sol/IMulticall.dbg.json | 4 + abis/base/IMulticall.sol/IMulticall.json | 30 + abis/base/Multicall.sol/Multicall.dbg.json | 4 + abis/base/Multicall.sol/Multicall.json | 30 + abis/curation/Curation.sol/Curation.dbg.json | 4 + abis/curation/Curation.sol/Curation.json | 606 +++++ .../CurationV1Storage.dbg.json | 4 + .../CurationV1Storage.json | 450 ++++ .../CurationV2Storage.dbg.json | 4 + .../CurationV2Storage.json | 450 ++++ .../CurationV3Storage.dbg.json | 4 + .../CurationV3Storage.json | 463 ++++ .../GraphCurationToken.dbg.json | 4 + .../GraphCurationToken.json | 414 ++++ .../curation/ICuration.sol/ICuration.dbg.json | 4 + abis/curation/ICuration.sol/ICuration.json | 291 +++ .../IGraphCurationToken.dbg.json | 4 + .../IGraphCurationToken.json | 243 ++ abis/discovery/GNS.sol/GNS.dbg.json | 4 + abis/discovery/GNS.sol/GNS.json | 1173 +++++++++ .../GNSStorage.sol/GNSV1Storage.dbg.json | 4 + .../GNSStorage.sol/GNSV1Storage.json | 170 ++ .../GNSStorage.sol/GNSV2Storage.dbg.json | 4 + .../GNSStorage.sol/GNSV2Storage.json | 251 ++ .../GNSStorage.sol/GNSV3Storage.dbg.json | 4 + .../GNSStorage.sol/GNSV3Storage.json | 264 +++ abis/discovery/IGNS.sol/IGNS.dbg.json | 4 + abis/discovery/IGNS.sol/IGNS.json | 472 ++++ .../IServiceRegistry.dbg.json | 4 + .../IServiceRegistry.json | 91 + .../ISubgraphNFT.sol/ISubgraphNFT.dbg.json | 4 + .../ISubgraphNFT.sol/ISubgraphNFT.json | 403 ++++ .../ISubgraphNFTDescriptor.dbg.json | 4 + .../ISubgraphNFTDescriptor.json | 45 + abis/discovery/L1GNS.sol/L1GNS.dbg.json | 4 + abis/discovery/L1GNS.sol/L1GNS.json | 1320 +++++++++++ .../L1GNSStorage.sol/L1GNSV1Storage.dbg.json | 4 + .../L1GNSStorage.sol/L1GNSV1Storage.json | 30 + .../ServiceRegistry.dbg.json | 4 + .../ServiceRegistry.sol/ServiceRegistry.json | 275 +++ .../ServiceRegistryV1Storage.dbg.json | 4 + .../ServiceRegistryV1Storage.json | 113 + .../SubgraphNFT.sol/SubgraphNFT.dbg.json | 4 + .../SubgraphNFT.sol/SubgraphNFT.json | 664 ++++++ .../SubgraphNFTDescriptor.dbg.json | 4 + .../SubgraphNFTDescriptor.json | 45 + .../EthereumDIDRegistry.dbg.json | 4 + .../EthereumDIDRegistry.json | 559 +++++ .../IEthereumDIDRegistry.dbg.json | 4 + .../IEthereumDIDRegistry.json | 58 + .../DisputeManager.dbg.json | 4 + .../DisputeManager.sol/DisputeManager.json | 826 +++++++ .../DisputeManagerV1Storage.dbg.json | 4 + .../DisputeManagerV1Storage.json | 198 ++ .../IDisputeManager.dbg.json | 4 + .../IDisputeManager.sol/IDisputeManager.json | 378 +++ .../EpochManager.sol/EpochManager.dbg.json | 4 + .../epochs/EpochManager.sol/EpochManager.json | 364 +++ .../EpochManagerV1Storage.dbg.json | 4 + .../EpochManagerV1Storage.json | 141 ++ .../IEpochManager.sol/IEpochManager.dbg.json | 4 + .../IEpochManager.sol/IEpochManager.json | 147 ++ .../BridgeEscrow.sol/BridgeEscrow.dbg.json | 4 + .../BridgeEscrow.sol/BridgeEscrow.json | 159 ++ .../GraphTokenGateway.dbg.json | 4 + .../GraphTokenGateway.json | 339 +++ .../ICallhookReceiver.dbg.json | 4 + .../ICallhookReceiver.json | 34 + .../L1GraphTokenGateway.dbg.json | 4 + .../L1GraphTokenGateway.json | 910 +++++++ .../Controller.sol/Controller.dbg.json | 4 + .../governance/Controller.sol/Controller.json | 349 +++ .../governance/Governed.sol/Governed.dbg.json | 4 + abis/governance/Governed.sol/Governed.json | 95 + .../IController.sol/IController.dbg.json | 4 + .../IController.sol/IController.json | 157 ++ .../governance/IManaged.sol/IManaged.dbg.json | 4 + abis/governance/IManaged.sol/IManaged.json | 44 + abis/governance/Managed.sol/Managed.dbg.json | 4 + abis/governance/Managed.sol/Managed.json | 89 + .../governance/Pausable.sol/Pausable.dbg.json | 4 + abis/governance/Pausable.sol/Pausable.json | 95 + .../IL2Curation.sol/IL2Curation.dbg.json | 4 + .../curation/IL2Curation.sol/IL2Curation.json | 96 + .../L2Curation.sol/L2Curation.dbg.json | 4 + .../curation/L2Curation.sol/L2Curation.json | 707 ++++++ abis/l2/discovery/IL2GNS.sol/IL2GNS.dbg.json | 4 + abis/l2/discovery/IL2GNS.sol/IL2GNS.json | 100 + abis/l2/discovery/L2GNS.sol/L2GNS.dbg.json | 4 + abis/l2/discovery/L2GNS.sol/L2GNS.json | 1417 +++++++++++ .../L2GNSStorage.sol/L2GNSV1Storage.dbg.json | 4 + .../L2GNSStorage.sol/L2GNSV1Storage.json | 40 + .../L2GraphTokenGateway.dbg.json | 4 + .../L2GraphTokenGateway.json | 647 +++++ .../IL2Staking.sol/IL2Staking.dbg.json | 4 + .../l2/staking/IL2Staking.sol/IL2Staking.json | 1913 +++++++++++++++ .../IL2StakingBase.dbg.json | 4 + .../IL2StakingBase.sol/IL2StakingBase.json | 59 + .../IL2StakingTypes.dbg.json | 4 + .../IL2StakingTypes.sol/IL2StakingTypes.json | 10 + .../staking/L2Staking.sol/L2Staking.dbg.json | 4 + abis/l2/staking/L2Staking.sol/L2Staking.json | 1244 ++++++++++ .../GraphTokenUpgradeable.dbg.json | 4 + .../GraphTokenUpgradeable.json | 585 +++++ .../L2GraphToken.sol/L2GraphToken.dbg.json | 4 + .../token/L2GraphToken.sol/L2GraphToken.json | 750 ++++++ .../Base58Encoder.sol/Base58Encoder.dbg.json | 4 + .../Base58Encoder.sol/Base58Encoder.json | 10 + .../HexStrings.sol/HexStrings.dbg.json | 4 + abis/libraries/HexStrings.sol/HexStrings.json | 10 + .../AllocationExchange.dbg.json | 4 + .../AllocationExchange.json | 319 +++ .../IRewardsIssuer.dbg.json | 4 + .../IRewardsIssuer.sol/IRewardsIssuer.json | 74 + .../IRewardsManager.dbg.json | 4 + .../IRewardsManager.sol/IRewardsManager.json | 287 +++ .../RewardsManager.dbg.json | 4 + .../RewardsManager.sol/RewardsManager.json | 622 +++++ .../RewardsManagerV1Storage.dbg.json | 4 + .../RewardsManagerV1Storage.json | 181 ++ .../RewardsManagerV2Storage.dbg.json | 4 + .../RewardsManagerV2Storage.json | 194 ++ .../RewardsManagerV3Storage.dbg.json | 4 + .../RewardsManagerV3Storage.json | 194 ++ .../RewardsManagerV4Storage.dbg.json | 4 + .../RewardsManagerV4Storage.json | 207 ++ .../RewardsManagerV5Storage.dbg.json | 4 + .../RewardsManagerV5Storage.json | 220 ++ .../SubgraphAvailabilityManager.dbg.json | 4 + .../SubgraphAvailabilityManager.json | 419 ++++ .../IL1GraphTokenLockTransferTool.dbg.json | 4 + .../IL1GraphTokenLockTransferTool.json | 48 + .../IL1Staking.sol/IL1Staking.dbg.json | 4 + abis/staking/IL1Staking.sol/IL1Staking.json | 2107 +++++++++++++++++ .../IL1StakingBase.dbg.json | 4 + .../IL1StakingBase.sol/IL1StakingBase.json | 253 ++ abis/staking/IStaking.sol/IStaking.dbg.json | 4 + abis/staking/IStaking.sol/IStaking.json | 1865 +++++++++++++++ .../IStakingBase.sol/IStakingBase.dbg.json | 4 + .../IStakingBase.sol/IStakingBase.json | 1011 ++++++++ .../IStakingData.sol/IStakingData.dbg.json | 4 + .../IStakingData.sol/IStakingData.json | 10 + .../IStakingExtension.dbg.json | 4 + .../IStakingExtension.json | 813 +++++++ abis/staking/L1Staking.sol/L1Staking.dbg.json | 4 + abis/staking/L1Staking.sol/L1Staking.json | 1426 +++++++++++ .../L1StakingV1Storage.dbg.json | 4 + .../L1StakingV1Storage.json | 30 + abis/staking/Staking.sol/Staking.dbg.json | 4 + abis/staking/Staking.sol/Staking.json | 1143 +++++++++ .../StakingExtension.dbg.json | 4 + .../StakingExtension.json | 950 ++++++++ .../StakingV1Storage.dbg.json | 4 + .../StakingStorage.sol/StakingV1Storage.json | 89 + .../StakingV2Storage.dbg.json | 4 + .../StakingStorage.sol/StakingV2Storage.json | 89 + .../StakingV3Storage.dbg.json | 4 + .../StakingStorage.sol/StakingV3Storage.json | 89 + .../StakingV4Storage.dbg.json | 4 + .../StakingStorage.sol/StakingV4Storage.json | 89 + .../Exponential.sol/LibExponential.dbg.json | 4 + .../libs/Exponential.sol/LibExponential.json | 55 + .../staking/libs/IStakes.sol/IStakes.dbg.json | 4 + abis/staking/libs/IStakes.sol/IStakes.json | 10 + .../LibFixedMath.sol/LibFixedMath.dbg.json | 4 + .../libs/LibFixedMath.sol/LibFixedMath.json | 10 + .../libs/MathUtils.sol/MathUtils.dbg.json | 4 + .../staking/libs/MathUtils.sol/MathUtils.json | 10 + abis/staking/libs/Stakes.sol/Stakes.dbg.json | 4 + abis/staking/libs/Stakes.sol/Stakes.json | 10 + .../CallhookReceiverMock.dbg.json | 4 + .../CallhookReceiverMock.json | 65 + .../GovernedMock.sol/GovernedMock.dbg.json | 4 + abis/tests/GovernedMock.sol/GovernedMock.json | 100 + ...GraphTokenLockTransferToolBadMock.dbg.json | 4 + .../L1GraphTokenLockTransferToolBadMock.json | 66 + .../L1GraphTokenLockTransferToolMock.dbg.json | 4 + .../L1GraphTokenLockTransferToolMock.json | 66 + .../LegacyGNSMock.sol/LegacyGNSMock.dbg.json | 4 + .../LegacyGNSMock.sol/LegacyGNSMock.json | 1376 +++++++++++ .../ArbSysMock.sol/ArbSysMock.dbg.json | 4 + .../arbitrum/ArbSysMock.sol/ArbSysMock.json | 66 + .../BridgeMock.sol/BridgeMock.dbg.json | 4 + .../arbitrum/BridgeMock.sol/BridgeMock.json | 344 +++ .../arbitrum/InboxMock.sol/InboxMock.dbg.json | 4 + .../arbitrum/InboxMock.sol/InboxMock.json | 345 +++ .../OutboxMock.sol/OutboxMock.dbg.json | 4 + .../arbitrum/OutboxMock.sol/OutboxMock.json | 272 +++ abis/tests/ens/IENS.sol/IENS.dbg.json | 4 + abis/tests/ens/IENS.sol/IENS.json | 63 + .../IPublicResolver.dbg.json | 4 + .../IPublicResolver.sol/IPublicResolver.json | 58 + .../ITestRegistrar.dbg.json | 4 + .../ITestRegistrar.sol/ITestRegistrar.json | 29 + abis/token/GraphToken.sol/GraphToken.dbg.json | 4 + abis/token/GraphToken.sol/GraphToken.json | 565 +++++ .../IGraphToken.sol/IGraphToken.dbg.json | 4 + abis/token/IGraphToken.sol/IGraphToken.json | 386 +++ .../GraphProxy.sol/GraphProxy.dbg.json | 4 + abis/upgrades/GraphProxy.sol/GraphProxy.json | 177 ++ .../GraphProxyAdmin.dbg.json | 4 + .../GraphProxyAdmin.sol/GraphProxyAdmin.json | 234 ++ .../GraphProxyStorage.dbg.json | 4 + .../GraphProxyStorage.json | 68 + .../GraphUpgradeable.dbg.json | 4 + .../GraphUpgradeable.json | 42 + .../IGraphProxy.sol/IGraphProxy.dbg.json | 4 + .../upgrades/IGraphProxy.sol/IGraphProxy.json | 96 + abis/utils/TokenUtils.sol/TokenUtils.dbg.json | 4 + abis/utils/TokenUtils.sol/TokenUtils.json | 10 + 232 files changed, 39925 insertions(+) create mode 100644 INSTRUCTIONS.sf.md create mode 100644 abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.dbg.json create mode 100644 abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.json create mode 100644 abis/arbitrum/IArbToken.sol/IArbToken.dbg.json create mode 100644 abis/arbitrum/IArbToken.sol/IArbToken.json create mode 100644 abis/arbitrum/IBridge.sol/IBridge.dbg.json create mode 100644 abis/arbitrum/IBridge.sol/IBridge.json create mode 100644 abis/arbitrum/IInbox.sol/IInbox.dbg.json create mode 100644 abis/arbitrum/IInbox.sol/IInbox.json create mode 100644 abis/arbitrum/IMessageProvider.sol/IMessageProvider.dbg.json create mode 100644 abis/arbitrum/IMessageProvider.sol/IMessageProvider.json create mode 100644 abis/arbitrum/IOutbox.sol/IOutbox.dbg.json create mode 100644 abis/arbitrum/IOutbox.sol/IOutbox.json create mode 100644 abis/arbitrum/ITokenGateway.sol/ITokenGateway.dbg.json create mode 100644 abis/arbitrum/ITokenGateway.sol/ITokenGateway.json create mode 100644 abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.dbg.json create mode 100644 abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.json create mode 100644 abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.dbg.json create mode 100644 abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.json create mode 100644 abis/bancor/BancorFormula.sol/BancorFormula.dbg.json create mode 100644 abis/bancor/BancorFormula.sol/BancorFormula.json create mode 100644 abis/base/IMulticall.sol/IMulticall.dbg.json create mode 100644 abis/base/IMulticall.sol/IMulticall.json create mode 100644 abis/base/Multicall.sol/Multicall.dbg.json create mode 100644 abis/base/Multicall.sol/Multicall.json create mode 100644 abis/curation/Curation.sol/Curation.dbg.json create mode 100644 abis/curation/Curation.sol/Curation.json create mode 100644 abis/curation/CurationStorage.sol/CurationV1Storage.dbg.json create mode 100644 abis/curation/CurationStorage.sol/CurationV1Storage.json create mode 100644 abis/curation/CurationStorage.sol/CurationV2Storage.dbg.json create mode 100644 abis/curation/CurationStorage.sol/CurationV2Storage.json create mode 100644 abis/curation/CurationStorage.sol/CurationV3Storage.dbg.json create mode 100644 abis/curation/CurationStorage.sol/CurationV3Storage.json create mode 100644 abis/curation/GraphCurationToken.sol/GraphCurationToken.dbg.json create mode 100644 abis/curation/GraphCurationToken.sol/GraphCurationToken.json create mode 100644 abis/curation/ICuration.sol/ICuration.dbg.json create mode 100644 abis/curation/ICuration.sol/ICuration.json create mode 100644 abis/curation/IGraphCurationToken.sol/IGraphCurationToken.dbg.json create mode 100644 abis/curation/IGraphCurationToken.sol/IGraphCurationToken.json create mode 100644 abis/discovery/GNS.sol/GNS.dbg.json create mode 100644 abis/discovery/GNS.sol/GNS.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV1Storage.dbg.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV1Storage.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV2Storage.dbg.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV2Storage.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV3Storage.dbg.json create mode 100644 abis/discovery/GNSStorage.sol/GNSV3Storage.json create mode 100644 abis/discovery/IGNS.sol/IGNS.dbg.json create mode 100644 abis/discovery/IGNS.sol/IGNS.json create mode 100644 abis/discovery/IServiceRegistry.sol/IServiceRegistry.dbg.json create mode 100644 abis/discovery/IServiceRegistry.sol/IServiceRegistry.json create mode 100644 abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.dbg.json create mode 100644 abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.json create mode 100644 abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.dbg.json create mode 100644 abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.json create mode 100644 abis/discovery/L1GNS.sol/L1GNS.dbg.json create mode 100644 abis/discovery/L1GNS.sol/L1GNS.json create mode 100644 abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.dbg.json create mode 100644 abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.json create mode 100644 abis/discovery/ServiceRegistry.sol/ServiceRegistry.dbg.json create mode 100644 abis/discovery/ServiceRegistry.sol/ServiceRegistry.json create mode 100644 abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.dbg.json create mode 100644 abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.json create mode 100644 abis/discovery/SubgraphNFT.sol/SubgraphNFT.dbg.json create mode 100644 abis/discovery/SubgraphNFT.sol/SubgraphNFT.json create mode 100644 abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.dbg.json create mode 100644 abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.json create mode 100644 abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.dbg.json create mode 100644 abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.json create mode 100644 abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.dbg.json create mode 100644 abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.json create mode 100644 abis/disputes/DisputeManager.sol/DisputeManager.dbg.json create mode 100644 abis/disputes/DisputeManager.sol/DisputeManager.json create mode 100644 abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.dbg.json create mode 100644 abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.json create mode 100644 abis/disputes/IDisputeManager.sol/IDisputeManager.dbg.json create mode 100644 abis/disputes/IDisputeManager.sol/IDisputeManager.json create mode 100644 abis/epochs/EpochManager.sol/EpochManager.dbg.json create mode 100644 abis/epochs/EpochManager.sol/EpochManager.json create mode 100644 abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.dbg.json create mode 100644 abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.json create mode 100644 abis/epochs/IEpochManager.sol/IEpochManager.dbg.json create mode 100644 abis/epochs/IEpochManager.sol/IEpochManager.json create mode 100644 abis/gateway/BridgeEscrow.sol/BridgeEscrow.dbg.json create mode 100644 abis/gateway/BridgeEscrow.sol/BridgeEscrow.json create mode 100644 abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.dbg.json create mode 100644 abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.json create mode 100644 abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.dbg.json create mode 100644 abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.json create mode 100644 abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.dbg.json create mode 100644 abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.json create mode 100644 abis/governance/Controller.sol/Controller.dbg.json create mode 100644 abis/governance/Controller.sol/Controller.json create mode 100644 abis/governance/Governed.sol/Governed.dbg.json create mode 100644 abis/governance/Governed.sol/Governed.json create mode 100644 abis/governance/IController.sol/IController.dbg.json create mode 100644 abis/governance/IController.sol/IController.json create mode 100644 abis/governance/IManaged.sol/IManaged.dbg.json create mode 100644 abis/governance/IManaged.sol/IManaged.json create mode 100644 abis/governance/Managed.sol/Managed.dbg.json create mode 100644 abis/governance/Managed.sol/Managed.json create mode 100644 abis/governance/Pausable.sol/Pausable.dbg.json create mode 100644 abis/governance/Pausable.sol/Pausable.json create mode 100644 abis/l2/curation/IL2Curation.sol/IL2Curation.dbg.json create mode 100644 abis/l2/curation/IL2Curation.sol/IL2Curation.json create mode 100644 abis/l2/curation/L2Curation.sol/L2Curation.dbg.json create mode 100644 abis/l2/curation/L2Curation.sol/L2Curation.json create mode 100644 abis/l2/discovery/IL2GNS.sol/IL2GNS.dbg.json create mode 100644 abis/l2/discovery/IL2GNS.sol/IL2GNS.json create mode 100644 abis/l2/discovery/L2GNS.sol/L2GNS.dbg.json create mode 100644 abis/l2/discovery/L2GNS.sol/L2GNS.json create mode 100644 abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.dbg.json create mode 100644 abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.json create mode 100644 abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.dbg.json create mode 100644 abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.json create mode 100644 abis/l2/staking/IL2Staking.sol/IL2Staking.dbg.json create mode 100644 abis/l2/staking/IL2Staking.sol/IL2Staking.json create mode 100644 abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.dbg.json create mode 100644 abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.json create mode 100644 abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.dbg.json create mode 100644 abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.json create mode 100644 abis/l2/staking/L2Staking.sol/L2Staking.dbg.json create mode 100644 abis/l2/staking/L2Staking.sol/L2Staking.json create mode 100644 abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.dbg.json create mode 100644 abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.json create mode 100644 abis/l2/token/L2GraphToken.sol/L2GraphToken.dbg.json create mode 100644 abis/l2/token/L2GraphToken.sol/L2GraphToken.json create mode 100644 abis/libraries/Base58Encoder.sol/Base58Encoder.dbg.json create mode 100644 abis/libraries/Base58Encoder.sol/Base58Encoder.json create mode 100644 abis/libraries/HexStrings.sol/HexStrings.dbg.json create mode 100644 abis/libraries/HexStrings.sol/HexStrings.json create mode 100644 abis/payments/AllocationExchange.sol/AllocationExchange.dbg.json create mode 100644 abis/payments/AllocationExchange.sol/AllocationExchange.json create mode 100644 abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.dbg.json create mode 100644 abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.json create mode 100644 abis/rewards/IRewardsManager.sol/IRewardsManager.dbg.json create mode 100644 abis/rewards/IRewardsManager.sol/IRewardsManager.json create mode 100644 abis/rewards/RewardsManager.sol/RewardsManager.dbg.json create mode 100644 abis/rewards/RewardsManager.sol/RewardsManager.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.dbg.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.dbg.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.dbg.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.dbg.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.dbg.json create mode 100644 abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.json create mode 100644 abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.dbg.json create mode 100644 abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.json create mode 100644 abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.dbg.json create mode 100644 abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.json create mode 100644 abis/staking/IL1Staking.sol/IL1Staking.dbg.json create mode 100644 abis/staking/IL1Staking.sol/IL1Staking.json create mode 100644 abis/staking/IL1StakingBase.sol/IL1StakingBase.dbg.json create mode 100644 abis/staking/IL1StakingBase.sol/IL1StakingBase.json create mode 100644 abis/staking/IStaking.sol/IStaking.dbg.json create mode 100644 abis/staking/IStaking.sol/IStaking.json create mode 100644 abis/staking/IStakingBase.sol/IStakingBase.dbg.json create mode 100644 abis/staking/IStakingBase.sol/IStakingBase.json create mode 100644 abis/staking/IStakingData.sol/IStakingData.dbg.json create mode 100644 abis/staking/IStakingData.sol/IStakingData.json create mode 100644 abis/staking/IStakingExtension.sol/IStakingExtension.dbg.json create mode 100644 abis/staking/IStakingExtension.sol/IStakingExtension.json create mode 100644 abis/staking/L1Staking.sol/L1Staking.dbg.json create mode 100644 abis/staking/L1Staking.sol/L1Staking.json create mode 100644 abis/staking/L1StakingStorage.sol/L1StakingV1Storage.dbg.json create mode 100644 abis/staking/L1StakingStorage.sol/L1StakingV1Storage.json create mode 100644 abis/staking/Staking.sol/Staking.dbg.json create mode 100644 abis/staking/Staking.sol/Staking.json create mode 100644 abis/staking/StakingExtension.sol/StakingExtension.dbg.json create mode 100644 abis/staking/StakingExtension.sol/StakingExtension.json create mode 100644 abis/staking/StakingStorage.sol/StakingV1Storage.dbg.json create mode 100644 abis/staking/StakingStorage.sol/StakingV1Storage.json create mode 100644 abis/staking/StakingStorage.sol/StakingV2Storage.dbg.json create mode 100644 abis/staking/StakingStorage.sol/StakingV2Storage.json create mode 100644 abis/staking/StakingStorage.sol/StakingV3Storage.dbg.json create mode 100644 abis/staking/StakingStorage.sol/StakingV3Storage.json create mode 100644 abis/staking/StakingStorage.sol/StakingV4Storage.dbg.json create mode 100644 abis/staking/StakingStorage.sol/StakingV4Storage.json create mode 100644 abis/staking/libs/Exponential.sol/LibExponential.dbg.json create mode 100644 abis/staking/libs/Exponential.sol/LibExponential.json create mode 100644 abis/staking/libs/IStakes.sol/IStakes.dbg.json create mode 100644 abis/staking/libs/IStakes.sol/IStakes.json create mode 100644 abis/staking/libs/LibFixedMath.sol/LibFixedMath.dbg.json create mode 100644 abis/staking/libs/LibFixedMath.sol/LibFixedMath.json create mode 100644 abis/staking/libs/MathUtils.sol/MathUtils.dbg.json create mode 100644 abis/staking/libs/MathUtils.sol/MathUtils.json create mode 100644 abis/staking/libs/Stakes.sol/Stakes.dbg.json create mode 100644 abis/staking/libs/Stakes.sol/Stakes.json create mode 100644 abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.dbg.json create mode 100644 abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.json create mode 100644 abis/tests/GovernedMock.sol/GovernedMock.dbg.json create mode 100644 abis/tests/GovernedMock.sol/GovernedMock.json create mode 100644 abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.dbg.json create mode 100644 abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.json create mode 100644 abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.dbg.json create mode 100644 abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.json create mode 100644 abis/tests/LegacyGNSMock.sol/LegacyGNSMock.dbg.json create mode 100644 abis/tests/LegacyGNSMock.sol/LegacyGNSMock.json create mode 100644 abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.dbg.json create mode 100644 abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.json create mode 100644 abis/tests/arbitrum/BridgeMock.sol/BridgeMock.dbg.json create mode 100644 abis/tests/arbitrum/BridgeMock.sol/BridgeMock.json create mode 100644 abis/tests/arbitrum/InboxMock.sol/InboxMock.dbg.json create mode 100644 abis/tests/arbitrum/InboxMock.sol/InboxMock.json create mode 100644 abis/tests/arbitrum/OutboxMock.sol/OutboxMock.dbg.json create mode 100644 abis/tests/arbitrum/OutboxMock.sol/OutboxMock.json create mode 100644 abis/tests/ens/IENS.sol/IENS.dbg.json create mode 100644 abis/tests/ens/IENS.sol/IENS.json create mode 100644 abis/tests/ens/IPublicResolver.sol/IPublicResolver.dbg.json create mode 100644 abis/tests/ens/IPublicResolver.sol/IPublicResolver.json create mode 100644 abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.dbg.json create mode 100644 abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.json create mode 100644 abis/token/GraphToken.sol/GraphToken.dbg.json create mode 100644 abis/token/GraphToken.sol/GraphToken.json create mode 100644 abis/token/IGraphToken.sol/IGraphToken.dbg.json create mode 100644 abis/token/IGraphToken.sol/IGraphToken.json create mode 100644 abis/upgrades/GraphProxy.sol/GraphProxy.dbg.json create mode 100644 abis/upgrades/GraphProxy.sol/GraphProxy.json create mode 100644 abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.dbg.json create mode 100644 abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.json create mode 100644 abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.dbg.json create mode 100644 abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.json create mode 100644 abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.dbg.json create mode 100644 abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.json create mode 100644 abis/upgrades/IGraphProxy.sol/IGraphProxy.dbg.json create mode 100644 abis/upgrades/IGraphProxy.sol/IGraphProxy.json create mode 100644 abis/utils/TokenUtils.sol/TokenUtils.dbg.json create mode 100644 abis/utils/TokenUtils.sol/TokenUtils.json diff --git a/.gitignore b/.gitignore index 73a50607e..72e79bdde 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,5 @@ tx-builder-*.json **/horizon-localNetwork/ **/subgraph-service-localNetwork/ !**/ignition/**/artifacts/ + +.envrc \ No newline at end of file diff --git a/INSTRUCTIONS.sf.md b/INSTRUCTIONS.sf.md new file mode 100644 index 000000000..9c0bc71f5 --- /dev/null +++ b/INSTRUCTIONS.sf.md @@ -0,0 +1,16 @@ +## Use `cast` and useful command we did + +```shell +# To be put in .envrc +export ETH_RPC_URL= +export STAKING_GRAPH_CONTRACT=0x00669a4cf01450b64e8a2a20e9b1fcb71e61ef03 +export SF_INDEXER_ADDRESS=0x35917c0eb91d2e21bef40940d028940484230c06 +``` + +### Calls + +Find indexer capacity: + +```shell +cast call "$STAKING_GRAPH_CONTRACT" 'getIndexerCapacity(address)' "$SF_INDEXER_ADDRESS" +``` diff --git a/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.dbg.json b/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.json b/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.json new file mode 100644 index 000000000..af8b90323 --- /dev/null +++ b/abis/arbitrum/AddressAliasHelper.sol/AddressAliasHelper.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AddressAliasHelper", + "sourceName": "contracts/arbitrum/AddressAliasHelper.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fc2bf01092d9aba0816ba0fb61a4baf62f019157e6d462d7192d252b991ec9c64736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209fc2bf01092d9aba0816ba0fb61a4baf62f019157e6d462d7192d252b991ec9c64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/IArbToken.sol/IArbToken.dbg.json b/abis/arbitrum/IArbToken.sol/IArbToken.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/IArbToken.sol/IArbToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/IArbToken.sol/IArbToken.json b/abis/arbitrum/IArbToken.sol/IArbToken.json new file mode 100644 index 000000000..f257a389a --- /dev/null +++ b/abis/arbitrum/IArbToken.sol/IArbToken.json @@ -0,0 +1,60 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IArbToken", + "sourceName": "contracts/arbitrum/IArbToken.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "bridgeBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "bridgeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "l1Address", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/IBridge.sol/IBridge.dbg.json b/abis/arbitrum/IBridge.sol/IBridge.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/IBridge.sol/IBridge.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/IBridge.sol/IBridge.json b/abis/arbitrum/IBridge.sol/IBridge.json new file mode 100644 index 000000000..5feec30d3 --- /dev/null +++ b/abis/arbitrum/IBridge.sol/IBridge.json @@ -0,0 +1,305 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IBridge", + "sourceName": "contracts/arbitrum/IBridge.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "outbox", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "BridgeCallTriggered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "InboxToggle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageIndex", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "beforeInboxAcc", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "kind", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "messageDataHash", + "type": "bytes32" + } + ], + "name": "MessageDelivered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "outbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "OutboxToggle", + "type": "event" + }, + { + "inputs": [], + "name": "activeOutbox", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "inbox", + "type": "address" + } + ], + "name": "allowedInboxes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "outbox", + "type": "address" + } + ], + "name": "allowedOutboxes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "kind", + "type": "uint8" + }, + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "messageDataHash", + "type": "bytes32" + } + ], + "name": "deliverMessageToInbox", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "executeCall", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "returnData", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "inboxAccs", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setInbox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "setOutbox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/IInbox.sol/IInbox.dbg.json b/abis/arbitrum/IInbox.sol/IInbox.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/IInbox.sol/IInbox.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/IInbox.sol/IInbox.json b/abis/arbitrum/IInbox.sol/IInbox.json new file mode 100644 index 000000000..d98bbf352 --- /dev/null +++ b/abis/arbitrum/IInbox.sol/IInbox.json @@ -0,0 +1,332 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IInbox", + "sourceName": "contracts/arbitrum/IInbox.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "InboxMessageDelivered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + } + ], + "name": "InboxMessageDeliveredFromOrigin", + "type": "event" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract IBridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "arbTxCallValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxSubmissionCost", + "type": "uint256" + }, + { + "internalType": "address", + "name": "submissionRefundAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "valueRefundAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPriceBid", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "createRetryableTicket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxSubmissionCost", + "type": "uint256" + } + ], + "name": "depositEth", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCreateRetryables", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPriceBid", + "type": "uint256" + }, + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendContractTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPriceBid", + "type": "uint256" + }, + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendL1FundedContractTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendL1FundedUnsignedTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "messageData", + "type": "bytes" + } + ], + "name": "sendL2Message", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "sendUnsignedTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "startRewriteAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stopRewriteAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCreateRetryables", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/IMessageProvider.sol/IMessageProvider.dbg.json b/abis/arbitrum/IMessageProvider.sol/IMessageProvider.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/IMessageProvider.sol/IMessageProvider.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/IMessageProvider.sol/IMessageProvider.json b/abis/arbitrum/IMessageProvider.sol/IMessageProvider.json new file mode 100644 index 000000000..fc18f4d85 --- /dev/null +++ b/abis/arbitrum/IMessageProvider.sol/IMessageProvider.json @@ -0,0 +1,43 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IMessageProvider", + "sourceName": "contracts/arbitrum/IMessageProvider.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "InboxMessageDelivered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + } + ], + "name": "InboxMessageDeliveredFromOrigin", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/IOutbox.sol/IOutbox.dbg.json b/abis/arbitrum/IOutbox.sol/IOutbox.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/IOutbox.sol/IOutbox.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/IOutbox.sol/IOutbox.json b/abis/arbitrum/IOutbox.sol/IOutbox.json new file mode 100644 index 000000000..5f239f42a --- /dev/null +++ b/abis/arbitrum/IOutbox.sol/IOutbox.json @@ -0,0 +1,188 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IOutbox", + "sourceName": "contracts/arbitrum/IOutbox.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "outboxEntryIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transactionIndex", + "type": "uint256" + } + ], + "name": "OutBoxTransactionExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "batchNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outboxEntryIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "numInBatch", + "type": "uint256" + } + ], + "name": "OutboxEntryCreated", + "type": "event" + }, + { + "inputs": [], + "name": "l2ToL1BatchNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Block", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1EthBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1OutputId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Sender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Timestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "batchNum", + "type": "uint256" + } + ], + "name": "outboxEntryExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "sendsData", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "sendLengths", + "type": "uint256[]" + } + ], + "name": "processOutgoingMessages", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/ITokenGateway.sol/ITokenGateway.dbg.json b/abis/arbitrum/ITokenGateway.sol/ITokenGateway.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/ITokenGateway.sol/ITokenGateway.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/ITokenGateway.sol/ITokenGateway.json b/abis/arbitrum/ITokenGateway.sol/ITokenGateway.json new file mode 100644 index 000000000..6d71dcc17 --- /dev/null +++ b/abis/arbitrum/ITokenGateway.sol/ITokenGateway.json @@ -0,0 +1,107 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ITokenGateway", + "sourceName": "contracts/arbitrum/ITokenGateway.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "l1ERC20", + "type": "address" + } + ], + "name": "calculateL2TokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "finalizeInboundTransfer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amunt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPiceBid", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "outboundTransfer", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.dbg.json b/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.json b/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.json new file mode 100644 index 000000000..98a5afafa --- /dev/null +++ b/abis/arbitrum/L1ArbitrumMessenger.sol/L1ArbitrumMessenger.json @@ -0,0 +1,42 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1ArbitrumMessenger", + "sourceName": "contracts/arbitrum/L1ArbitrumMessenger.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_seqNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "TxToL2", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.dbg.json b/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.json b/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.json new file mode 100644 index 000000000..97209f5dc --- /dev/null +++ b/abis/arbitrum/L2ArbitrumMessenger.sol/L2ArbitrumMessenger.json @@ -0,0 +1,42 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2ArbitrumMessenger", + "sourceName": "contracts/arbitrum/L2ArbitrumMessenger.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "TxToL1", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/bancor/BancorFormula.sol/BancorFormula.dbg.json b/abis/bancor/BancorFormula.sol/BancorFormula.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/bancor/BancorFormula.sol/BancorFormula.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/bancor/BancorFormula.sol/BancorFormula.json b/abis/bancor/BancorFormula.sol/BancorFormula.json new file mode 100644 index 000000000..735e228ba --- /dev/null +++ b/abis/bancor/BancorFormula.sol/BancorFormula.json @@ -0,0 +1,243 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "BancorFormula", + "sourceName": "contracts/bancor/BancorFormula.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fromConnectorBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_fromConnectorWeight", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_toConnectorBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_toConnectorWeight", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateCrossConnectorReturn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fromReserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_fromReserveRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_toReserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_toReserveRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateCrossReserveReturn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_supply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_totalRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateFundCost", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_supply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_totalRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateLiquidateReturn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_supply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_reserveRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_depositAmount", + "type": "uint256" + } + ], + "name": "calculatePurchaseReturn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_supply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reserveBalance", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_reserveRatio", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_sellAmount", + "type": "uint256" + } + ], + "name": "calculateSaleReturn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "uint16", + "name": "", + "type": "uint16" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506001641c35fedd1560601b036020556001646c3390ecc9605e1b036021556001640cf801476160611b0360225560016431bdb23e1d605f1b0360235560016502fb1d8fe083605b1b0360245560016505b771955b37605a1b036025556001650af67a93bb5160591b0360265560016515060c256cb360581b036027556001651428a2f98d7360581b036028556001654d515663970960561b03602955600165944620b0e70f60551b03602a55600166011c592761c66760541b03602b5560016602214d10d014eb60531b03602c55600166020ade36b7dbef60531b03602d5560016603eab73b3bbfe360521b03602e556001660782ee3593f6d760511b03602f556001661ccf4b44bb4821604f1b0360305560016606e7f88ad8a77760511b0360315560016669f3d1c921891d604d1b03603255600166cb2ff529eb71e5604c1b03603355600166c2d415c3db974b604c1b0360345560016702eb40f9f620fda7604a1b0360355560016705990681d961a1eb60491b03603655600167055e12902701414760491b0360375560016714962dee9dc9764160471b0360385560016704ef57b9b560fab560491b0360395560016712ed7b32a58f552b60471b03603a556001679131271922eaa60760441b03603b556001678b380f3558668c4760441b03603c556001680215f77c045fbe885760421b03603d556001600160831b03603e556001670f577eded5773a1160471b03603f556001680eb5ec597592befbf5603f1b036040556001681c35fedd14b861eb05603e1b036041556001683619c87664579bc94b603d1b0360425560016867c00a3b07ffc01fd7603c1b03604355600168c6f6c8f8739773a7a5603b1b03604455600168bec763f8209b7a72b1603b1b0360455560016902dbb8caad9b7097b91b60391b03604655600169057b3d49dda84556d6f760381b03604755600169054183095b2c8ececf3160381b036048556001690a14517cc6b9457111ef60371b0360495560016913545598e5c23276ccf160361b03604a556001692511882c39c3adea96ff60351b03604b55600169471649d87199aa99075760341b03604c557004429a21a029d4c1457cfbffffffffffff604d55700415bc6d6fb7dd71af2cb3ffffffffffff604e557003eab73b3bbfe282243ce1ffffffffffff604f557003c1771ac9fb6b4c18e229ffffffffffff605055700399e96897690418f785257fffffffffff605155700373fc456c53bb779bf0ea9fffffffffff60525570034f9e8e490c48e67e6ab8bfffffffffff60535570032cbfd4a7adc790560b3337ffffffffff60545570030b50570f6e5d2acca94613ffffffffff6055557002eb40f9f620fda6b56c2861ffffffffff6056557002cc8340ecb0d0f520a6af58ffffffffff6057557002af09481380a0a35cf1ba02ffffffffff605855700292c5bdd3b92ec810287b1b3fffffffff605955700277abdcdab07d5a77ac6d6b9fffffffff605a5570025daf6654b1eaa55fd64df5efffffffff605b55700244c49c648baa98192dce88b7ffffffff605c5570022ce03cd5619a311b2471268bffffffff605d55700215f77c045fbe885654a44a0fffffffff605e556001600160811b03605f557001eaefdbdaaee7421fc4d3ede5ffffffff6060557001d6bd8b2eb257df7e8ca57b09bfffffff6061557001c35fedd14b861eb0443f7f133fffffff6062557001b0ce43b322bcde4a56e8ada5afffffff60635570019f0028ec1fff007f5a195a39dfffffff60645570018ded91f0e72ee74f49b15ba527ffffff60655570017d8ec7f04136f4e5615fd41a63ffffff60665570016ddc6556cdb84bdc8d12d22e6fffffff60675570015ecf52776a1155b5bd8395814f7fffff60685570015060c256cb23b3b3cc3754cf40ffffff6069557001428a2f98d728ae223ddab715be3fffff606a5570013545598e5c23276ccf0ede68034fffff606b557001288c4161ce1d6f54b7f61081194fffff606c5570011c592761c666aa641d5a01a40f17ffff606d55700110a688680a7530515f3e6e6cfdcdffff606e557001056f1b5bedf75c6bcb2ce8aed428ffff606f556ffaadceceeff8a0890f3875f008277fff6070556ff05dc6b27edad306388a600f6ba0bfff6071556fe67a5a25da41063de1495d5b18cdbfff6072556fdcff115b14eedde6fc3aa5353f2e4fff6073556fd3e7a3924312399f9aae2e0f868f8fff6074556fcb2ff529eb71e41582cccd5a1ee26fff6075556fc2d415c3db974ab32a51840c0b67edff6076556fbad03e7d883f69ad5b0a186184e06bff6077556fb320d03b2c343d4829abd6075f0cc5ff6078556fabc25204e02828d73c6e80bcdb1a95bf6079556fa4b16f74ee4bb2040a1ec6c15fbbf2df607a556f9deaf736ac1f569deb1b5ae3f36c130f607b556f976bd9952c7aa957f5937d790ef65037607c556f9131271922eaa6064b73a22d0bd4f2bf607d556f8b380f3558668c46c91c49a2f8e967b9607e556f857ddf0117efa215952912839f6473e6607f55611508806107496000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806354fd4d501161005b57806354fd4d501461013357806365098bb31461015257806379c1b4501461018f578063abfd231d146101cc5761007d565b80631da6bbfb1461008257806329a00e7c146100c957806349f9b0f7146100fe575b600080fd5b6100b76004803603608081101561009857600080fd5b5080359060208101359063ffffffff6040820135169060600135610201565b60408051918252519081900360200190f35b6100b7600480360360808110156100df57600080fd5b5080359060208101359063ffffffff60408201351690606001356102ce565b6100b76004803603608081101561011457600080fd5b5080359060208101359063ffffffff60408201351690606001356103ca565b61013b6104d5565b6040805161ffff9092168252519081900360200190f35b6100b7600480360360a081101561016857600080fd5b5080359063ffffffff602082013581169160408101359160608201351690608001356104da565b6100b7600480360360a08110156101a557600080fd5b5080359063ffffffff602082013581169160408101359160608201351690608001356104f5565b6100b7600480360360808110156101e257600080fd5b5080359060208101359063ffffffff60408201351690606001356105e5565b600080851180156102125750600084115b8015610224575060018363ffffffff16115b80156102395750621e848063ffffffff841611155b61024257600080fd5b8161024f575060006102c6565b63ffffffff8316620f424014156102805784600161026d8487610666565b038161027557fe5b0460010190506102c6565b6000808061028e88866106c8565b905061029f8189620f424089610722565b9093509150600060ff831660016102b68a87610666565b03901c8890036001019450505050505b949350505050565b600080851180156102df5750600084115b80156102f1575060008363ffffffff16115b80156103065750620f424063ffffffff841611155b61034c576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b81610359575060006102c6565b63ffffffff8316620f4240141561038457836103758684610666565b8161037c57fe5b0490506102c6565b6000808061039285886106c8565b90506103a3818888620f4240610722565b9093509150600060ff83166103b88a86610666565b901c9890980398975050505050505050565b600080851180156103db5750600084115b80156103ed575060008363ffffffff16115b80156104025750620f424063ffffffff841611155b801561040e5750848211155b610454576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b81610461575060006102c6565b848214156104705750826102c6565b63ffffffff8316620f4240141561048c57846103758584610666565b6000808387036104a18882620f424089610722565b909350915060006104b28885610666565b905060ff831688901b84818303816104c657fe5b049a9950505050505050505050565b600681565b60006104e986868686866104f5565b90505b95945050505050565b6000808611801561050c575060008563ffffffff16115b80156105215750620f424063ffffffff861611155b801561052d5750600084115b801561053f575060008363ffffffff16115b80156105545750620f424063ffffffff841611155b61055d57600080fd5b8263ffffffff168563ffffffff1614156105945761057b86836106c8565b6105858584610666565b8161058c57fe5b0490506104ec565b600080806105a289866106c8565b90506105b0818a8a89610722565b909350915060006105c18885610666565b905060ff831688901b84818303816105d557fe5b049b9a5050505050505050505050565b600080851180156105f65750600084115b8015610608575060018363ffffffff16115b801561061d5750621e848063ffffffff841611155b80156106295750848211155b61063257600080fd5b8161063f575060006102c6565b8482141561064e5750826102c6565b63ffffffff8316620f4240141561048c578461037583865b600082610675575060006106c2565b8282028284828161068257fe5b04146106bf5760405162461bcd60e51b81526004018080602001828103825260218152602001806114b26021913960400191505060405180910390fd5b90505b92915050565b6000828201838110156106bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600160811b861061073557600080fd5b600080866001607f1b89028161074757fe5b04905070015bf0a8b1457695355fb8ac404e7a79e38110156107735761076c816107f4565b915061077f565b61077c81610bd8565b91505b60008563ffffffff168763ffffffff1684028161079857fe5b049050600160831b8110156107be576107b081610c82565b607f945094505050506107eb565b60006107c982611026565b90506107de81607f0360ff1683901c826110b6565b955093506107eb92505050565b94509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd8861061083d576001607e1b840193506fd3094c70f034de4b96ff7d5b6f99fcd86001607f1b87028161083957fe5b0495505b6fa45af1e1f40c333b3de1db4dd55f29a78610610880576001607d1b840193506fa45af1e1f40c333b3de1db4dd55f29a76001607f1b87028161087c57fe5b0495505b6f910b022db7ae67ce76b441c27035c6a186106108c3576001607c1b840193506f910b022db7ae67ce76b441c27035c6a16001607f1b8702816108bf57fe5b0495505b6f88415abbe9a76bead8d00cf112e4d4a88610610906576001607b1b840193506f88415abbe9a76bead8d00cf112e4d4a86001607f1b87028161090257fe5b0495505b6f84102b00893f64c705e841d5d4064bd38610610949576001607a1b840193506f84102b00893f64c705e841d5d4064bd36001607f1b87028161094557fe5b0495505b6f8204055aaef1c8bd5c3259f4822735a2861061098c57600160791b840193506f8204055aaef1c8bd5c3259f4822735a26001607f1b87028161098857fe5b0495505b6f810100ab00222d861931c15e39b44e9986106109cf57600160781b840193506f810100ab00222d861931c15e39b44e996001607f1b8702816109cb57fe5b0495505b6f808040155aabbbe9451521693554f7338610610a1257600160771b840193506f808040155aabbbe9451521693554f7336001607f1b870281610a0e57fe5b0495505b6f7fffffffffffffffffffffffffffffff19860192508291506001607f1b828002049050600160801b838103830204840193506001607f1b81830281610a5457fe5b049150600160811b836faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa03830281610a7857fe5b04840193506001607f1b81830281610a8c57fe5b049150600360801b836f9999999999999999999999999999999903830281610ab057fe5b04840193506001607f1b81830281610ac457fe5b049150600160821b836f9249249249249249249249249249249203830281610ae857fe5b04840193506001607f1b81830281610afc57fe5b049150600560801b836f8e38e38e38e38e38e38e38e38e38e38e03830281610b2057fe5b04840193506001607f1b81830281610b3457fe5b049150600360811b836f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b03830281610b5857fe5b04840193506001607f1b81830281610b6c57fe5b049150600760801b836f89d89d89d89d89d89d89d89d89d89d8903830281610b9057fe5b04840193506001607f1b81830281610ba457fe5b049150600160831b836f8888888888888888888888888888888803830281610bc857fe5b049390930193505050505b919050565b600080600160801b8310610c08576000610bf76001607f1b8504611450565b60ff1693841c936001607f1b029150505b6001607f1b831115610c5657607f5b60ff811615610c54576001607f1b848002049350600160801b8410610c4b57600193841c9360ff6000198301161b91909101905b60001901610c17565b505b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f88202049392505050565b6000670168244fdac780006001607f1b6f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc1800002830192506001607f1b82820281610cfb57fe5b04905080660c0135dca0400002830192506001607f1b82820281610d1b57fe5b049050806601b707b1cdc00002830192506001607f1b82820281610d3b57fe5b049050806536e0f639b80002830192506001607f1b82820281610d5a57fe5b04905080650618fee9f80002830192506001607f1b82820281610d7957fe5b04905080649c197dcc0002830192506001607f1b82820281610d9757fe5b04905080640e30dce40002830192506001607f1b82820281610db557fe5b0490508064012ebd130002830192506001607f1b82820281610dd357fe5b049050806317499f0002830192506001607f1b82820281610df057fe5b049050806301a9d48002830192506001607f1b82820281610e0d57fe5b04905080621c638002830192506001607f1b82820281610e2957fe5b049050806201c63802830192506001607f1b82820281610e4557fe5b04905080611ab802830192506001607f1b82820281610e6057fe5b0490508061017c02830192506001607f1b82820281610e7b57fe5b04905080601402830192506001607f1b82820281610e9557fe5b6721c3677c82b400009190049384010482016001607f1b019290506001607c1b851615610ee65770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6001607d1b851615610f1c577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6001607e1b851615610f51576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b6001607f1b851615610f85576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b600160801b851615610fb9576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b600160811b851615610fec576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b600160821b85161561101d576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f5b8060ff168260010160ff161015611075576000600260ff848401160490508460008260ff166080811061105c57fe5b01541061106b5780925061106f565b8091505b5061102d565b8360008260ff166080811061108657fe5b015410611096579150610bd39050565b8360008360ff16608081106110a757fe5b01541061007d57509050610bd3565b60008083905060008360ff16858302901c9150816f03442c4e6074a82f1797f72ac000000002810190508360ff16858302901c9150816f0116b96f757c380fb287fd0e4000000002810190508360ff16858302901c9150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff16858302901c9150816e0defabf91302cd95b9ffda5000000002810190508360ff16858302901c9150816e02529ca9832b22439efff9b800000002810190508360ff16858302901c9150816d54f1cf12bd04e516b6da8800000002810190508360ff16858302901c9150816d0a9e39e257a09ca2d6db5100000002810190508360ff16858302901c9150816d012e066e7b839fa050c30900000002810190508360ff16858302901c9150816c1e33d7d926c329a1ad1a80000002810190508360ff16858302901c9150816c02bee513bdb4a6b19b5f80000002810190508360ff16858302901c9150816b3a9316fa79b88eccf2a0000002810190508360ff16858302901c9150816b048177ebe1fa81237520000002810190508360ff16858302901c9150816a5263fe90242dcbacf0000002810190508360ff16858302901c9150816a057e22099c030d9410000002810190508360ff16858302901c9150816957e22099c030d941000002810190508360ff16858302901c91508169052b6b5456997631000002810190508360ff16858302901c915081684985f67696bf74800002810190508360ff16858302901c9150816803dea12ea99e49800002810190508360ff16858302901c9150816731880f2214b6e00002810190508360ff16858302901c91508167025bcff56eb3600002810190508360ff16858302901c915081661b722e10ab100002810190508360ff16858302901c9150816601317c7007700002810190508360ff16858302901c915081650cba84aafa0002810190508360ff16858302901c9150816482573a0a0002810190508360ff16858302901c9150816405035ad90002810190508360ff16858302901c915081632f881b0002810190508360ff16858302901c9150816301b2934002810190508360ff16858302901c915081620efc4002810190508360ff16858302901c915081617fe002810190508360ff16858302901c91508161042002810190508360ff16858302901c915081602102810190508360ff16858302901c915081600102810190508360ff166001901b856f0688589cc0e9505e2f2fee5580000000838161144457fe5b04010195945050505050565b600080610100831015611478575b600183111561147357600192831c920161145e565b6106c2565b60805b60ff8116156114aa57600160ff82161b841061149f5760ff81169390931c92908117905b60011c607f1661147b565b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220a07a72879c92d8e4f52e80e941512f7f8fcd2832310e3b5d7f3f80428f05365364736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806354fd4d501161005b57806354fd4d501461013357806365098bb31461015257806379c1b4501461018f578063abfd231d146101cc5761007d565b80631da6bbfb1461008257806329a00e7c146100c957806349f9b0f7146100fe575b600080fd5b6100b76004803603608081101561009857600080fd5b5080359060208101359063ffffffff6040820135169060600135610201565b60408051918252519081900360200190f35b6100b7600480360360808110156100df57600080fd5b5080359060208101359063ffffffff60408201351690606001356102ce565b6100b76004803603608081101561011457600080fd5b5080359060208101359063ffffffff60408201351690606001356103ca565b61013b6104d5565b6040805161ffff9092168252519081900360200190f35b6100b7600480360360a081101561016857600080fd5b5080359063ffffffff602082013581169160408101359160608201351690608001356104da565b6100b7600480360360a08110156101a557600080fd5b5080359063ffffffff602082013581169160408101359160608201351690608001356104f5565b6100b7600480360360808110156101e257600080fd5b5080359060208101359063ffffffff60408201351690606001356105e5565b600080851180156102125750600084115b8015610224575060018363ffffffff16115b80156102395750621e848063ffffffff841611155b61024257600080fd5b8161024f575060006102c6565b63ffffffff8316620f424014156102805784600161026d8487610666565b038161027557fe5b0460010190506102c6565b6000808061028e88866106c8565b905061029f8189620f424089610722565b9093509150600060ff831660016102b68a87610666565b03901c8890036001019450505050505b949350505050565b600080851180156102df5750600084115b80156102f1575060008363ffffffff16115b80156103065750620f424063ffffffff841611155b61034c576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b81610359575060006102c6565b63ffffffff8316620f4240141561038457836103758684610666565b8161037c57fe5b0490506102c6565b6000808061039285886106c8565b90506103a3818888620f4240610722565b9093509150600060ff83166103b88a86610666565b901c9890980398975050505050505050565b600080851180156103db5750600084115b80156103ed575060008363ffffffff16115b80156104025750620f424063ffffffff841611155b801561040e5750848211155b610454576040805162461bcd60e51b8152602060048201526012602482015271696e76616c696420706172616d657465727360701b604482015290519081900360640190fd5b81610461575060006102c6565b848214156104705750826102c6565b63ffffffff8316620f4240141561048c57846103758584610666565b6000808387036104a18882620f424089610722565b909350915060006104b28885610666565b905060ff831688901b84818303816104c657fe5b049a9950505050505050505050565b600681565b60006104e986868686866104f5565b90505b95945050505050565b6000808611801561050c575060008563ffffffff16115b80156105215750620f424063ffffffff861611155b801561052d5750600084115b801561053f575060008363ffffffff16115b80156105545750620f424063ffffffff841611155b61055d57600080fd5b8263ffffffff168563ffffffff1614156105945761057b86836106c8565b6105858584610666565b8161058c57fe5b0490506104ec565b600080806105a289866106c8565b90506105b0818a8a89610722565b909350915060006105c18885610666565b905060ff831688901b84818303816105d557fe5b049b9a5050505050505050505050565b600080851180156105f65750600084115b8015610608575060018363ffffffff16115b801561061d5750621e848063ffffffff841611155b80156106295750848211155b61063257600080fd5b8161063f575060006102c6565b8482141561064e5750826102c6565b63ffffffff8316620f4240141561048c578461037583865b600082610675575060006106c2565b8282028284828161068257fe5b04146106bf5760405162461bcd60e51b81526004018080602001828103825260218152602001806114b26021913960400191505060405180910390fd5b90505b92915050565b6000828201838110156106bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600160811b861061073557600080fd5b600080866001607f1b89028161074757fe5b04905070015bf0a8b1457695355fb8ac404e7a79e38110156107735761076c816107f4565b915061077f565b61077c81610bd8565b91505b60008563ffffffff168763ffffffff1684028161079857fe5b049050600160831b8110156107be576107b081610c82565b607f945094505050506107eb565b60006107c982611026565b90506107de81607f0360ff1683901c826110b6565b955093506107eb92505050565b94509492505050565b6000808080806fd3094c70f034de4b96ff7d5b6f99fcd8861061083d576001607e1b840193506fd3094c70f034de4b96ff7d5b6f99fcd86001607f1b87028161083957fe5b0495505b6fa45af1e1f40c333b3de1db4dd55f29a78610610880576001607d1b840193506fa45af1e1f40c333b3de1db4dd55f29a76001607f1b87028161087c57fe5b0495505b6f910b022db7ae67ce76b441c27035c6a186106108c3576001607c1b840193506f910b022db7ae67ce76b441c27035c6a16001607f1b8702816108bf57fe5b0495505b6f88415abbe9a76bead8d00cf112e4d4a88610610906576001607b1b840193506f88415abbe9a76bead8d00cf112e4d4a86001607f1b87028161090257fe5b0495505b6f84102b00893f64c705e841d5d4064bd38610610949576001607a1b840193506f84102b00893f64c705e841d5d4064bd36001607f1b87028161094557fe5b0495505b6f8204055aaef1c8bd5c3259f4822735a2861061098c57600160791b840193506f8204055aaef1c8bd5c3259f4822735a26001607f1b87028161098857fe5b0495505b6f810100ab00222d861931c15e39b44e9986106109cf57600160781b840193506f810100ab00222d861931c15e39b44e996001607f1b8702816109cb57fe5b0495505b6f808040155aabbbe9451521693554f7338610610a1257600160771b840193506f808040155aabbbe9451521693554f7336001607f1b870281610a0e57fe5b0495505b6f7fffffffffffffffffffffffffffffff19860192508291506001607f1b828002049050600160801b838103830204840193506001607f1b81830281610a5457fe5b049150600160811b836faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa03830281610a7857fe5b04840193506001607f1b81830281610a8c57fe5b049150600360801b836f9999999999999999999999999999999903830281610ab057fe5b04840193506001607f1b81830281610ac457fe5b049150600160821b836f9249249249249249249249249249249203830281610ae857fe5b04840193506001607f1b81830281610afc57fe5b049150600560801b836f8e38e38e38e38e38e38e38e38e38e38e03830281610b2057fe5b04840193506001607f1b81830281610b3457fe5b049150600360811b836f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b03830281610b5857fe5b04840193506001607f1b81830281610b6c57fe5b049150600760801b836f89d89d89d89d89d89d89d89d89d89d8903830281610b9057fe5b04840193506001607f1b81830281610ba457fe5b049150600160831b836f8888888888888888888888888888888803830281610bc857fe5b049390930193505050505b919050565b600080600160801b8310610c08576000610bf76001607f1b8504611450565b60ff1693841c936001607f1b029150505b6001607f1b831115610c5657607f5b60ff811615610c54576001607f1b848002049350600160801b8410610c4b57600193841c9360ff6000198301161b91909101905b60001901610c17565b505b6f05b9de1d10bf4103d647b0955897ba806f03f80fe03f80fe03f80fe03f80fe03f88202049392505050565b6000670168244fdac780006001607f1b6f0fffffffffffffffffffffffffffffff84168080028290048082028390048083028490049485026710e1b3be415a00009092026705a0913f6b1e000091909102010192909181830204905080664807432bc1800002830192506001607f1b82820281610cfb57fe5b04905080660c0135dca0400002830192506001607f1b82820281610d1b57fe5b049050806601b707b1cdc00002830192506001607f1b82820281610d3b57fe5b049050806536e0f639b80002830192506001607f1b82820281610d5a57fe5b04905080650618fee9f80002830192506001607f1b82820281610d7957fe5b04905080649c197dcc0002830192506001607f1b82820281610d9757fe5b04905080640e30dce40002830192506001607f1b82820281610db557fe5b0490508064012ebd130002830192506001607f1b82820281610dd357fe5b049050806317499f0002830192506001607f1b82820281610df057fe5b049050806301a9d48002830192506001607f1b82820281610e0d57fe5b04905080621c638002830192506001607f1b82820281610e2957fe5b049050806201c63802830192506001607f1b82820281610e4557fe5b04905080611ab802830192506001607f1b82820281610e6057fe5b0490508061017c02830192506001607f1b82820281610e7b57fe5b04905080601402830192506001607f1b82820281610e9557fe5b6721c3677c82b400009190049384010482016001607f1b019290506001607c1b851615610ee65770018ebef9eac820ae8682b9793ac6d1e7767001c3d6a24ed82218787d624d3e5eba95f984020492505b6001607d1b851615610f1c577001368b2fc6f9609fe7aceb46aa619baed470018ebef9eac820ae8682b9793ac6d1e77884020492505b6001607e1b851615610f51576fbc5ab1b16779be3575bd8f0520a9f21f7001368b2fc6f9609fe7aceb46aa619baed584020492505b6001607f1b851615610f85576f454aaa8efe072e7f6ddbab84b40a55c96fbc5ab1b16779be3575bd8f0520a9f21e84020492505b600160801b851615610fb9576f0960aadc109e7a3bf4578099615711ea6f454aaa8efe072e7f6ddbab84b40a55c584020492505b600160811b851615610fec576e2bf84208204f5977f9a8cf01fdce3d6f0960aadc109e7a3bf4578099615711d784020492505b600160821b85161561101d576d03c6ab775dd0b95b4cbee7e65d116e2bf84208204f5977f9a8cf01fdc30784020492505b50909392505050565b60006020607f5b8060ff168260010160ff161015611075576000600260ff848401160490508460008260ff166080811061105c57fe5b01541061106b5780925061106f565b8091505b5061102d565b8360008260ff166080811061108657fe5b015410611096579150610bd39050565b8360008360ff16608081106110a757fe5b01541061007d57509050610bd3565b60008083905060008360ff16858302901c9150816f03442c4e6074a82f1797f72ac000000002810190508360ff16858302901c9150816f0116b96f757c380fb287fd0e4000000002810190508360ff16858302901c9150816e45ae5bdd5f0e03eca1ff439000000002810190508360ff16858302901c9150816e0defabf91302cd95b9ffda5000000002810190508360ff16858302901c9150816e02529ca9832b22439efff9b800000002810190508360ff16858302901c9150816d54f1cf12bd04e516b6da8800000002810190508360ff16858302901c9150816d0a9e39e257a09ca2d6db5100000002810190508360ff16858302901c9150816d012e066e7b839fa050c30900000002810190508360ff16858302901c9150816c1e33d7d926c329a1ad1a80000002810190508360ff16858302901c9150816c02bee513bdb4a6b19b5f80000002810190508360ff16858302901c9150816b3a9316fa79b88eccf2a0000002810190508360ff16858302901c9150816b048177ebe1fa81237520000002810190508360ff16858302901c9150816a5263fe90242dcbacf0000002810190508360ff16858302901c9150816a057e22099c030d9410000002810190508360ff16858302901c9150816957e22099c030d941000002810190508360ff16858302901c91508169052b6b5456997631000002810190508360ff16858302901c915081684985f67696bf74800002810190508360ff16858302901c9150816803dea12ea99e49800002810190508360ff16858302901c9150816731880f2214b6e00002810190508360ff16858302901c91508167025bcff56eb3600002810190508360ff16858302901c915081661b722e10ab100002810190508360ff16858302901c9150816601317c7007700002810190508360ff16858302901c915081650cba84aafa0002810190508360ff16858302901c9150816482573a0a0002810190508360ff16858302901c9150816405035ad90002810190508360ff16858302901c915081632f881b0002810190508360ff16858302901c9150816301b2934002810190508360ff16858302901c915081620efc4002810190508360ff16858302901c915081617fe002810190508360ff16858302901c91508161042002810190508360ff16858302901c915081602102810190508360ff16858302901c915081600102810190508360ff166001901b856f0688589cc0e9505e2f2fee5580000000838161144457fe5b04010195945050505050565b600080610100831015611478575b600183111561147357600192831c920161145e565b6106c2565b60805b60ff8116156114aa57600160ff82161b841061149f5760ff81169390931c92908117905b60011c607f1661147b565b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220a07a72879c92d8e4f52e80e941512f7f8fcd2832310e3b5d7f3f80428f05365364736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/base/IMulticall.sol/IMulticall.dbg.json b/abis/base/IMulticall.sol/IMulticall.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/base/IMulticall.sol/IMulticall.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/base/IMulticall.sol/IMulticall.json b/abis/base/IMulticall.sol/IMulticall.json new file mode 100644 index 000000000..305715329 --- /dev/null +++ b/abis/base/IMulticall.sol/IMulticall.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IMulticall", + "sourceName": "contracts/base/IMulticall.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/base/Multicall.sol/Multicall.dbg.json b/abis/base/Multicall.sol/Multicall.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/base/Multicall.sol/Multicall.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/base/Multicall.sol/Multicall.json b/abis/base/Multicall.sol/Multicall.json new file mode 100644 index 000000000..d21afc315 --- /dev/null +++ b/abis/base/Multicall.sol/Multicall.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Multicall", + "sourceName": "contracts/base/Multicall.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/Curation.sol/Curation.dbg.json b/abis/curation/Curation.sol/Curation.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/Curation.sol/Curation.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/Curation.sol/Curation.json b/abis/curation/Curation.sol/Curation.json new file mode 100644 index 000000000..137ba125d --- /dev/null +++ b/abis/curation/Curation.sol/Curation.json @@ -0,0 +1,606 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Curation", + "sourceName": "contracts/curation/Curation.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "signal", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "Collected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "signal", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationTax", + "type": "uint256" + } + ], + "name": "Signalled", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "bondingCurve", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTokenMaster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultReserveRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_bondingCurve", + "type": "address" + }, + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationTaxPercentage", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumCurationDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + }, + { + "internalType": "contract IGraphCurationToken", + "name": "gcs", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516126b561017360003980610ec9525080610ea0525080610e775280611367525080610e4e528061171c525080610e255280611d82525080610dfc525080610dd352506126b56000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80639f94c667116100de578063d6866ea511610097578063eff1d50e11610071578063eff1d50e14610337578063f049b9001461033f578063f115c42714610352578063f77c47911461035a57610173565b8063d6866ea514610307578063eba0c8a11461030f578063ebfdb70e1461032457610173565b80639f94c66714610284578063a2594d8214610297578063a25e62c7146102aa578063b5217bb4146102bf578063cd0ad4a2146102e1578063cd18119e146102f457610173565b80636536fe32116101305780636536fe3214610210578063815732881461022557806392eefe9b1461023857806399439fee1461024b5780639b4d9f331461025e5780639ce7abe51461027157610173565b80630faaf87f14610178578063185360f9146101a157806324bdeec7146101a9578063375a54ab146101bc57806346e855da146101dd5780634c4ea0ed146101f0575b600080fd5b61018b610186366004611f29565b610362565b604051610198919061205f565b60405180910390f35b61018b610490565b61018b6101b7366004611f4a565b610496565b6101cf6101ca366004611f4a565b610627565b604051610198929190612580565b61018b6101eb366004611f11565b610881565b6102036101fe366004611f11565b610896565b6040516101989190612054565b61022361021e366004611f11565b6108aa565b005b610223610233366004611f29565b6108be565b610223610246366004611e58565b610976565b61018b610259366004611f11565b610987565b61022361026c366004611e58565b610a2f565b61022361027f366004611f75565b610a40565b61018b610292366004611ee6565b610b96565b6102236102a5366004611e58565b610c4a565b6102b2610d65565b6040516101989190612027565b6102d26102cd366004611f11565b610d7b565b604051610198939291906125c5565b6102236102ef36600461200d565b610dac565b61022361030236600461200d565b610dbd565b610223610dce565b610317610eef565b60405161019891906125ea565b610223610332366004611e74565b610f02565b6102b261107b565b6101cf61034d366004611f29565b61108a565b6103176110db565b6102b26110e7565b6000828152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b031690820152816103b285610987565b82519091506103dc5760405162461bcd60e51b81526004016103d3906122d9565b60405180910390fd5b838110156103fc5760405162461bcd60e51b81526004016103d390612241565b600e54825160208401516040516349f9b0f760e01b81526001600160a01b03909316926349f9b0f7926104359286928a906004016125a4565b60206040518083038186803b15801561044d57600080fd5b505afa158015610461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104859190611ff5565b925050505b92915050565b600d5481565b60006104a06110f6565b33836104be5760405162461bcd60e51b81526004016103d390612068565b836104c98287610b96565b10156104e75760405162461bcd60e51b81526004016103d3906121fd565b60006104f38686610362565b9050838110156105155760405162461bcd60e51b81526004016103d39061214d565b61051e86611264565b6000868152600f6020526040902080546105389083611303565b8155600181015460405163079cc67960e41b8152600160201b9091046001600160a01b0316906379cc6790906105749086908a9060040161203b565b600060405180830381600087803b15801561058e57600080fd5b505af11580156105a2573d6000803e3d6000fd5b505050506105af87610987565b6105c7576000815560018101805463ffffffff191690555b6105d96105d2611360565b8484611390565b86836001600160a01b03167fe14cd5e80f6821ded0538e85a537487acf10bb5e97a12176df56a099e90bfb348489604051610615929190612580565b60405180910390a35095945050505050565b6000806106326110f6565b8361064f5760405162461bcd60e51b81526004016103d3906124bf565b60008061065c878761108a565b91509150848210156106805760405162461bcd60e51b81526004016103d39061214d565b6000878152600f60205260409020339061069989610896565b61077e57600c5460018201805463ffffffff191663ffffffff600160201b93849004161790819055046001600160a01b031661077e57600c546000906106ee90600160401b90046001600160a01b0316611456565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de89061071d903090600401612027565b600060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b61078789611264565b6000610791611360565b905061079e81848b6114f3565b6107a88185611552565b6107bd6107b58a86611303565b83549061159e565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f19906107f9908690899060040161203b565b600060405180830381600087803b15801561081357600080fd5b505af1158015610827573d6000803e3d6000fd5b5050505089836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf8b88886040516108699392919061258e565b60405180910390a35092989197509095505050505050565b6000818152600f60205260409020545b919050565b6000908152600f6020526040902054151590565b6108b26115f8565b6108bb816116cc565b50565b6108c6611715565b6001600160a01b0316336001600160a01b0316146108f65760405162461bcd60e51b81526004016103d39061247c565b6108ff82610896565b61091b5760405162461bcd60e51b81526004016103d3906121aa565b6000828152600f602052604090208054610935908361159e565b815560405183907ff17fdee613a92b35db6b7598eb43750b24d4072eb304e6eca80121e40402e34b9061096990859061205f565b60405180910390a2505050565b61097e611740565b6108bb8161179f565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610a2557806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e857600080fd5b505afa1580156109fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a209190611ff5565b610a28565b60005b9392505050565b610a376115f8565b6108bb81611847565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7c57600080fd5b505af1158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b50516001600160a01b03163314610b04576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b5050505050505050565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610c3f576040516370a0823160e01b81526001600160a01b038216906370a0823190610bea908790600401612027565b60206040518083038186803b158015610c0257600080fd5b505afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611ff5565b610c42565b60005b949350505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c8657600080fd5b505af1158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516001600160a01b03163314610d0e576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050505050565b600c54600160401b90046001600160a01b031681565b600f602052600090815260409020805460019091015463ffffffff811690600160201b90046001600160a01b031683565b610db46115f8565b6108bb816118d7565b610dc56115f8565b6108bb8161195e565b610df77f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e207f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e497f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e727f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e9b7f00000000000000000000000000000000000000000000000000000000000000006119b8565b610ec47f00000000000000000000000000000000000000000000000000000000000000006119b8565b610eed7f00000000000000000000000000000000000000000000000000000000000000006119b8565b565b600c54600160201b900463ffffffff1681565b610f0a611ab9565b6001600160a01b0316336001600160a01b031614610f65576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601054610100900460ff1680610f7e5750610f7e611ade565b80610f8c575060105460ff16155b610fc75760405162461bcd60e51b815260040180806020018281038252602e815260200180612631602e913960400191505060405180910390fd5b601054610100900460ff16158015610ff2576010805460ff1961ff0019909116610100171660011790555b610ffb8761097e565b6001600160a01b0386166110215760405162461bcd60e51b81526004016103d39061237a565b600e80546001600160a01b0319166001600160a01b038816179055611045846118d7565b61104e8361195e565b611057826116cc565b61106085611847565b8015611072576010805461ff00191690555b50505050505050565b600e546001600160a01b031681565b600c54600090819081906110b890620f4240906110b290879063ffffffff90811690611aef16565b90611b48565b905060006110cf866110ca8785611303565b611baf565b96919550909350505050565b600c5463ffffffff1681565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561114257600080fd5b505afa158015611156573d6000803e3d6000fd5b505050506040513d602081101561116c57600080fd5b5051156111a9576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f557600080fd5b505afa158015611209573d6000803e3d6000fd5b505050506040513d602081101561121f57600080fd5b505115610eed576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b600061126e611d7b565b90506001600160a01b038116156112ff576040516307470bfb60e21b81526001600160a01b03821690631d1c2fec906112ab90859060040161205f565b602060405180830381600087803b1580156112c557600080fd5b505af11580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd9190611ff5565b505b5050565b60008282111561135a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061138b7f0000000000000000000000000000000000000000000000000000000000000000611da2565b905090565b80156112fd57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156113ed57600080fd5b505af1158015611401573d6000803e3d6000fd5b505050506040513d602081101561141757600080fd5b50516112fd576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610891576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b80156112fd57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156113ed57600080fd5b80156112ff57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d4957600080fd5b600082820183811015610a28576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561164457600080fd5b505afa158015611658573d6000803e3d6000fd5b505050506040513d602081101561166e57600080fd5b50516001600160a01b03163314610eed576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b806116e95760405162461bcd60e51b81526004016103d390612336565b600d8190556040516000805160206126118339815191529061170a9061217a565b60405180910390a150565b600061138b7f0000000000000000000000000000000000000000000000000000000000000000611da2565b6000546001600160a01b03163314610eed576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166117f3576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6001600160a01b03811661186d5760405162461bcd60e51b81526004016103d39061209f565b61187681611e3e565b6118925760405162461bcd60e51b81526004016103d390612445565b600c805468010000000000000000600160e01b031916600160401b6001600160a01b038416021790556040516000805160206126118339815191529061170a90612553565b63ffffffff81166118fa5760405162461bcd60e51b81526004016103d3906123b1565b620f424063ffffffff821611156119235760405162461bcd60e51b81526004016103d3906123f2565b600c805467ffffffff000000001916600160201b63ffffffff8416021790556040516000805160206126118339815191529061170a90612120565b620f424063ffffffff821611156119875760405162461bcd60e51b81526004016103d3906124f6565b600c805463ffffffff191663ffffffff83161790556040516000805160206126118339815191529061170a906122aa565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611a0557600080fd5b505afa158015611a19573d6000803e3d6000fd5b505050506040513d6020811015611a2f57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146112ff5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611ae930611e3e565b15905090565b600082611afe5750600061048a565b82820282848281611b0b57fe5b0414610a285760405162461bcd60e51b815260040180806020018281038252602181526020018061265f6021913960400191505060405180910390fd5b6000808211611b9e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611ba757fe5b049392505050565b6000828152600f602090815260408083208151606081018352815480825260019092015463ffffffff811694820194909452600160201b9093046001600160a01b031691830191909152611ce557600d54831015611c1f5760405162461bcd60e51b81526004016103d3906120d6565b600e54600d54600c54611cdd92670de0b6b3a7640000926001600160a01b03909116916329a00e7c91849163ffffffff600160201b909104811690611c68908b90849061130316565b6040518563ffffffff1660e01b8152600401611c8794939291906125a4565b60206040518083038186803b158015611c9f57600080fd5b505afa158015611cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd79190611ff5565b9061159e565b91505061048a565b600e546001600160a01b03166329a00e7c611cff86610987565b835160208501516040516001600160e01b031960e086901b168152611d2b9392919089906004016125a4565b60206040518083038186803b158015611d4357600080fd5b505afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c429190611ff5565b600061138b7f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b03168061048a5760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611e0b57600080fd5b505afa158015611e1f573d6000803e3d6000fd5b505050506040513d6020811015611e3557600080fd5b50519392505050565b3b151590565b803563ffffffff8116811461089157600080fd5b600060208284031215611e69578081fd5b8135610a28816125fb565b60008060008060008060c08789031215611e8c578182fd5b8635611e97816125fb565b95506020870135611ea7816125fb565b94506040870135611eb7816125fb565b9350611ec560608801611e44565b9250611ed360808801611e44565b915060a087013590509295509295509295565b60008060408385031215611ef8578182fd5b8235611f03816125fb565b946020939093013593505050565b600060208284031215611f22578081fd5b5035919050565b60008060408385031215611f3b578182fd5b50508035926020909101359150565b600080600060608486031215611f5e578283fd5b505081359360208301359350604090920135919050565b600080600060408486031215611f89578283fd5b8335611f94816125fb565b9250602084013567ffffffffffffffff80821115611fb0578384fd5b818601915086601f830112611fc3578384fd5b813581811115611fd1578485fd5b876020828501011115611fe2578485fd5b6020830194508093505050509250925092565b600060208284031215612006578081fd5b5051919050565b60006020828403121561201e578081fd5b610a2882611e44565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b60208082526017908201527f43616e6e6f74206275726e207a65726f207369676e616c000000000000000000604082015260600190565b6020808252601e908201527f546f6b656e206d6173746572206d757374206265206e6f6e2d656d7074790000604082015260600190565b6020808252602a908201527f4375726174696f6e206465706f7369742069732062656c6f77206d696e696d756040820152691b481c995c5d5a5c995960b21b606082015260800190565b60208082526013908201527264656661756c7452657365727665526174696f60681b604082015260600190565b60208082526013908201527229b634b83830b3b290383937ba32b1ba34b7b760691b604082015260600190565b6020808252601690820152751b5a5b9a5b5d5b50dd5c985d1a5bdb91195c1bdcda5d60521b604082015260600190565b60208082526033908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527274656420746f20636f6c6c656374206665657360681b606082015260800190565b60208082526024908201527f43616e6e6f74206275726e206d6f7265207369676e616c207468616e20796f756040820152631037bbb760e11b606082015260800190565b60208082526043908201527f5369676e616c206d7573742062652061626f7665206f7220657175616c20746f60408201527f207369676e616c2069737375656420696e20746865206375726174696f6e20706060820152621bdbdb60ea1b608082015260a00190565b6020808252601590820152746375726174696f6e54617850657263656e7461676560581b604082015260600190565b6020808252603b908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527f74656420746f20706572666f726d2063616c63756c6174696f6e730000000000606082015260800190565b60208082526024908201527f4d696e696d756d206375726174696f6e206465706f7369742063616e6e6f74206040820152630626520360e41b606082015260800190565b60208082526019908201527f426f6e64696e67206375727665206d7573742062652073657400000000000000604082015260600190565b60208082526021908201527f44656661756c74207265736572766520726174696f206d757374206265203e206040820152600360fc1b606082015260800190565b60208082526033908201527f44656661756c74207265736572766520726174696f2063616e6e6f7420626520604082015272686967686572207468616e204d41585f50504d60681b606082015260800190565b6020808252601f908201527f546f6b656e206d6173746572206d757374206265206120636f6e747261637400604082015260600190565b60208082526023908201527f43616c6c6572206d75737420626520746865207374616b696e6720636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252601a908201527f43616e6e6f74206465706f736974207a65726f20746f6b656e73000000000000604082015260600190565b60208082526039908201527f4375726174696f6e207461782070657263656e74616765206d7573742062652060408201527f62656c6f77206f7220657175616c20746f204d41585f50504d00000000000000606082015260800190565b60208082526013908201527231bab930ba34b7b72a37b5b2b726b0b9ba32b960691b604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b938452602084019290925263ffffffff166040830152606082015260800190565b92835263ffffffff9190911660208301526001600160a01b0316604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b03811681146108bb57600080fdfe96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203338d03d9bfac23efd8029c03e98b53cddc3ebefc6c887d02092ab7ba246a15464736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80639f94c667116100de578063d6866ea511610097578063eff1d50e11610071578063eff1d50e14610337578063f049b9001461033f578063f115c42714610352578063f77c47911461035a57610173565b8063d6866ea514610307578063eba0c8a11461030f578063ebfdb70e1461032457610173565b80639f94c66714610284578063a2594d8214610297578063a25e62c7146102aa578063b5217bb4146102bf578063cd0ad4a2146102e1578063cd18119e146102f457610173565b80636536fe32116101305780636536fe3214610210578063815732881461022557806392eefe9b1461023857806399439fee1461024b5780639b4d9f331461025e5780639ce7abe51461027157610173565b80630faaf87f14610178578063185360f9146101a157806324bdeec7146101a9578063375a54ab146101bc57806346e855da146101dd5780634c4ea0ed146101f0575b600080fd5b61018b610186366004611f29565b610362565b604051610198919061205f565b60405180910390f35b61018b610490565b61018b6101b7366004611f4a565b610496565b6101cf6101ca366004611f4a565b610627565b604051610198929190612580565b61018b6101eb366004611f11565b610881565b6102036101fe366004611f11565b610896565b6040516101989190612054565b61022361021e366004611f11565b6108aa565b005b610223610233366004611f29565b6108be565b610223610246366004611e58565b610976565b61018b610259366004611f11565b610987565b61022361026c366004611e58565b610a2f565b61022361027f366004611f75565b610a40565b61018b610292366004611ee6565b610b96565b6102236102a5366004611e58565b610c4a565b6102b2610d65565b6040516101989190612027565b6102d26102cd366004611f11565b610d7b565b604051610198939291906125c5565b6102236102ef36600461200d565b610dac565b61022361030236600461200d565b610dbd565b610223610dce565b610317610eef565b60405161019891906125ea565b610223610332366004611e74565b610f02565b6102b261107b565b6101cf61034d366004611f29565b61108a565b6103176110db565b6102b26110e7565b6000828152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b031690820152816103b285610987565b82519091506103dc5760405162461bcd60e51b81526004016103d3906122d9565b60405180910390fd5b838110156103fc5760405162461bcd60e51b81526004016103d390612241565b600e54825160208401516040516349f9b0f760e01b81526001600160a01b03909316926349f9b0f7926104359286928a906004016125a4565b60206040518083038186803b15801561044d57600080fd5b505afa158015610461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104859190611ff5565b925050505b92915050565b600d5481565b60006104a06110f6565b33836104be5760405162461bcd60e51b81526004016103d390612068565b836104c98287610b96565b10156104e75760405162461bcd60e51b81526004016103d3906121fd565b60006104f38686610362565b9050838110156105155760405162461bcd60e51b81526004016103d39061214d565b61051e86611264565b6000868152600f6020526040902080546105389083611303565b8155600181015460405163079cc67960e41b8152600160201b9091046001600160a01b0316906379cc6790906105749086908a9060040161203b565b600060405180830381600087803b15801561058e57600080fd5b505af11580156105a2573d6000803e3d6000fd5b505050506105af87610987565b6105c7576000815560018101805463ffffffff191690555b6105d96105d2611360565b8484611390565b86836001600160a01b03167fe14cd5e80f6821ded0538e85a537487acf10bb5e97a12176df56a099e90bfb348489604051610615929190612580565b60405180910390a35095945050505050565b6000806106326110f6565b8361064f5760405162461bcd60e51b81526004016103d3906124bf565b60008061065c878761108a565b91509150848210156106805760405162461bcd60e51b81526004016103d39061214d565b6000878152600f60205260409020339061069989610896565b61077e57600c5460018201805463ffffffff191663ffffffff600160201b93849004161790819055046001600160a01b031661077e57600c546000906106ee90600160401b90046001600160a01b0316611456565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de89061071d903090600401612027565b600060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b61078789611264565b6000610791611360565b905061079e81848b6114f3565b6107a88185611552565b6107bd6107b58a86611303565b83549061159e565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f19906107f9908690899060040161203b565b600060405180830381600087803b15801561081357600080fd5b505af1158015610827573d6000803e3d6000fd5b5050505089836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf8b88886040516108699392919061258e565b60405180910390a35092989197509095505050505050565b6000818152600f60205260409020545b919050565b6000908152600f6020526040902054151590565b6108b26115f8565b6108bb816116cc565b50565b6108c6611715565b6001600160a01b0316336001600160a01b0316146108f65760405162461bcd60e51b81526004016103d39061247c565b6108ff82610896565b61091b5760405162461bcd60e51b81526004016103d3906121aa565b6000828152600f602052604090208054610935908361159e565b815560405183907ff17fdee613a92b35db6b7598eb43750b24d4072eb304e6eca80121e40402e34b9061096990859061205f565b60405180910390a2505050565b61097e611740565b6108bb8161179f565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610a2557806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109e857600080fd5b505afa1580156109fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a209190611ff5565b610a28565b60005b9392505050565b610a376115f8565b6108bb81611847565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a7c57600080fd5b505af1158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b50516001600160a01b03163314610b04576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b5050505050505050565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610c3f576040516370a0823160e01b81526001600160a01b038216906370a0823190610bea908790600401612027565b60206040518083038186803b158015610c0257600080fd5b505afa158015610c16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3a9190611ff5565b610c42565b60005b949350505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c8657600080fd5b505af1158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516001600160a01b03163314610d0e576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050505050565b600c54600160401b90046001600160a01b031681565b600f602052600090815260409020805460019091015463ffffffff811690600160201b90046001600160a01b031683565b610db46115f8565b6108bb816118d7565b610dc56115f8565b6108bb8161195e565b610df77f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e207f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e497f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e727f00000000000000000000000000000000000000000000000000000000000000006119b8565b610e9b7f00000000000000000000000000000000000000000000000000000000000000006119b8565b610ec47f00000000000000000000000000000000000000000000000000000000000000006119b8565b610eed7f00000000000000000000000000000000000000000000000000000000000000006119b8565b565b600c54600160201b900463ffffffff1681565b610f0a611ab9565b6001600160a01b0316336001600160a01b031614610f65576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601054610100900460ff1680610f7e5750610f7e611ade565b80610f8c575060105460ff16155b610fc75760405162461bcd60e51b815260040180806020018281038252602e815260200180612631602e913960400191505060405180910390fd5b601054610100900460ff16158015610ff2576010805460ff1961ff0019909116610100171660011790555b610ffb8761097e565b6001600160a01b0386166110215760405162461bcd60e51b81526004016103d39061237a565b600e80546001600160a01b0319166001600160a01b038816179055611045846118d7565b61104e8361195e565b611057826116cc565b61106085611847565b8015611072576010805461ff00191690555b50505050505050565b600e546001600160a01b031681565b600c54600090819081906110b890620f4240906110b290879063ffffffff90811690611aef16565b90611b48565b905060006110cf866110ca8785611303565b611baf565b96919550909350505050565b600c5463ffffffff1681565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561114257600080fd5b505afa158015611156573d6000803e3d6000fd5b505050506040513d602081101561116c57600080fd5b5051156111a9576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f557600080fd5b505afa158015611209573d6000803e3d6000fd5b505050506040513d602081101561121f57600080fd5b505115610eed576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b600061126e611d7b565b90506001600160a01b038116156112ff576040516307470bfb60e21b81526001600160a01b03821690631d1c2fec906112ab90859060040161205f565b602060405180830381600087803b1580156112c557600080fd5b505af11580156112d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fd9190611ff5565b505b5050565b60008282111561135a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061138b7f0000000000000000000000000000000000000000000000000000000000000000611da2565b905090565b80156112fd57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156113ed57600080fd5b505af1158015611401573d6000803e3d6000fd5b505050506040513d602081101561141757600080fd5b50516112fd576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610891576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b80156112fd57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156113ed57600080fd5b80156112ff57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d4957600080fd5b600082820183811015610a28576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561164457600080fd5b505afa158015611658573d6000803e3d6000fd5b505050506040513d602081101561166e57600080fd5b50516001600160a01b03163314610eed576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b806116e95760405162461bcd60e51b81526004016103d390612336565b600d8190556040516000805160206126118339815191529061170a9061217a565b60405180910390a150565b600061138b7f0000000000000000000000000000000000000000000000000000000000000000611da2565b6000546001600160a01b03163314610eed576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166117f3576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6001600160a01b03811661186d5760405162461bcd60e51b81526004016103d39061209f565b61187681611e3e565b6118925760405162461bcd60e51b81526004016103d390612445565b600c805468010000000000000000600160e01b031916600160401b6001600160a01b038416021790556040516000805160206126118339815191529061170a90612553565b63ffffffff81166118fa5760405162461bcd60e51b81526004016103d3906123b1565b620f424063ffffffff821611156119235760405162461bcd60e51b81526004016103d3906123f2565b600c805467ffffffff000000001916600160201b63ffffffff8416021790556040516000805160206126118339815191529061170a90612120565b620f424063ffffffff821611156119875760405162461bcd60e51b81526004016103d3906124f6565b600c805463ffffffff191663ffffffff83161790556040516000805160206126118339815191529061170a906122aa565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611a0557600080fd5b505afa158015611a19573d6000803e3d6000fd5b505050506040513d6020811015611a2f57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146112ff5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611ae930611e3e565b15905090565b600082611afe5750600061048a565b82820282848281611b0b57fe5b0414610a285760405162461bcd60e51b815260040180806020018281038252602181526020018061265f6021913960400191505060405180910390fd5b6000808211611b9e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611ba757fe5b049392505050565b6000828152600f602090815260408083208151606081018352815480825260019092015463ffffffff811694820194909452600160201b9093046001600160a01b031691830191909152611ce557600d54831015611c1f5760405162461bcd60e51b81526004016103d3906120d6565b600e54600d54600c54611cdd92670de0b6b3a7640000926001600160a01b03909116916329a00e7c91849163ffffffff600160201b909104811690611c68908b90849061130316565b6040518563ffffffff1660e01b8152600401611c8794939291906125a4565b60206040518083038186803b158015611c9f57600080fd5b505afa158015611cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd79190611ff5565b9061159e565b91505061048a565b600e546001600160a01b03166329a00e7c611cff86610987565b835160208501516040516001600160e01b031960e086901b168152611d2b9392919089906004016125a4565b60206040518083038186803b158015611d4357600080fd5b505afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c429190611ff5565b600061138b7f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b03168061048a5760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611e0b57600080fd5b505afa158015611e1f573d6000803e3d6000fd5b505050506040513d6020811015611e3557600080fd5b50519392505050565b3b151590565b803563ffffffff8116811461089157600080fd5b600060208284031215611e69578081fd5b8135610a28816125fb565b60008060008060008060c08789031215611e8c578182fd5b8635611e97816125fb565b95506020870135611ea7816125fb565b94506040870135611eb7816125fb565b9350611ec560608801611e44565b9250611ed360808801611e44565b915060a087013590509295509295509295565b60008060408385031215611ef8578182fd5b8235611f03816125fb565b946020939093013593505050565b600060208284031215611f22578081fd5b5035919050565b60008060408385031215611f3b578182fd5b50508035926020909101359150565b600080600060608486031215611f5e578283fd5b505081359360208301359350604090920135919050565b600080600060408486031215611f89578283fd5b8335611f94816125fb565b9250602084013567ffffffffffffffff80821115611fb0578384fd5b818601915086601f830112611fc3578384fd5b813581811115611fd1578485fd5b876020828501011115611fe2578485fd5b6020830194508093505050509250925092565b600060208284031215612006578081fd5b5051919050565b60006020828403121561201e578081fd5b610a2882611e44565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b60208082526017908201527f43616e6e6f74206275726e207a65726f207369676e616c000000000000000000604082015260600190565b6020808252601e908201527f546f6b656e206d6173746572206d757374206265206e6f6e2d656d7074790000604082015260600190565b6020808252602a908201527f4375726174696f6e206465706f7369742069732062656c6f77206d696e696d756040820152691b481c995c5d5a5c995960b21b606082015260800190565b60208082526013908201527264656661756c7452657365727665526174696f60681b604082015260600190565b60208082526013908201527229b634b83830b3b290383937ba32b1ba34b7b760691b604082015260600190565b6020808252601690820152751b5a5b9a5b5d5b50dd5c985d1a5bdb91195c1bdcda5d60521b604082015260600190565b60208082526033908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527274656420746f20636f6c6c656374206665657360681b606082015260800190565b60208082526024908201527f43616e6e6f74206275726e206d6f7265207369676e616c207468616e20796f756040820152631037bbb760e11b606082015260800190565b60208082526043908201527f5369676e616c206d7573742062652061626f7665206f7220657175616c20746f60408201527f207369676e616c2069737375656420696e20746865206375726174696f6e20706060820152621bdbdb60ea1b608082015260a00190565b6020808252601590820152746375726174696f6e54617850657263656e7461676560581b604082015260600190565b6020808252603b908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527f74656420746f20706572666f726d2063616c63756c6174696f6e730000000000606082015260800190565b60208082526024908201527f4d696e696d756d206375726174696f6e206465706f7369742063616e6e6f74206040820152630626520360e41b606082015260800190565b60208082526019908201527f426f6e64696e67206375727665206d7573742062652073657400000000000000604082015260600190565b60208082526021908201527f44656661756c74207265736572766520726174696f206d757374206265203e206040820152600360fc1b606082015260800190565b60208082526033908201527f44656661756c74207265736572766520726174696f2063616e6e6f7420626520604082015272686967686572207468616e204d41585f50504d60681b606082015260800190565b6020808252601f908201527f546f6b656e206d6173746572206d757374206265206120636f6e747261637400604082015260600190565b60208082526023908201527f43616c6c6572206d75737420626520746865207374616b696e6720636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252601a908201527f43616e6e6f74206465706f736974207a65726f20746f6b656e73000000000000604082015260600190565b60208082526039908201527f4375726174696f6e207461782070657263656e74616765206d7573742062652060408201527f62656c6f77206f7220657175616c20746f204d41585f50504d00000000000000606082015260800190565b60208082526013908201527231bab930ba34b7b72a37b5b2b726b0b9ba32b960691b604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b938452602084019290925263ffffffff166040830152606082015260800190565b92835263ffffffff9190911660208301526001600160a01b0316604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b03811681146108bb57600080fdfe96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203338d03d9bfac23efd8029c03e98b53cddc3ebefc6c887d02092ab7ba246a15464736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/CurationStorage.sol/CurationV1Storage.dbg.json b/abis/curation/CurationStorage.sol/CurationV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/CurationStorage.sol/CurationV1Storage.json b/abis/curation/CurationStorage.sol/CurationV1Storage.json new file mode 100644 index 000000000..2ef348581 --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV1Storage.json @@ -0,0 +1,450 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CurationV1Storage", + "sourceName": "contracts/curation/CurationStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "bondingCurve", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTokenMaster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultReserveRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumCurationDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + }, + { + "internalType": "contract IGraphCurationToken", + "name": "gcs", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/CurationStorage.sol/CurationV2Storage.dbg.json b/abis/curation/CurationStorage.sol/CurationV2Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV2Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/CurationStorage.sol/CurationV2Storage.json b/abis/curation/CurationStorage.sol/CurationV2Storage.json new file mode 100644 index 000000000..6ddf58ff8 --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV2Storage.json @@ -0,0 +1,450 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CurationV2Storage", + "sourceName": "contracts/curation/CurationStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "bondingCurve", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTokenMaster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultReserveRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumCurationDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + }, + { + "internalType": "contract IGraphCurationToken", + "name": "gcs", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/CurationStorage.sol/CurationV3Storage.dbg.json b/abis/curation/CurationStorage.sol/CurationV3Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV3Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/CurationStorage.sol/CurationV3Storage.json b/abis/curation/CurationStorage.sol/CurationV3Storage.json new file mode 100644 index 000000000..fb03a122e --- /dev/null +++ b/abis/curation/CurationStorage.sol/CurationV3Storage.json @@ -0,0 +1,463 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CurationV3Storage", + "sourceName": "contracts/curation/CurationStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "bondingCurve", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTokenMaster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultReserveRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumCurationDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + }, + { + "internalType": "contract IGraphCurationToken", + "name": "gcs", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphService", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/GraphCurationToken.sol/GraphCurationToken.dbg.json b/abis/curation/GraphCurationToken.sol/GraphCurationToken.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/GraphCurationToken.sol/GraphCurationToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/GraphCurationToken.sol/GraphCurationToken.json b/abis/curation/GraphCurationToken.sol/GraphCurationToken.json new file mode 100644 index 000000000..a7c461f08 --- /dev/null +++ b/abis/curation/GraphCurationToken.sol/GraphCurationToken.json @@ -0,0 +1,414 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphCurationToken", + "sourceName": "contracts/curation/GraphCurationToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506114ec806100206000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806379ba5097116100a2578063a9059cbb11610071578063a9059cbb14610352578063c4d66de81461037e578063dd62ed3e146103a4578063e3056a34146103d2578063f2fde38b146103da57610116565b806379ba5097146102ea57806379cc6790146102f257806395d89b411461031e578063a457c2d71461032657610116565b806323b872dd116100e957806323b872dd14610216578063313ce5671461024c578063395093511461026a57806340c10f191461029657806370a08231146102c457610116565b806306fdde031461011b578063095ea7b3146101985780630c340a24146101d857806318160ddd146101fc575b600080fd5b610123610400565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610496565b604080519115158252519081900360200190f35b6101e06104b3565b604080516001600160a01b039092168252519081900360200190f35b6102046104c2565b60408051918252519081900360200190f35b6101c46004803603606081101561022c57600080fd5b506001600160a01b038135811691602081013590911690604001356104c8565b61025461054f565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561028057600080fd5b506001600160a01b038135169060200135610558565b6102c2600480360360408110156102ac57600080fd5b506001600160a01b0381351690602001356105a6565b005b610204600480360360208110156102da57600080fd5b50356001600160a01b031661060c565b6102c2610627565b6102c26004803603604081101561030857600080fd5b506001600160a01b038135169060200135610737565b610123610799565b6101c46004803603604081101561033c57600080fd5b506001600160a01b0381351690602001356107fa565b6101c46004803603604081101561036857600080fd5b506001600160a01b038135169060200135610862565b6102c26004803603602081101561039457600080fd5b50356001600160a01b0316610876565b610204600480360360408110156103ba57600080fd5b506001600160a01b0381358116916020013516610972565b6101e061099d565b6102c2600480360360208110156103f057600080fd5b50356001600160a01b03166109ac565b60368054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b60006104aa6104a3610aaa565b8484610aae565b50600192915050565b6065546001600160a01b031681565b60355490565b60006104d5848484610b9a565b610545846104e1610aaa565b61054085604051806060016040528060288152602001611400602891396001600160a01b038a1660009081526034602052604081209061051f610aaa565b6001600160a01b031681526020810191909152604001600020549190610cf7565b610aae565b5060019392505050565b60385460ff1690565b60006104aa610565610aaa565b846105408560346000610576610aaa565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d8e565b6065546001600160a01b031633146105fe576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106088282610def565b5050565b6001600160a01b031660009081526033602052604090205490565b6066546001600160a01b0316801580159061064a5750336001600160a01b038216145b61069b576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b606580546001600160a01b038381166001600160a01b0319808416919091179384905560668054909116905560405191811692169082907f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f90600090a36066546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6065546001600160a01b0316331461078f576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106088282610ee1565b60378054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561048c5780601f106104615761010080835404028352916020019161048c565b60006104aa610807610aaa565b84610540856040518060600160405280602581526020016114926025913960346000610831610aaa565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610cf7565b60006104aa61086f610aaa565b8484610b9a565b600054610100900460ff168061088f575061088f610fdd565b8061089d575060005460ff16155b6108d85760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff16158015610903576000805460ff1961ff0019909116610100171660011790555b61090c82610fee565b61095d604051806040016040528060148152602001734772617068204375726174696f6e20536861726560601b8152506040518060400160405280600381526020016247435360e81b815250611010565b8015610608576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6066546001600160a01b031681565b6065546001600160a01b03163314610a04576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610a56576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b606680546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b3390565b6001600160a01b038316610af35760405162461bcd60e51b815260040180806020018281038252602481526020018061146e6024913960400191505060405180910390fd5b6001600160a01b038216610b385760405162461bcd60e51b815260040180806020018281038252602281526020018061138a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610bdf5760405162461bcd60e51b81526004018080602001828103825260258152602001806114496025913960400191505060405180910390fd5b6001600160a01b038216610c245760405162461bcd60e51b81526004018080602001828103825260238152602001806113456023913960400191505060405180910390fd5b610c2f8383836110c1565b610c6c816040518060600160405280602681526020016113ac602691396001600160a01b0386166000908152603360205260409020549190610cf7565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610c9b9082610d8e565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4b578181015183820152602001610d33565b50505050905090810190601f168015610d785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610de8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610e4a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610e56600083836110c1565b603554610e639082610d8e565b6035556001600160a01b038216600090815260336020526040902054610e899082610d8e565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610f265760405162461bcd60e51b81526004018080602001828103825260218152602001806114286021913960400191505060405180910390fd5b610f32826000836110c1565b610f6f81604051806060016040528060228152602001611368602291396001600160a01b0385166000908152603360205260409020549190610cf7565b6001600160a01b038316600090815260336020526040902055603554610f9590826110c6565b6035556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000610fe830611123565b15905090565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16806110295750611029610fdd565b80611037575060005460ff16155b6110725760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff1615801561109d576000805460ff1961ff0019909116610100171660011790555b6110a5611129565b6110af83836111cb565b80156110c1576000805461ff00191690555b505050565b60008282111561111d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600054610100900460ff16806111425750611142610fdd565b80611150575060005460ff16155b61118b5760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff161580156111b6576000805460ff1961ff0019909116610100171660011790555b80156111c8576000805461ff00191690555b50565b600054610100900460ff16806111e457506111e4610fdd565b806111f2575060005460ff16155b61122d5760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff16158015611258576000805460ff1961ff0019909116610100171660011790555b825161126b9060369060208601906112a3565b50815161127f9060379060208501906112a3565b506038805460ff1916601217905580156110c1576000805461ff0019169055505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826112d9576000855561131f565b82601f106112f257805160ff191683800117855561131f565b8280016001018555821561131f579182015b8281111561131f578251825591602001919060010190611304565b5061132b92915061132f565b5090565b5b8082111561132b576000815560010161133056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b921bf57e340c6cad5da9add3b7da21aa7ae0254ef5c7481f7d197ac43f893ae64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806379ba5097116100a2578063a9059cbb11610071578063a9059cbb14610352578063c4d66de81461037e578063dd62ed3e146103a4578063e3056a34146103d2578063f2fde38b146103da57610116565b806379ba5097146102ea57806379cc6790146102f257806395d89b411461031e578063a457c2d71461032657610116565b806323b872dd116100e957806323b872dd14610216578063313ce5671461024c578063395093511461026a57806340c10f191461029657806370a08231146102c457610116565b806306fdde031461011b578063095ea7b3146101985780630c340a24146101d857806318160ddd146101fc575b600080fd5b610123610400565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610496565b604080519115158252519081900360200190f35b6101e06104b3565b604080516001600160a01b039092168252519081900360200190f35b6102046104c2565b60408051918252519081900360200190f35b6101c46004803603606081101561022c57600080fd5b506001600160a01b038135811691602081013590911690604001356104c8565b61025461054f565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561028057600080fd5b506001600160a01b038135169060200135610558565b6102c2600480360360408110156102ac57600080fd5b506001600160a01b0381351690602001356105a6565b005b610204600480360360208110156102da57600080fd5b50356001600160a01b031661060c565b6102c2610627565b6102c26004803603604081101561030857600080fd5b506001600160a01b038135169060200135610737565b610123610799565b6101c46004803603604081101561033c57600080fd5b506001600160a01b0381351690602001356107fa565b6101c46004803603604081101561036857600080fd5b506001600160a01b038135169060200135610862565b6102c26004803603602081101561039457600080fd5b50356001600160a01b0316610876565b610204600480360360408110156103ba57600080fd5b506001600160a01b0381358116916020013516610972565b6101e061099d565b6102c2600480360360208110156103f057600080fd5b50356001600160a01b03166109ac565b60368054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b60006104aa6104a3610aaa565b8484610aae565b50600192915050565b6065546001600160a01b031681565b60355490565b60006104d5848484610b9a565b610545846104e1610aaa565b61054085604051806060016040528060288152602001611400602891396001600160a01b038a1660009081526034602052604081209061051f610aaa565b6001600160a01b031681526020810191909152604001600020549190610cf7565b610aae565b5060019392505050565b60385460ff1690565b60006104aa610565610aaa565b846105408560346000610576610aaa565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d8e565b6065546001600160a01b031633146105fe576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106088282610def565b5050565b6001600160a01b031660009081526033602052604090205490565b6066546001600160a01b0316801580159061064a5750336001600160a01b038216145b61069b576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b606580546001600160a01b038381166001600160a01b0319808416919091179384905560668054909116905560405191811692169082907f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f90600090a36066546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6065546001600160a01b0316331461078f576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106088282610ee1565b60378054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561048c5780601f106104615761010080835404028352916020019161048c565b60006104aa610807610aaa565b84610540856040518060600160405280602581526020016114926025913960346000610831610aaa565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610cf7565b60006104aa61086f610aaa565b8484610b9a565b600054610100900460ff168061088f575061088f610fdd565b8061089d575060005460ff16155b6108d85760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff16158015610903576000805460ff1961ff0019909116610100171660011790555b61090c82610fee565b61095d604051806040016040528060148152602001734772617068204375726174696f6e20536861726560601b8152506040518060400160405280600381526020016247435360e81b815250611010565b8015610608576000805461ff00191690555050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6066546001600160a01b031681565b6065546001600160a01b03163314610a04576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610a56576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b606680546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b3390565b6001600160a01b038316610af35760405162461bcd60e51b815260040180806020018281038252602481526020018061146e6024913960400191505060405180910390fd5b6001600160a01b038216610b385760405162461bcd60e51b815260040180806020018281038252602281526020018061138a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610bdf5760405162461bcd60e51b81526004018080602001828103825260258152602001806114496025913960400191505060405180910390fd5b6001600160a01b038216610c245760405162461bcd60e51b81526004018080602001828103825260238152602001806113456023913960400191505060405180910390fd5b610c2f8383836110c1565b610c6c816040518060600160405280602681526020016113ac602691396001600160a01b0386166000908152603360205260409020549190610cf7565b6001600160a01b038085166000908152603360205260408082209390935590841681522054610c9b9082610d8e565b6001600160a01b0380841660008181526033602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610d865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4b578181015183820152602001610d33565b50505050905090810190601f168015610d785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610de8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610e4a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610e56600083836110c1565b603554610e639082610d8e565b6035556001600160a01b038216600090815260336020526040902054610e899082610d8e565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610f265760405162461bcd60e51b81526004018080602001828103825260218152602001806114286021913960400191505060405180910390fd5b610f32826000836110c1565b610f6f81604051806060016040528060228152602001611368602291396001600160a01b0385166000908152603360205260409020549190610cf7565b6001600160a01b038316600090815260336020526040902055603554610f9590826110c6565b6035556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000610fe830611123565b15905090565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16806110295750611029610fdd565b80611037575060005460ff16155b6110725760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff1615801561109d576000805460ff1961ff0019909116610100171660011790555b6110a5611129565b6110af83836111cb565b80156110c1576000805461ff00191690555b505050565b60008282111561111d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600054610100900460ff16806111425750611142610fdd565b80611150575060005460ff16155b61118b5760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff161580156111b6576000805460ff1961ff0019909116610100171660011790555b80156111c8576000805461ff00191690555b50565b600054610100900460ff16806111e457506111e4610fdd565b806111f2575060005460ff16155b61122d5760405162461bcd60e51b815260040180806020018281038252602e8152602001806113d2602e913960400191505060405180910390fd5b600054610100900460ff16158015611258576000805460ff1961ff0019909116610100171660011790555b825161126b9060369060208601906112a3565b50815161127f9060379060208501906112a3565b506038805460ff1916601217905580156110c1576000805461ff0019169055505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826112d9576000855561131f565b82601f106112f257805160ff191683800117855561131f565b8280016001018555821561131f579182015b8281111561131f578251825591602001919060010190611304565b5061132b92915061132f565b5090565b5b8082111561132b576000815560010161133056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220b921bf57e340c6cad5da9add3b7da21aa7ae0254ef5c7481f7d197ac43f893ae64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/ICuration.sol/ICuration.dbg.json b/abis/curation/ICuration.sol/ICuration.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/ICuration.sol/ICuration.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/ICuration.sol/ICuration.json b/abis/curation/ICuration.sol/ICuration.json new file mode 100644 index 000000000..68ced43ab --- /dev/null +++ b/abis/curation/ICuration.sol/ICuration.json @@ -0,0 +1,291 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ICuration", + "sourceName": "contracts/curation/ICuration.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_defaultReserveRatio", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.dbg.json b/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.json b/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.json new file mode 100644 index 000000000..e5ebc2ea3 --- /dev/null +++ b/abis/curation/IGraphCurationToken.sol/IGraphCurationToken.json @@ -0,0 +1,243 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGraphCurationToken", + "sourceName": "contracts/curation/IGraphCurationToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/GNS.sol/GNS.dbg.json b/abis/discovery/GNS.sol/GNS.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/GNS.sol/GNS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/GNS.sol/GNS.json b/abis/discovery/GNS.sol/GNS.json new file mode 100644 index 000000000..d1fffa661 --- /dev/null +++ b/abis/discovery/GNS.sol/GNS.json @@ -0,0 +1,1173 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GNS", + "sourceName": "contracts/discovery/GNS.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "CounterpartGNSAddressUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawnGRT", + "type": "uint256" + } + ], + "name": "GRTWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subgraphNumber", + "type": "uint256" + } + ], + "name": "LegacySubgraphClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nameSystem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nameIdentifier", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "SetDefaultName", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensReceived", + "type": "uint256" + } + ], + "name": "SignalBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensDeposited", + "type": "uint256" + } + ], + "name": "SignalMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalTransferred", + "type": "uint256" + } + ], + "name": "SignalTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "name": "SubgraphDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphMetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "subgraphNFT", + "type": "address" + } + ], + "name": "SubgraphNFTUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + } + ], + "name": "SubgraphPublished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensSignalled", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "SubgraphUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "versionMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphVersionUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burnSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGNSAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "deprecateSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_curator", + "type": "address" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "getLegacySubgraphKey", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isLegacySubgraph", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isPublished", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subgraphNumber", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "migrateLegacySubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalOutMin", + "type": "uint256" + } + ], + "name": "mintSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToVSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenID", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "publishNewSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "publishNewVersion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartGNSAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_nameSystem", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_nameIdentifier", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "setDefaultName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_ownerTaxPercentage", + "type": "uint32" + } + ], + "name": "setOwnerTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "setSubgraphNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "updateSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_vSignalIn", + "type": "uint256" + } + ], + "name": "vSignalToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/GNSStorage.sol/GNSV1Storage.dbg.json b/abis/discovery/GNSStorage.sol/GNSV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/GNSStorage.sol/GNSV1Storage.json b/abis/discovery/GNSStorage.sol/GNSV1Storage.json new file mode 100644 index 000000000..1245fee88 --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV1Storage.json @@ -0,0 +1,170 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GNSV1Storage", + "sourceName": "contracts/discovery/GNSStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/GNSStorage.sol/GNSV2Storage.dbg.json b/abis/discovery/GNSStorage.sol/GNSV2Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV2Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/GNSStorage.sol/GNSV2Storage.json b/abis/discovery/GNSStorage.sol/GNSV2Storage.json new file mode 100644 index 000000000..0d01a792e --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV2Storage.json @@ -0,0 +1,251 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GNSV2Storage", + "sourceName": "contracts/discovery/GNSStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/GNSStorage.sol/GNSV3Storage.dbg.json b/abis/discovery/GNSStorage.sol/GNSV3Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV3Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/GNSStorage.sol/GNSV3Storage.json b/abis/discovery/GNSStorage.sol/GNSV3Storage.json new file mode 100644 index 000000000..208650642 --- /dev/null +++ b/abis/discovery/GNSStorage.sol/GNSV3Storage.json @@ -0,0 +1,264 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GNSV3Storage", + "sourceName": "contracts/discovery/GNSStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGNSAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/IGNS.sol/IGNS.dbg.json b/abis/discovery/IGNS.sol/IGNS.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/IGNS.sol/IGNS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/IGNS.sol/IGNS.json b/abis/discovery/IGNS.sol/IGNS.json new file mode 100644 index 000000000..bf23b4c8c --- /dev/null +++ b/abis/discovery/IGNS.sol/IGNS.json @@ -0,0 +1,472 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGNS", + "sourceName": "contracts/discovery/IGNS.sol", + "abi": [ + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burnSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "deprecateSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_curator", + "type": "address" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "getLegacySubgraphKey", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isLegacySubgraph", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isPublished", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalOutMin", + "type": "uint256" + } + ], + "name": "mintSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToVSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenID", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "publishNewSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "publishNewVersion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_nameSystem", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_nameIdentifier", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "setDefaultName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_ownerTaxPercentage", + "type": "uint32" + } + ], + "name": "setOwnerTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "updateSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_vSignalIn", + "type": "uint256" + } + ], + "name": "vSignalToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/IServiceRegistry.sol/IServiceRegistry.dbg.json b/abis/discovery/IServiceRegistry.sol/IServiceRegistry.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/IServiceRegistry.sol/IServiceRegistry.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/IServiceRegistry.sol/IServiceRegistry.json b/abis/discovery/IServiceRegistry.sol/IServiceRegistry.json new file mode 100644 index 000000000..dd3c2b3d8 --- /dev/null +++ b/abis/discovery/IServiceRegistry.sol/IServiceRegistry.json @@ -0,0 +1,91 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IServiceRegistry", + "sourceName": "contracts/discovery/IServiceRegistry.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_url", + "type": "string" + }, + { + "internalType": "string", + "name": "_geohash", + "type": "string" + } + ], + "name": "register", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "string", + "name": "_url", + "type": "string" + }, + { + "internalType": "string", + "name": "_geohash", + "type": "string" + } + ], + "name": "registerFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unregister", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "unregisterFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.dbg.json b/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.json b/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.json new file mode 100644 index 000000000..11928138b --- /dev/null +++ b/abis/discovery/ISubgraphNFT.sol/ISubgraphNFT.json @@ -0,0 +1,403 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ISubgraphNFT", + "sourceName": "contracts/discovery/ISubgraphNFT.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "name": "setMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "setSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenDescriptor", + "type": "address" + } + ], + "name": "setTokenDescriptor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.dbg.json b/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.json b/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.json new file mode 100644 index 000000000..efd384d2e --- /dev/null +++ b/abis/discovery/ISubgraphNFTDescriptor.sol/ISubgraphNFTDescriptor.json @@ -0,0 +1,45 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ISubgraphNFTDescriptor", + "sourceName": "contracts/discovery/ISubgraphNFTDescriptor.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/L1GNS.sol/L1GNS.dbg.json b/abis/discovery/L1GNS.sol/L1GNS.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/L1GNS.sol/L1GNS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/L1GNS.sol/L1GNS.json b/abis/discovery/L1GNS.sol/L1GNS.json new file mode 100644 index 000000000..543a12c69 --- /dev/null +++ b/abis/discovery/L1GNS.sol/L1GNS.json @@ -0,0 +1,1320 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1GNS", + "sourceName": "contracts/discovery/L1GNS.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "CounterpartGNSAddressUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l1Curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "CuratorBalanceSentToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawnGRT", + "type": "uint256" + } + ], + "name": "GRTWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subgraphNumber", + "type": "uint256" + } + ], + "name": "LegacySubgraphClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nameSystem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nameIdentifier", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "SetDefaultName", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensReceived", + "type": "uint256" + } + ], + "name": "SignalBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensDeposited", + "type": "uint256" + } + ], + "name": "SignalMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalTransferred", + "type": "uint256" + } + ], + "name": "SignalTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "name": "SubgraphDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphMetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "subgraphNFT", + "type": "address" + } + ], + "name": "SubgraphNFTUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + } + ], + "name": "SubgraphPublished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l1Owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "SubgraphSentToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensSignalled", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "SubgraphUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "versionMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphVersionUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burnSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGNSAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "deprecateSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_curator", + "type": "address" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "getLegacySubgraphKey", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isLegacySubgraph", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isPublished", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subgraphNumber", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "migrateLegacySubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalOutMin", + "type": "uint256" + } + ], + "name": "mintSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToVSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenID", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "publishNewSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "publishNewVersion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "sendCuratorBalanceToBeneficiaryOnL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_l2Owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "sendSubgraphToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartGNSAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_nameSystem", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_nameIdentifier", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "setDefaultName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_ownerTaxPercentage", + "type": "uint32" + } + ], + "name": "setOwnerTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "setSubgraphNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphTransferredToL2", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "updateSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_vSignalIn", + "type": "uint256" + } + ], + "name": "vSignalToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101806040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea361014052613d0960e61b6101605234801561011a57600080fd5b5060805160a05160c05160e0516101005161012051610140516101605160e01c61429c61018f60003980611244528061129d525080611ff3525080611fca52806133d7525080611fa15280612867525080611f78525080611f4f525080611f26525080611efd528061295d525061429c6000f3fe6080604052600436106102515760003560e01c80639f0f22b711610139578063be8f4920116100b6578063d797f4bb1161007a578063d797f4bb14610719578063d882538614610739578063d916f27714610759578063e132973214610779578063eec16b0e14610799578063f77c4791146107ae57610251565b8063be8f492014610691578063cc2d23c7146106b1578063d2a8a9ae146106d1578063d495f9a7146106e4578063d6866ea51461070457610251565b8063ac9650d8116100fd578063ac9650d8146105d6578063b223505614610603578063b22ff4e814610623578063b43f6a0214610643578063b78edf701461067157610251565b80639f0f22b714610541578063a2594d8214610561578063a32571ee14610581578063a49a15f114610596578063a5143f02146105b657610251565b806353f615c9116101d2578063721eb08b11610196578063721eb08b146104745780637b156fb5146104a15780637ba95862146104c15780637bd1b0bf146104e157806392eefe9b146105015780639ce7abe51461052157610251565b806353f615c9146103b857806356ee0a85146103e75780636352211e1461040757806363bd3abe146104345780636a464ac21461045457610251565b8063428e593611610219578063428e593614610323578063485cc955146103455780634ca94ed5146103655780634dbecf2f146103855780634e8eb59b146103a557610251565b806314a76fdb14610256578063186722fa1461028d5780632e1a7d4d146102ba5780633710652c146102dc578063380d0c081461030e575b600080fd5b34801561026257600080fd5b506102766102713660046137b3565b6107c3565b6040516102849291906139fa565b60405180910390f35b34801561029957600080fd5b506102ad6102a83660046137e3565b6107e7565b6040516102849190613a7e565b3480156102c657600080fd5b506102da6102d53660046137b3565b610818565b005b3480156102e857600080fd5b506102fc6102f736600461358b565b610982565b604051610284969594939291906140d6565b34801561031a57600080fd5b506102da6109d0565b34801561032f57600080fd5b50610338610a63565b6040516102849190614106565b34801561035157600080fd5b506102da610360366004613553565b610a6f565b34801561037157600080fd5b506102766103803660046137b3565b610bab565b34801561039157600080fd5b506102ad6103a03660046137b3565b610bd0565b6102da6103b336600461383e565b610c0a565b3480156103c457600080fd5b506103d86103d3366004613885565b610dc4565b60405161028493929190613a95565b3480156103f357600080fd5b506102da6104023660046137b3565b610e81565b34801561041357600080fd5b506104276104223660046137b3565b610fd9565b604051610284919061399d565b34801561044057600080fd5b506102da61044f366004613807565b61105a565b34801561046057600080fd5b506102fc61046f3660046137b3565b611185565b34801561048057600080fd5b5061049461048f3660046137b3565b6111c8565b6040516102849190613a73565b3480156104ad57600080fd5b506104946104bc3660046137b3565b6111dd565b3480156104cd57600080fd5b506102da6104dc3660046136ef565b6111f0565b3480156104ed57600080fd5b506102da6104fc3660046138a6565b61131c565b34801561050d57600080fd5b506102da61051c36600461351b565b61155a565b34801561052d57600080fd5b506102da61053c366004613760565b61156b565b34801561054d57600080fd5b506102da61055c36600461351b565b6116c1565b34801561056d57600080fd5b506102da61057c36600461351b565b61171f565b34801561058d57600080fd5b5061042761183a565b3480156105a257600080fd5b506102ad6105b1366004613885565b611849565b3480156105c257600080fd5b506102da6105d136600461351b565b611885565b3480156105e257600080fd5b506105f66105f1366004613660565b611896565b6040516102849190613a13565b34801561060f57600080fd5b506102ad61061e36600461351b565b6119d6565b34801561062f57600080fd5b506102da61063e3660046135b6565b6119e8565b34801561064f57600080fd5b5061066361065e366004613885565b611b2f565b604051610284929190613a87565b34801561067d57600080fd5b506102da61068c3660046138dd565b611be8565b34801561069d57600080fd5b506102ad6106ac3660046137b3565b611bf9565b3480156106bd57600080fd5b506102da6106cc3660046135ea565b611c0e565b6102da6106df36600461383e565b611c84565b3480156106f057600080fd5b506102ad6106ff366004613885565b611ed4565b34801561071057600080fd5b506102da611ef8565b34801561072557600080fd5b506104946107343660046137b3565b612019565b34801561074557600080fd5b506102da6107543660046138a6565b612038565b34801561076557600080fd5b506102da610774366004613885565b6121cd565b34801561078557600080fd5b506102da6107943660046138a6565b612208565b3480156107a557600080fd5b50610427612550565b3480156107ba57600080fd5b5061042761255f565b600090815260116020526040902080546001909101546001600160a01b0390911691565b60006107f28361256e565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b6108206125ce565b600061082b8261256e565b6004810154909150640100000000900460ff1615156001146108685760405162461bcd60e51b815260040161085f90613f87565b60405180910390fd5b60058101546108895760405162461bcd60e51b815260040161085f90613b6c565b336000818152600283016020526040902054806108b85760405162461bcd60e51b815260040161085f90613e36565b60006108df84600101546108d986600501548561273c90919063ffffffff16565b9061279c565b6001600160a01b0384166000908152600286016020526040812055600185015490915061090c9083612803565b600185015560058401546109209082612803565b6005850155610937610930612860565b8483612890565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a8484604051610973929190613a87565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b6109d8612860565b6001600160a01b031663095ea7b36109ee612956565b6000196040518363ffffffff1660e01b8152600401610a0e9291906139fa565b602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906136cf565b50565b600c5463ffffffff1681565b610a77612981565b6001600160a01b0316336001600160a01b031614610ad2576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff1680610aed5750610aed6129a6565b80610b025750601354600160a01b900460ff16155b610b3d5760405162461bcd60e51b815260040180806020018281038252602e815260200180614218602e913960400191505060405180910390fd5b601354600160a81b900460ff16158015610b74576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b610b7d83611562565b610b896207a1206129b7565b610b9282612a23565b8015610ba6576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610bdc8361256e565b6001015490508015610bff576000610bf48483611b2f565b9350610c0592505050565b60009150505b919050565b610c126125ce565b60008581526047602052604090205460ff16610c405760405162461bcd60e51b815260040161085f90613d63565b610c54610c4d848461273c565b8290612ab9565b3414610c725760405162461bcd60e51b815260040161085f90613fea565b80610c8f5760405162461bcd60e51b815260040161085f90613c11565b6000610c9a8661256e565b33600090815260028201602052604090205490915080610ccc5760405162461bcd60e51b815260040161085f90613f64565b600182015480610cee5760405162461bcd60e51b815260040161085f90613f12565b60058301546000610d03836108d9868561273c565b9050600060018b8b604051602001610d1d93929190614157565b60408051601f1981840301815291815233600090815260028901602052908120559050610d4a8486612803565b6001870155610d598383612803565b6005870155610d6b828a8a8a85612b13565b896001600160a01b0316336001600160a01b03168c7fd6383ec977aa990dcf95328dfe34720fddeb10f1f0f95d26323f2aeb45acfcc485604051610daf9190613a7e565b60405180910390a45050505050505050505050565b600080600080610dd38661256e565b9050600080610de0612956565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610e11929190613a87565b604080518083038186803b158015610e2857600080fd5b505afa158015610e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6091906138ba565b915091506000610e708984611849565b929650919450925050509250925092565b610e89612c71565b8033610e9482610fd9565b6001600160a01b031614610eba5760405162461bcd60e51b815260040161085f90613d2c565b6000610ec583612d24565b90508060010154600014610f6b57610edb612956565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610f13929091600090600401613a95565b602060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6591906137cb565b60058201555b6004810180546000835563ffffffff1964ff000000001990911664010000000017169055610f9883612d5c565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba18260050154604051610fcc9190613a7e565b60405180910390a2505050565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e9061100a908590600401613a7e565b60206040518083038186803b15801561102257600080fd5b505afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108129190613537565b6110626125ce565b6001600160a01b0382166110885760405162461bcd60e51b815260040161085f90613de6565b600061109384612d24565b33600081815260028301602052604090205491925090838110156110c95760405162461bcd60e51b815260040161085f90613ae9565b6001600160a01b03821660009081526002840160205260409020546110ee9085612803565b6001600160a01b038084166000908152600286016020526040808220939093559087168152205461111f9085612ab9565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490611175908990613a7e565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b60476020526000908152604090205460ff1681565b60006108126111eb8361256e565b612dba565b6111f8612c71565b826112155760405162461bcd60e51b815260040161085f90613c3d565b33600061122182612ddf565b9050600061122e8261256e565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff1617905590506112788383612df3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f00000000000000000000000000000000000000000000000000000000000000006040516112c99190614106565b60405180910390a36112db8285612e3f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8760405161130c9190613a7e565b60405180910390a3505050505050565b6113246125ce565b600061132f84612d24565b33600081815260028301602052604090205491925090808511156113655760405162461bcd60e51b815260040161085f90613d89565b60006113718787611ed4565b9050600061137d612956565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b81526004016113b093929190613a95565b602060405180830381600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140291906137cb565b85549091506114119083612803565b855560018501546114229088612803565b60018601556001600160a01b038416600090815260028601602052604090205461144c9088612803565b6001600160a01b038516600090815260028701602052604090205561146f612860565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040161149c9291906139fa565b602060405180830381600087803b1580156114b657600080fd5b505af11580156114ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ee91906136cf565b61150a5760405162461bcd60e51b815260040161085f90613b35565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161154893929190613a95565b60405180910390a35050505050505050565b611562612edf565b610a6081612f3e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b50516001600160a01b0316331461162f576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156116a357600080fd5b505af11580156116b7573d6000803e3d6000fd5b5050505050505050565b6116c9612fe6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f9419061171490839061399d565b60405180910390a150565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561175b57600080fd5b505af115801561176f573d6000803e3d6000fd5b505050506040513d602081101561178557600080fd5b50516001600160a01b031633146117e3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561181e57600080fd5b505af1158015611832573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b6000806118558461256e565b80549091506118675782915050610812565b8054600182015461187d91906108d9908661273c565b949350505050565b61188d612fe6565b610a6081612a23565b60608167ffffffffffffffff811180156118af57600080fd5b506040519080825280602002602001820160405280156118e357816020015b60608152602001906001900390816118ce5790505b50905060005b828110156119cf576000803086868581811061190157fe5b9050602002810190611913919061417b565b60405161192192919061398d565b600060405180830381855af49150503d806000811461195c576040519150601f19603f3d011682016040523d82523d6000602084013e611961565b606091505b5091509150816119ad5760448151101561197a57600080fd5b60048101905080806020019051810190611994919061371a565b60405162461bcd60e51b815260040161085f9190613aab565b808484815181106119ba57fe5b602090810291909101015250506001016118e9565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f60209081526040808320858452909152902060030154151560018114611a315760405162461bcd60e51b815260040161085f90613bda565b6000611a3d85856130ba565b6000818152601160205260409020549091506001600160a01b031615611a755760405162461bcd60e51b815260040161085f90614015565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d825282812087825290915290812055611add8582612df3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b58785604051611b169190613a7e565b60405180910390a2611b288184612e3f565b5050505050565b6000806000611b3d85612d24565b90506000611b4b8686611ed4565b90506000611b57612956565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611b88929190613a87565b60206040518083038186803b158015611ba057600080fd5b505afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd891906137cb565b91945090925050505b9250929050565b611bf0612fe6565b610a60816129b7565b6000611c048261256e565b6001015492915050565b6001600160a01b0385163314611c365760405162461bcd60e51b815260040161085f90613ba3565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611c759493929190614117565b60405180910390a25050505050565b611c8c6125ce565b60008581526047602052604090205460ff1615611cbb5760405162461bcd60e51b815260040161085f90613f3e565b611cc8610c4d848461273c565b3414611ce65760405162461bcd60e51b815260040161085f90613fea565b6000611cf186612d24565b905033611cfd87610fd9565b6001600160a01b031614611d235760405162461bcd60e51b815260040161085f90613d2c565b6000868152604760205260408120805460ff19166001179055611d44612956565b600383015483546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792611d7c929091600090600401613a95565b602060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dce91906137cb565b60048301805464ff000000001916640100000000179055600080845533815260028401602052604081205460018501549293509190611e11826108d9858761273c565b3360009081526002870160205260408120559050611e2f8284612803565b6001860155611e3e8482612803565b60058601556000808b8b604051602001611e5a93929190614157565b6040516020818303038152906040529050611e78828a8a8a85612b13565b60048601805463ffffffff19169055611e908b612d5c565b896001600160a01b0316336001600160a01b03168c7f5b5010c0f6a4bed182c1050c02e3b010581be95cb8e03fefe48b4207c11cc6fa85604051610daf9190613a7e565b600080611ee08461256e565b6001810154815491925061187d916108d9908661273c565b611f217f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f4a7f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f737f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f9c7f00000000000000000000000000000000000000000000000000000000000000006130ee565b611fc57f00000000000000000000000000000000000000000000000000000000000000006130ee565b611fee7f00000000000000000000000000000000000000000000000000000000000000006130ee565b6120177f00000000000000000000000000000000000000000000000000000000000000006130ee565b565b600080612025836107c3565b506001600160a01b031615159392505050565b6120406125ce565b600061204b84612d24565b905033612060612059612860565b82866131f0565b600061206a612956565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b815260040161209e93929190613a95565b6040805180830381600087803b1580156120b757600080fd5b505af11580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ef91906138ba565b50905060006120fe8783611849565b9050848110156121205760405162461bcd60e51b815260040161085f90613cf5565b835461212c9083612ab9565b8455600184015461213d9082612ab9565b60018501556001600160a01b03831660009081526002850160205260409020546121679082612ab9565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906121bc90859087908c90613a95565b60405180910390a350505050505050565b81336121d882610fd9565b6001600160a01b0316146121fe5760405162461bcd60e51b815260040161085f90613d2c565b610ba68383612e3f565b612210612c71565b823361221b82610fd9565b6001600160a01b0316146122415760405162461bcd60e51b815260040161085f90613d2c565b600061224c85612d24565b90508361226b5760405162461bcd60e51b815260040161085f90613c3d565b806003015484141561228f5760405162461bcd60e51b815260040161085f90613c89565b6000612299612956565b604051634c4ea0ed60e01b81529091506001600160a01b03821690634c4ea0ed906122c8908890600401613a7e565b60206040518083038186803b1580156122e057600080fd5b505afa1580156122f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231891906136cf565b156123355760405162461bcd60e51b815260040161085f90614056565b60018201541561251657600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926123779291908690600401613a95565b602060405180830381600087803b15801561239157600080fd5b505af11580156123a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c991906137cb565b90506000339050600061244d8383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244891906138f9565b61324f565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab90612481908b908590600090600401613a95565b6040805180830381600087803b15801561249a57600080fd5b505af11580156124ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d291906138ba565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508969161250a918690613a87565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8660405161130c9190613a7e565b6013546001600160a01b031681565b6000546001600160a01b031681565b600081815260116020526040812080546001600160a01b0316156125bb5780546001600160a01b03166000908152600f602090815260408083206001909401548352929052209050610c05565b5050600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561261a57600080fd5b505afa15801561262e573d6000803e3d6000fd5b505050506040513d602081101561264457600080fd5b505115612681576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156126cd57600080fd5b505afa1580156126e1573d6000803e3d6000fd5b505050506040513d60208110156126f757600080fd5b505115612017576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261274b57506000610812565b8282028284828161275857fe5b04146127955760405162461bcd60e51b81526004018080602001828103825260218152602001806142466021913960400191505060405180910390fd5b9392505050565b60008082116127f2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816127fb57fe5b049392505050565b60008282111561285a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b905090565b8015610ba657826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156128ed57600080fd5b505af1158015612901573d6000803e3d6000fd5b505050506040513d602081101561291757600080fd5b5051610ba6576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006129b1306133ca565b15905090565b620f424063ffffffff821611156129e05760405162461bcd60e51b815260040161085f90613e6d565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061171490613fbe565b6001600160a01b038116612a495760405162461bcd60e51b815260040161085f90613eae565b612a52816133ca565b612a6e5760405162461bcd60e51b815260040161085f90613abe565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee9061171490839061399d565b600082820183811015612795576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282604051602001612b289291906140bd565b60405160208183030381529060405290506000612b43612860565b90506000612b4f6133d0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390612b809084908c906004016139fa565b602060405180830381600087803b158015612b9a57600080fd5b505af1158015612bae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd291906136cf565b5060145460405163d2ce7d6560e01b81526001600160a01b038084169263d2ce7d65923492612c109288929116908e908e908e908c906004016139b1565b6000604051808303818588803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612c66919081019061371a565b505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612cbd57600080fd5b505afa158015612cd1573d6000803e3d6000fd5b505050506040513d6020811015612ce757600080fd5b505115612017576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612d308361256e565b9050612d3b81612dba565b15156001146108125760405162461bcd60e51b815260040161085f90613ee5565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612d8c908490600401613a7e565b600060405180830381600087803b158015612da657600080fd5b505af1158015611b28573d6000803e3d6000fd5b60038101546000901580159061081257505060040154640100000000900460ff161590565b600061081282612dee846133fb565b61343f565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612e2590859085906004016139fa565b600060405180830381600087803b15801561181e57600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612e719085908590600401613a87565b600060405180830381600087803b158015612e8b57600080fd5b505af1158015612e9f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612ed39190613a7e565b60405180910390a25050565b6000546001600160a01b03163314612017576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612f92576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561303257600080fd5b505afa158015613046573d6000803e3d6000fd5b505050506040513d602081101561305c57600080fd5b50516001600160a01b03163314612017576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082826040516020016130cf929190613941565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561313b57600080fd5b505afa15801561314f573d6000803e3d6000fd5b505050506040513d602081101561316557600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146131ec5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610ba657604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156128ed57600080fd5b600063ffffffff8216158061326a5750600c5463ffffffff16155b15613276575082612795565b6000613292620f42406108d98763ffffffff8781169061273c16565b905060006132a08683612803565b600c549091506000906132c790620f4240906108d990869063ffffffff9081169061273c16565b905060006132d58383612ab9565b905060006132ff6132f2620f424063ffffffff808b169061280316565b6108d984620f424061273c565b9050600061330d828b612803565b905061332161331a612860565b8a836131f0565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806108125760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561339757600080fd5b505afa1580156133ab573d6000803e3d6000fd5b505050506040513d60208110156133c157600080fd5b50519392505050565b3b151590565b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b6001600160a01b0381166000908152600e602052604081205461341f816001612ab9565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061345990859085908490602001613963565b60408051601f198184030181529190528051602090910120949350505050565b600067ffffffffffffffff8084111561348e57fe5b604051601f8501601f1916810160200182811182821017156134ac57fe5b6040528481529150818385018610156134c457600080fd5b6134d28560208301866141c0565b50509392505050565b60008083601f8401126134ec578182fd5b50813567ffffffffffffffff811115613503578182fd5b602083019150836020828501011115611be157600080fd5b60006020828403121561352c578081fd5b8135612795816141f0565b600060208284031215613548578081fd5b8151612795816141f0565b60008060408385031215613565578081fd5b8235613570816141f0565b91506020830135613580816141f0565b809150509250929050565b6000806040838503121561359d578182fd5b82356135a8816141f0565b946020939093013593505050565b6000806000606084860312156135ca578081fd5b83356135d5816141f0565b95602085013595506040909401359392505050565b600080600080600060808688031215613601578081fd5b853561360c816141f0565b9450602086013560ff81168114613621578182fd5b935060408601359250606086013567ffffffffffffffff811115613643578182fd5b61364f888289016134db565b969995985093965092949392505050565b60008060208385031215613672578182fd5b823567ffffffffffffffff80821115613689578384fd5b818501915085601f83011261369c578384fd5b8135818111156136aa578485fd5b86602080830285010111156136bd578485fd5b60209290920196919550909350505050565b6000602082840312156136e0578081fd5b81518015158114612795578182fd5b600080600060608486031215613703578283fd5b505081359360208301359350604090920135919050565b60006020828403121561372b578081fd5b815167ffffffffffffffff811115613741578182fd5b8201601f81018413613751578182fd5b61187d84825160208401613479565b600080600060408486031215613774578081fd5b833561377f816141f0565b9250602084013567ffffffffffffffff81111561379a578182fd5b6137a6868287016134db565b9497909650939450505050565b6000602082840312156137c4578081fd5b5035919050565b6000602082840312156137dc578081fd5b5051919050565b600080604083850312156137f5578182fd5b823591506020830135613580816141f0565b60008060006060848603121561381b578081fd5b83359250602084013561382d816141f0565b929592945050506040919091013590565b600080600080600060a08688031215613855578283fd5b853594506020860135613867816141f0565b94979496505050506040830135926060810135926080909101359150565b60008060408385031215613897578182fd5b50508035926020909101359150565b600080600060608486031215613703578081fd5b600080604083850312156138cc578182fd5b505080516020909101519092909150565b6000602082840312156138ee578081fd5b813561279581614205565b60006020828403121561390a578081fd5b815161279581614205565b6000815180845261392d8160208601602086016141c0565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a08301526139ee60c0830184613915565b98975050505050505050565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613a6657603f19888603018452613a54858351613915565b94509285019290850190600101613a38565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526127956020830184613915565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b6020808252600c908201526b085514905394d1915494915160a21b604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252601290820152711393d7d4d55091d490541217d4d251d3905360721b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252600990820152681393d7d4d251d3905360ba1b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b602080825260119082015270494e56414c49445f4554485f56414c554560781b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b60208082526041908201527f474e533a204f776e65722063616e6e6f7420706f696e7420746f20612073756260408201527f67726170684944207468617420686173206265656e207072652d6375726174656060820152601960fa1b608082015260a00190565b60008382526040602083015261187d6040830184613915565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b60ff93909316835260208301919091526001600160a01b0316604082015260600190565b6000808335601e19843603018112614191578283fd5b83018035915067ffffffffffffffff8211156141ab578283fd5b602001915036819003821315611be157600080fd5b60005b838110156141db5781810151838201526020016141c3565b838111156141ea576000848401525b50505050565b6001600160a01b0381168114610a6057600080fd5b63ffffffff81168114610a6057600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e75d960478451dc47861017f44fac9ae0700e11b2eb393cadc8c4aa8367a804664736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106102515760003560e01c80639f0f22b711610139578063be8f4920116100b6578063d797f4bb1161007a578063d797f4bb14610719578063d882538614610739578063d916f27714610759578063e132973214610779578063eec16b0e14610799578063f77c4791146107ae57610251565b8063be8f492014610691578063cc2d23c7146106b1578063d2a8a9ae146106d1578063d495f9a7146106e4578063d6866ea51461070457610251565b8063ac9650d8116100fd578063ac9650d8146105d6578063b223505614610603578063b22ff4e814610623578063b43f6a0214610643578063b78edf701461067157610251565b80639f0f22b714610541578063a2594d8214610561578063a32571ee14610581578063a49a15f114610596578063a5143f02146105b657610251565b806353f615c9116101d2578063721eb08b11610196578063721eb08b146104745780637b156fb5146104a15780637ba95862146104c15780637bd1b0bf146104e157806392eefe9b146105015780639ce7abe51461052157610251565b806353f615c9146103b857806356ee0a85146103e75780636352211e1461040757806363bd3abe146104345780636a464ac21461045457610251565b8063428e593611610219578063428e593614610323578063485cc955146103455780634ca94ed5146103655780634dbecf2f146103855780634e8eb59b146103a557610251565b806314a76fdb14610256578063186722fa1461028d5780632e1a7d4d146102ba5780633710652c146102dc578063380d0c081461030e575b600080fd5b34801561026257600080fd5b506102766102713660046137b3565b6107c3565b6040516102849291906139fa565b60405180910390f35b34801561029957600080fd5b506102ad6102a83660046137e3565b6107e7565b6040516102849190613a7e565b3480156102c657600080fd5b506102da6102d53660046137b3565b610818565b005b3480156102e857600080fd5b506102fc6102f736600461358b565b610982565b604051610284969594939291906140d6565b34801561031a57600080fd5b506102da6109d0565b34801561032f57600080fd5b50610338610a63565b6040516102849190614106565b34801561035157600080fd5b506102da610360366004613553565b610a6f565b34801561037157600080fd5b506102766103803660046137b3565b610bab565b34801561039157600080fd5b506102ad6103a03660046137b3565b610bd0565b6102da6103b336600461383e565b610c0a565b3480156103c457600080fd5b506103d86103d3366004613885565b610dc4565b60405161028493929190613a95565b3480156103f357600080fd5b506102da6104023660046137b3565b610e81565b34801561041357600080fd5b506104276104223660046137b3565b610fd9565b604051610284919061399d565b34801561044057600080fd5b506102da61044f366004613807565b61105a565b34801561046057600080fd5b506102fc61046f3660046137b3565b611185565b34801561048057600080fd5b5061049461048f3660046137b3565b6111c8565b6040516102849190613a73565b3480156104ad57600080fd5b506104946104bc3660046137b3565b6111dd565b3480156104cd57600080fd5b506102da6104dc3660046136ef565b6111f0565b3480156104ed57600080fd5b506102da6104fc3660046138a6565b61131c565b34801561050d57600080fd5b506102da61051c36600461351b565b61155a565b34801561052d57600080fd5b506102da61053c366004613760565b61156b565b34801561054d57600080fd5b506102da61055c36600461351b565b6116c1565b34801561056d57600080fd5b506102da61057c36600461351b565b61171f565b34801561058d57600080fd5b5061042761183a565b3480156105a257600080fd5b506102ad6105b1366004613885565b611849565b3480156105c257600080fd5b506102da6105d136600461351b565b611885565b3480156105e257600080fd5b506105f66105f1366004613660565b611896565b6040516102849190613a13565b34801561060f57600080fd5b506102ad61061e36600461351b565b6119d6565b34801561062f57600080fd5b506102da61063e3660046135b6565b6119e8565b34801561064f57600080fd5b5061066361065e366004613885565b611b2f565b604051610284929190613a87565b34801561067d57600080fd5b506102da61068c3660046138dd565b611be8565b34801561069d57600080fd5b506102ad6106ac3660046137b3565b611bf9565b3480156106bd57600080fd5b506102da6106cc3660046135ea565b611c0e565b6102da6106df36600461383e565b611c84565b3480156106f057600080fd5b506102ad6106ff366004613885565b611ed4565b34801561071057600080fd5b506102da611ef8565b34801561072557600080fd5b506104946107343660046137b3565b612019565b34801561074557600080fd5b506102da6107543660046138a6565b612038565b34801561076557600080fd5b506102da610774366004613885565b6121cd565b34801561078557600080fd5b506102da6107943660046138a6565b612208565b3480156107a557600080fd5b50610427612550565b3480156107ba57600080fd5b5061042761255f565b600090815260116020526040902080546001909101546001600160a01b0390911691565b60006107f28361256e565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b6108206125ce565b600061082b8261256e565b6004810154909150640100000000900460ff1615156001146108685760405162461bcd60e51b815260040161085f90613f87565b60405180910390fd5b60058101546108895760405162461bcd60e51b815260040161085f90613b6c565b336000818152600283016020526040902054806108b85760405162461bcd60e51b815260040161085f90613e36565b60006108df84600101546108d986600501548561273c90919063ffffffff16565b9061279c565b6001600160a01b0384166000908152600286016020526040812055600185015490915061090c9083612803565b600185015560058401546109209082612803565b6005850155610937610930612860565b8483612890565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a8484604051610973929190613a87565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b6109d8612860565b6001600160a01b031663095ea7b36109ee612956565b6000196040518363ffffffff1660e01b8152600401610a0e9291906139fa565b602060405180830381600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6091906136cf565b50565b600c5463ffffffff1681565b610a77612981565b6001600160a01b0316336001600160a01b031614610ad2576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff1680610aed5750610aed6129a6565b80610b025750601354600160a01b900460ff16155b610b3d5760405162461bcd60e51b815260040180806020018281038252602e815260200180614218602e913960400191505060405180910390fd5b601354600160a81b900460ff16158015610b74576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b610b7d83611562565b610b896207a1206129b7565b610b9282612a23565b8015610ba6576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610bdc8361256e565b6001015490508015610bff576000610bf48483611b2f565b9350610c0592505050565b60009150505b919050565b610c126125ce565b60008581526047602052604090205460ff16610c405760405162461bcd60e51b815260040161085f90613d63565b610c54610c4d848461273c565b8290612ab9565b3414610c725760405162461bcd60e51b815260040161085f90613fea565b80610c8f5760405162461bcd60e51b815260040161085f90613c11565b6000610c9a8661256e565b33600090815260028201602052604090205490915080610ccc5760405162461bcd60e51b815260040161085f90613f64565b600182015480610cee5760405162461bcd60e51b815260040161085f90613f12565b60058301546000610d03836108d9868561273c565b9050600060018b8b604051602001610d1d93929190614157565b60408051601f1981840301815291815233600090815260028901602052908120559050610d4a8486612803565b6001870155610d598383612803565b6005870155610d6b828a8a8a85612b13565b896001600160a01b0316336001600160a01b03168c7fd6383ec977aa990dcf95328dfe34720fddeb10f1f0f95d26323f2aeb45acfcc485604051610daf9190613a7e565b60405180910390a45050505050505050505050565b600080600080610dd38661256e565b9050600080610de0612956565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610e11929190613a87565b604080518083038186803b158015610e2857600080fd5b505afa158015610e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6091906138ba565b915091506000610e708984611849565b929650919450925050509250925092565b610e89612c71565b8033610e9482610fd9565b6001600160a01b031614610eba5760405162461bcd60e51b815260040161085f90613d2c565b6000610ec583612d24565b90508060010154600014610f6b57610edb612956565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610f13929091600090600401613a95565b602060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6591906137cb565b60058201555b6004810180546000835563ffffffff1964ff000000001990911664010000000017169055610f9883612d5c565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba18260050154604051610fcc9190613a7e565b60405180910390a2505050565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e9061100a908590600401613a7e565b60206040518083038186803b15801561102257600080fd5b505afa158015611036573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108129190613537565b6110626125ce565b6001600160a01b0382166110885760405162461bcd60e51b815260040161085f90613de6565b600061109384612d24565b33600081815260028301602052604090205491925090838110156110c95760405162461bcd60e51b815260040161085f90613ae9565b6001600160a01b03821660009081526002840160205260409020546110ee9085612803565b6001600160a01b038084166000908152600286016020526040808220939093559087168152205461111f9085612ab9565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490611175908990613a7e565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b60476020526000908152604090205460ff1681565b60006108126111eb8361256e565b612dba565b6111f8612c71565b826112155760405162461bcd60e51b815260040161085f90613c3d565b33600061122182612ddf565b9050600061122e8261256e565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff1617905590506112788383612df3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f00000000000000000000000000000000000000000000000000000000000000006040516112c99190614106565b60405180910390a36112db8285612e3f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8760405161130c9190613a7e565b60405180910390a3505050505050565b6113246125ce565b600061132f84612d24565b33600081815260028301602052604090205491925090808511156113655760405162461bcd60e51b815260040161085f90613d89565b60006113718787611ed4565b9050600061137d612956565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b81526004016113b093929190613a95565b602060405180830381600087803b1580156113ca57600080fd5b505af11580156113de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140291906137cb565b85549091506114119083612803565b855560018501546114229088612803565b60018601556001600160a01b038416600090815260028601602052604090205461144c9088612803565b6001600160a01b038516600090815260028701602052604090205561146f612860565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040161149c9291906139fa565b602060405180830381600087803b1580156114b657600080fd5b505af11580156114ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ee91906136cf565b61150a5760405162461bcd60e51b815260040161085f90613b35565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161154893929190613a95565b60405180910390a35050505050505050565b611562612edf565b610a6081612f3e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b50516001600160a01b0316331461162f576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156116a357600080fd5b505af11580156116b7573d6000803e3d6000fd5b5050505050505050565b6116c9612fe6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f9419061171490839061399d565b60405180910390a150565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561175b57600080fd5b505af115801561176f573d6000803e3d6000fd5b505050506040513d602081101561178557600080fd5b50516001600160a01b031633146117e3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561181e57600080fd5b505af1158015611832573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b6000806118558461256e565b80549091506118675782915050610812565b8054600182015461187d91906108d9908661273c565b949350505050565b61188d612fe6565b610a6081612a23565b60608167ffffffffffffffff811180156118af57600080fd5b506040519080825280602002602001820160405280156118e357816020015b60608152602001906001900390816118ce5790505b50905060005b828110156119cf576000803086868581811061190157fe5b9050602002810190611913919061417b565b60405161192192919061398d565b600060405180830381855af49150503d806000811461195c576040519150601f19603f3d011682016040523d82523d6000602084013e611961565b606091505b5091509150816119ad5760448151101561197a57600080fd5b60048101905080806020019051810190611994919061371a565b60405162461bcd60e51b815260040161085f9190613aab565b808484815181106119ba57fe5b602090810291909101015250506001016118e9565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f60209081526040808320858452909152902060030154151560018114611a315760405162461bcd60e51b815260040161085f90613bda565b6000611a3d85856130ba565b6000818152601160205260409020549091506001600160a01b031615611a755760405162461bcd60e51b815260040161085f90614015565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d825282812087825290915290812055611add8582612df3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b58785604051611b169190613a7e565b60405180910390a2611b288184612e3f565b5050505050565b6000806000611b3d85612d24565b90506000611b4b8686611ed4565b90506000611b57612956565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611b88929190613a87565b60206040518083038186803b158015611ba057600080fd5b505afa158015611bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd891906137cb565b91945090925050505b9250929050565b611bf0612fe6565b610a60816129b7565b6000611c048261256e565b6001015492915050565b6001600160a01b0385163314611c365760405162461bcd60e51b815260040161085f90613ba3565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611c759493929190614117565b60405180910390a25050505050565b611c8c6125ce565b60008581526047602052604090205460ff1615611cbb5760405162461bcd60e51b815260040161085f90613f3e565b611cc8610c4d848461273c565b3414611ce65760405162461bcd60e51b815260040161085f90613fea565b6000611cf186612d24565b905033611cfd87610fd9565b6001600160a01b031614611d235760405162461bcd60e51b815260040161085f90613d2c565b6000868152604760205260408120805460ff19166001179055611d44612956565b600383015483546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792611d7c929091600090600401613a95565b602060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dce91906137cb565b60048301805464ff000000001916640100000000179055600080845533815260028401602052604081205460018501549293509190611e11826108d9858761273c565b3360009081526002870160205260408120559050611e2f8284612803565b6001860155611e3e8482612803565b60058601556000808b8b604051602001611e5a93929190614157565b6040516020818303038152906040529050611e78828a8a8a85612b13565b60048601805463ffffffff19169055611e908b612d5c565b896001600160a01b0316336001600160a01b03168c7f5b5010c0f6a4bed182c1050c02e3b010581be95cb8e03fefe48b4207c11cc6fa85604051610daf9190613a7e565b600080611ee08461256e565b6001810154815491925061187d916108d9908661273c565b611f217f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f4a7f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f737f00000000000000000000000000000000000000000000000000000000000000006130ee565b611f9c7f00000000000000000000000000000000000000000000000000000000000000006130ee565b611fc57f00000000000000000000000000000000000000000000000000000000000000006130ee565b611fee7f00000000000000000000000000000000000000000000000000000000000000006130ee565b6120177f00000000000000000000000000000000000000000000000000000000000000006130ee565b565b600080612025836107c3565b506001600160a01b031615159392505050565b6120406125ce565b600061204b84612d24565b905033612060612059612860565b82866131f0565b600061206a612956565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b815260040161209e93929190613a95565b6040805180830381600087803b1580156120b757600080fd5b505af11580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ef91906138ba565b50905060006120fe8783611849565b9050848110156121205760405162461bcd60e51b815260040161085f90613cf5565b835461212c9083612ab9565b8455600184015461213d9082612ab9565b60018501556001600160a01b03831660009081526002850160205260409020546121679082612ab9565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906121bc90859087908c90613a95565b60405180910390a350505050505050565b81336121d882610fd9565b6001600160a01b0316146121fe5760405162461bcd60e51b815260040161085f90613d2c565b610ba68383612e3f565b612210612c71565b823361221b82610fd9565b6001600160a01b0316146122415760405162461bcd60e51b815260040161085f90613d2c565b600061224c85612d24565b90508361226b5760405162461bcd60e51b815260040161085f90613c3d565b806003015484141561228f5760405162461bcd60e51b815260040161085f90613c89565b6000612299612956565b604051634c4ea0ed60e01b81529091506001600160a01b03821690634c4ea0ed906122c8908890600401613a7e565b60206040518083038186803b1580156122e057600080fd5b505afa1580156122f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231891906136cf565b156123355760405162461bcd60e51b815260040161085f90614056565b60018201541561251657600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926123779291908690600401613a95565b602060405180830381600087803b15801561239157600080fd5b505af11580156123a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c991906137cb565b90506000339050600061244d8383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b15801561241057600080fd5b505afa158015612424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244891906138f9565b61324f565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab90612481908b908590600090600401613a95565b6040805180830381600087803b15801561249a57600080fd5b505af11580156124ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d291906138ba565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508969161250a918690613a87565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8660405161130c9190613a7e565b6013546001600160a01b031681565b6000546001600160a01b031681565b600081815260116020526040812080546001600160a01b0316156125bb5780546001600160a01b03166000908152600f602090815260408083206001909401548352929052209050610c05565b5050600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561261a57600080fd5b505afa15801561262e573d6000803e3d6000fd5b505050506040513d602081101561264457600080fd5b505115612681576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156126cd57600080fd5b505afa1580156126e1573d6000803e3d6000fd5b505050506040513d60208110156126f757600080fd5b505115612017576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261274b57506000610812565b8282028284828161275857fe5b04146127955760405162461bcd60e51b81526004018080602001828103825260218152602001806142466021913960400191505060405180910390fd5b9392505050565b60008082116127f2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816127fb57fe5b049392505050565b60008282111561285a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b905090565b8015610ba657826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156128ed57600080fd5b505af1158015612901573d6000803e3d6000fd5b505050506040513d602081101561291757600080fd5b5051610ba6576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006129b1306133ca565b15905090565b620f424063ffffffff821611156129e05760405162461bcd60e51b815260040161085f90613e6d565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061171490613fbe565b6001600160a01b038116612a495760405162461bcd60e51b815260040161085f90613eae565b612a52816133ca565b612a6e5760405162461bcd60e51b815260040161085f90613abe565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee9061171490839061399d565b600082820183811015612795576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282604051602001612b289291906140bd565b60405160208183030381529060405290506000612b43612860565b90506000612b4f6133d0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390612b809084908c906004016139fa565b602060405180830381600087803b158015612b9a57600080fd5b505af1158015612bae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd291906136cf565b5060145460405163d2ce7d6560e01b81526001600160a01b038084169263d2ce7d65923492612c109288929116908e908e908e908c906004016139b1565b6000604051808303818588803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612c66919081019061371a565b505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612cbd57600080fd5b505afa158015612cd1573d6000803e3d6000fd5b505050506040513d6020811015612ce757600080fd5b505115612017576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612d308361256e565b9050612d3b81612dba565b15156001146108125760405162461bcd60e51b815260040161085f90613ee5565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612d8c908490600401613a7e565b600060405180830381600087803b158015612da657600080fd5b505af1158015611b28573d6000803e3d6000fd5b60038101546000901580159061081257505060040154640100000000900460ff161590565b600061081282612dee846133fb565b61343f565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612e2590859085906004016139fa565b600060405180830381600087803b15801561181e57600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612e719085908590600401613a87565b600060405180830381600087803b158015612e8b57600080fd5b505af1158015612e9f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612ed39190613a7e565b60405180910390a25050565b6000546001600160a01b03163314612017576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612f92576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561303257600080fd5b505afa158015613046573d6000803e3d6000fd5b505050506040513d602081101561305c57600080fd5b50516001600160a01b03163314612017576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082826040516020016130cf929190613941565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561313b57600080fd5b505afa15801561314f573d6000803e3d6000fd5b505050506040513d602081101561316557600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146131ec5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610ba657604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156128ed57600080fd5b600063ffffffff8216158061326a5750600c5463ffffffff16155b15613276575082612795565b6000613292620f42406108d98763ffffffff8781169061273c16565b905060006132a08683612803565b600c549091506000906132c790620f4240906108d990869063ffffffff9081169061273c16565b905060006132d58383612ab9565b905060006132ff6132f2620f424063ffffffff808b169061280316565b6108d984620f424061273c565b9050600061330d828b612803565b905061332161331a612860565b8a836131f0565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806108125760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561339757600080fd5b505afa1580156133ab573d6000803e3d6000fd5b505050506040513d60208110156133c157600080fd5b50519392505050565b3b151590565b600061288b7f000000000000000000000000000000000000000000000000000000000000000061332e565b6001600160a01b0381166000908152600e602052604081205461341f816001612ab9565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061345990859085908490602001613963565b60408051601f198184030181529190528051602090910120949350505050565b600067ffffffffffffffff8084111561348e57fe5b604051601f8501601f1916810160200182811182821017156134ac57fe5b6040528481529150818385018610156134c457600080fd5b6134d28560208301866141c0565b50509392505050565b60008083601f8401126134ec578182fd5b50813567ffffffffffffffff811115613503578182fd5b602083019150836020828501011115611be157600080fd5b60006020828403121561352c578081fd5b8135612795816141f0565b600060208284031215613548578081fd5b8151612795816141f0565b60008060408385031215613565578081fd5b8235613570816141f0565b91506020830135613580816141f0565b809150509250929050565b6000806040838503121561359d578182fd5b82356135a8816141f0565b946020939093013593505050565b6000806000606084860312156135ca578081fd5b83356135d5816141f0565b95602085013595506040909401359392505050565b600080600080600060808688031215613601578081fd5b853561360c816141f0565b9450602086013560ff81168114613621578182fd5b935060408601359250606086013567ffffffffffffffff811115613643578182fd5b61364f888289016134db565b969995985093965092949392505050565b60008060208385031215613672578182fd5b823567ffffffffffffffff80821115613689578384fd5b818501915085601f83011261369c578384fd5b8135818111156136aa578485fd5b86602080830285010111156136bd578485fd5b60209290920196919550909350505050565b6000602082840312156136e0578081fd5b81518015158114612795578182fd5b600080600060608486031215613703578283fd5b505081359360208301359350604090920135919050565b60006020828403121561372b578081fd5b815167ffffffffffffffff811115613741578182fd5b8201601f81018413613751578182fd5b61187d84825160208401613479565b600080600060408486031215613774578081fd5b833561377f816141f0565b9250602084013567ffffffffffffffff81111561379a578182fd5b6137a6868287016134db565b9497909650939450505050565b6000602082840312156137c4578081fd5b5035919050565b6000602082840312156137dc578081fd5b5051919050565b600080604083850312156137f5578182fd5b823591506020830135613580816141f0565b60008060006060848603121561381b578081fd5b83359250602084013561382d816141f0565b929592945050506040919091013590565b600080600080600060a08688031215613855578283fd5b853594506020860135613867816141f0565b94979496505050506040830135926060810135926080909101359150565b60008060408385031215613897578182fd5b50508035926020909101359150565b600080600060608486031215613703578081fd5b600080604083850312156138cc578182fd5b505080516020909101519092909150565b6000602082840312156138ee578081fd5b813561279581614205565b60006020828403121561390a578081fd5b815161279581614205565b6000815180845261392d8160208601602086016141c0565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a08301526139ee60c0830184613915565b98975050505050505050565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613a6657603f19888603018452613a54858351613915565b94509285019290850190600101613a38565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526127956020830184613915565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b6020808252600c908201526b085514905394d1915494915160a21b604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252601290820152711393d7d4d55091d490541217d4d251d3905360721b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252600990820152681393d7d4d251d3905360ba1b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b602080825260119082015270494e56414c49445f4554485f56414c554560781b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b60208082526041908201527f474e533a204f776e65722063616e6e6f7420706f696e7420746f20612073756260408201527f67726170684944207468617420686173206265656e207072652d6375726174656060820152601960fa1b608082015260a00190565b60008382526040602083015261187d6040830184613915565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b60ff93909316835260208301919091526001600160a01b0316604082015260600190565b6000808335601e19843603018112614191578283fd5b83018035915067ffffffffffffffff8211156141ab578283fd5b602001915036819003821315611be157600080fd5b60005b838110156141db5781810151838201526020016141c3565b838111156141ea576000848401525b50505050565b6001600160a01b0381168114610a6057600080fd5b63ffffffff81168114610a6057600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e75d960478451dc47861017f44fac9ae0700e11b2eb393cadc8c4aa8367a804664736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.dbg.json b/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.json b/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.json new file mode 100644 index 000000000..99ba29757 --- /dev/null +++ b/abis/discovery/L1GNSStorage.sol/L1GNSV1Storage.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1GNSV1Storage", + "sourceName": "contracts/discovery/L1GNSStorage.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphTransferredToL2", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/ServiceRegistry.sol/ServiceRegistry.dbg.json b/abis/discovery/ServiceRegistry.sol/ServiceRegistry.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/ServiceRegistry.sol/ServiceRegistry.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/ServiceRegistry.sol/ServiceRegistry.json b/abis/discovery/ServiceRegistry.sol/ServiceRegistry.json new file mode 100644 index 000000000..83afad7bc --- /dev/null +++ b/abis/discovery/ServiceRegistry.sol/ServiceRegistry.json @@ -0,0 +1,275 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ServiceRegistry", + "sourceName": "contracts/discovery/ServiceRegistry.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "geohash", + "type": "string" + } + ], + "name": "ServiceRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + } + ], + "name": "ServiceUnregistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_url", + "type": "string" + }, + { + "internalType": "string", + "name": "_geohash", + "type": "string" + } + ], + "name": "register", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "string", + "name": "_url", + "type": "string" + }, + { + "internalType": "string", + "name": "_geohash", + "type": "string" + } + ], + "name": "registerFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "services", + "outputs": [ + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "string", + "name": "geohash", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unregister", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "unregisterFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516111b36101696000398061073a5250806107115250806106e85250806106bf5280610c6152508061069652508061066d52508061064452506111b36000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c3c5a54711610071578063c3c5a54714610144578063c4d66de814610164578063cc02d54e14610177578063d6866ea51461018a578063e79a198f14610192578063f77c47911461019a576100b4565b80633ffbd47f146100b95780634d2e54a8146100ce5780636d966d01146100e157806392eefe9b1461010b5780639ce7abe51461011e578063a2594d8214610131575b600080fd5b6100cc6100c7366004610f64565b6101af565b005b6100cc6100dc366004610e4e565b6101c2565b6100f46100ef366004610e4e565b6101ce565b6040516101029291906110ad565b60405180910390f35b6100cc610119366004610e4e565b61030d565b6100cc61012c366004610f11565b61031e565b6100cc61013f366004610e4e565b610474565b610157610152366004610e4e565b61058f565b604051610102919061105c565b6100cc610172366004610e4e565b6105bf565b6100cc610185366004610e71565b61062b565b6100cc61063f565b6100cc610760565b6101a2610769565b6040516101029190611067565b6101bc3385858585610778565b50505050565b6101cb816108d3565b50565b600c6020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156102655780601f1061023a57610100808354040283529160200191610265565b820191906000526020600020905b81548152906001019060200180831161024857829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905082565b610315610987565b6101cb816109e6565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561035a57600080fd5b505af115801561036e573d6000803e3d6000fd5b505050506040513d602081101561038457600080fd5b50516001600160a01b031633146103e2576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561045657600080fd5b505af115801561046a573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104b057600080fd5b505af11580156104c4573d6000803e3d6000fd5b505050506040513d60208110156104da57600080fd5b50516001600160a01b03163314610538576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050505050565b6001600160a01b03166000908152600c602052604090205460026001821615610100026000190190911604151590565b6105c7610a8e565b6001600160a01b0316336001600160a01b031614610622576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6101cb81610315565b6106388585858585610778565b5050505050565b6106687f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106917f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106ba7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106e37f0000000000000000000000000000000000000000000000000000000000000000610ab3565b61070c7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6107357f0000000000000000000000000000000000000000000000000000000000000000610ab3565b61075e7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b565b61075e336108d3565b6000546001600160a01b031681565b61078185610bb5565b6107a65760405162461bcd60e51b815260040161079d90611149565b60405180910390fd5b826107c35760405162461bcd60e51b815260040161079d906110db565b6040805160606020601f87018190040282018101835291810185815290918291908790879081908501838280828437600092019190915250505090825250604080516020601f86018190048102820181019092528481529181019190859085908190840183828082843760009201829052509390945250506001600160a01b0388168152600c6020908152604090912083518051919350610868928492910190610d26565b5060208281015180516108819260018501920190610d26565b50905050846001600160a01b03167fd0306c1da0ed1d7b7d56ac9ef91ed1f717e3d2d63a55ebe8dc2891056687f300858585856040516108c4949392919061107b565b60405180910390a25050505050565b6108dc81610bb5565b6108f85760405162461bcd60e51b815260040161079d90611149565b6109018161058f565b61091d5760405162461bcd60e51b815260040161079d90611112565b6001600160a01b0381166000908152600c60205260408120906109408282610db2565b61094e600183016000610db2565b50506040516001600160a01b038216907f63c24bceb981b7dda3e62a0bfafcfbb8f71b65e884dcd2410d04d57490a4ee4690600090a250565b6000546001600160a01b0316331461075e576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610a3a576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610b0057600080fd5b505afa158015610b14573d6000803e3d6000fd5b505050506040513d6020811015610b2a57600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610bb15760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b6000336001600160a01b0383161480610c545750610bd1610c5a565b6001600160a01b031663b6363cf233846040518363ffffffff1660e01b8152600401610bfe929190611042565b60206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190610ef1565b15156001145b92915050565b6000610c857f0000000000000000000000000000000000000000000000000000000000000000610c8a565b905090565b6000818152600160205260408120546001600160a01b031680610c545760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6020811015610d1d57600080fd5b50519392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282610d5c5760008555610da2565b82601f10610d7557805160ff1916838001178555610da2565b82800160010185558215610da2579182015b82811115610da2578251825591602001919060010190610d87565b50610dae929150610df2565b5090565b50805460018160011615610100020316600290046000825580601f10610dd857506101cb565b601f0160209004906000526020600020908101906101cb91905b5b80821115610dae5760008155600101610df3565b60008083601f840112610e18578182fd5b50813567ffffffffffffffff811115610e2f578182fd5b602083019150836020828501011115610e4757600080fd5b9250929050565b600060208284031215610e5f578081fd5b8135610e6a81611168565b9392505050565b600080600080600060608688031215610e88578081fd5b8535610e9381611168565b9450602086013567ffffffffffffffff80821115610eaf578283fd5b610ebb89838a01610e07565b90965094506040880135915080821115610ed3578283fd5b50610ee088828901610e07565b969995985093965092949392505050565b600060208284031215610f02578081fd5b81518015158114610e6a578182fd5b600080600060408486031215610f25578283fd5b8335610f3081611168565b9250602084013567ffffffffffffffff811115610f4b578283fd5b610f5786828701610e07565b9497909650939450505050565b60008060008060408587031215610f79578384fd5b843567ffffffffffffffff80821115610f90578586fd5b610f9c88838901610e07565b90965094506020870135915080821115610fb4578384fd5b50610fc187828801610e07565b95989497509550505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561101c57602081850181015186830182015201611000565b8181111561102d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b6001600160a01b0391909116815260200190565b60006040825261108f604083018688610fcd565b82810360208401526110a2818587610fcd565b979650505050505050565b6000604082526110c06040830185610ff7565b82810360208401526110d28185610ff7565b95945050505050565b6020808252601a908201527f53657276696365206d757374207370656369667920612055524c000000000000604082015260600190565b6020808252601c908201527f5365727669636520616c726561647920756e7265676973746572656400000000604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6001600160a01b03811681146101cb57600080fdfea26469706673582212207c50a9195a24e3b984f2df00f6e96c1aef436ab1ac049b55a9faa5bc134b3a9c64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063c3c5a54711610071578063c3c5a54714610144578063c4d66de814610164578063cc02d54e14610177578063d6866ea51461018a578063e79a198f14610192578063f77c47911461019a576100b4565b80633ffbd47f146100b95780634d2e54a8146100ce5780636d966d01146100e157806392eefe9b1461010b5780639ce7abe51461011e578063a2594d8214610131575b600080fd5b6100cc6100c7366004610f64565b6101af565b005b6100cc6100dc366004610e4e565b6101c2565b6100f46100ef366004610e4e565b6101ce565b6040516101029291906110ad565b60405180910390f35b6100cc610119366004610e4e565b61030d565b6100cc61012c366004610f11565b61031e565b6100cc61013f366004610e4e565b610474565b610157610152366004610e4e565b61058f565b604051610102919061105c565b6100cc610172366004610e4e565b6105bf565b6100cc610185366004610e71565b61062b565b6100cc61063f565b6100cc610760565b6101a2610769565b6040516101029190611067565b6101bc3385858585610778565b50505050565b6101cb816108d3565b50565b600c6020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156102655780601f1061023a57610100808354040283529160200191610265565b820191906000526020600020905b81548152906001019060200180831161024857829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905082565b610315610987565b6101cb816109e6565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561035a57600080fd5b505af115801561036e573d6000803e3d6000fd5b505050506040513d602081101561038457600080fd5b50516001600160a01b031633146103e2576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561045657600080fd5b505af115801561046a573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104b057600080fd5b505af11580156104c4573d6000803e3d6000fd5b505050506040513d60208110156104da57600080fd5b50516001600160a01b03163314610538576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561057357600080fd5b505af1158015610587573d6000803e3d6000fd5b505050505050565b6001600160a01b03166000908152600c602052604090205460026001821615610100026000190190911604151590565b6105c7610a8e565b6001600160a01b0316336001600160a01b031614610622576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6101cb81610315565b6106388585858585610778565b5050505050565b6106687f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106917f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106ba7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6106e37f0000000000000000000000000000000000000000000000000000000000000000610ab3565b61070c7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b6107357f0000000000000000000000000000000000000000000000000000000000000000610ab3565b61075e7f0000000000000000000000000000000000000000000000000000000000000000610ab3565b565b61075e336108d3565b6000546001600160a01b031681565b61078185610bb5565b6107a65760405162461bcd60e51b815260040161079d90611149565b60405180910390fd5b826107c35760405162461bcd60e51b815260040161079d906110db565b6040805160606020601f87018190040282018101835291810185815290918291908790879081908501838280828437600092019190915250505090825250604080516020601f86018190048102820181019092528481529181019190859085908190840183828082843760009201829052509390945250506001600160a01b0388168152600c6020908152604090912083518051919350610868928492910190610d26565b5060208281015180516108819260018501920190610d26565b50905050846001600160a01b03167fd0306c1da0ed1d7b7d56ac9ef91ed1f717e3d2d63a55ebe8dc2891056687f300858585856040516108c4949392919061107b565b60405180910390a25050505050565b6108dc81610bb5565b6108f85760405162461bcd60e51b815260040161079d90611149565b6109018161058f565b61091d5760405162461bcd60e51b815260040161079d90611112565b6001600160a01b0381166000908152600c60205260408120906109408282610db2565b61094e600183016000610db2565b50506040516001600160a01b038216907f63c24bceb981b7dda3e62a0bfafcfbb8f71b65e884dcd2410d04d57490a4ee4690600090a250565b6000546001600160a01b0316331461075e576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610a3a576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610b0057600080fd5b505afa158015610b14573d6000803e3d6000fd5b505050506040513d6020811015610b2a57600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610bb15760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b6000336001600160a01b0383161480610c545750610bd1610c5a565b6001600160a01b031663b6363cf233846040518363ffffffff1660e01b8152600401610bfe929190611042565b60206040518083038186803b158015610c1657600080fd5b505afa158015610c2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4e9190610ef1565b15156001145b92915050565b6000610c857f0000000000000000000000000000000000000000000000000000000000000000610c8a565b905090565b6000818152600160205260408120546001600160a01b031680610c545760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610cf357600080fd5b505afa158015610d07573d6000803e3d6000fd5b505050506040513d6020811015610d1d57600080fd5b50519392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282610d5c5760008555610da2565b82601f10610d7557805160ff1916838001178555610da2565b82800160010185558215610da2579182015b82811115610da2578251825591602001919060010190610d87565b50610dae929150610df2565b5090565b50805460018160011615610100020316600290046000825580601f10610dd857506101cb565b601f0160209004906000526020600020908101906101cb91905b5b80821115610dae5760008155600101610df3565b60008083601f840112610e18578182fd5b50813567ffffffffffffffff811115610e2f578182fd5b602083019150836020828501011115610e4757600080fd5b9250929050565b600060208284031215610e5f578081fd5b8135610e6a81611168565b9392505050565b600080600080600060608688031215610e88578081fd5b8535610e9381611168565b9450602086013567ffffffffffffffff80821115610eaf578283fd5b610ebb89838a01610e07565b90965094506040880135915080821115610ed3578283fd5b50610ee088828901610e07565b969995985093965092949392505050565b600060208284031215610f02578081fd5b81518015158114610e6a578182fd5b600080600060408486031215610f25578283fd5b8335610f3081611168565b9250602084013567ffffffffffffffff811115610f4b578283fd5b610f5786828701610e07565b9497909650939450505050565b60008060008060408587031215610f79578384fd5b843567ffffffffffffffff80821115610f90578586fd5b610f9c88838901610e07565b90965094506020870135915080821115610fb4578384fd5b50610fc187828801610e07565b95989497509550505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452815b8181101561101c57602081850181015186830182015201611000565b8181111561102d5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b6001600160a01b0391909116815260200190565b60006040825261108f604083018688610fcd565b82810360208401526110a2818587610fcd565b979650505050505050565b6000604082526110c06040830185610ff7565b82810360208401526110d28185610ff7565b95945050505050565b6020808252601a908201527f53657276696365206d757374207370656369667920612055524c000000000000604082015260600190565b6020808252601c908201527f5365727669636520616c726561647920756e7265676973746572656400000000604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6001600160a01b03811681146101cb57600080fdfea26469706673582212207c50a9195a24e3b984f2df00f6e96c1aef436ab1ac049b55a9faa5bc134b3a9c64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.dbg.json b/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.json b/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.json new file mode 100644 index 000000000..aab09771c --- /dev/null +++ b/abis/discovery/ServiceRegistryStorage.sol/ServiceRegistryV1Storage.json @@ -0,0 +1,113 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ServiceRegistryV1Storage", + "sourceName": "contracts/discovery/ServiceRegistryStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "services", + "outputs": [ + { + "internalType": "string", + "name": "url", + "type": "string" + }, + { + "internalType": "string", + "name": "geohash", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161066b610164600039806103f75250806103ce5250806103a552508061037c52508061035352508061032a525080610301525061066b6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d966d011461005157806392eefe9b14610155578063d6866ea51461017d578063f77c479114610185575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166101a9565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156100b85781810151838201526020016100a0565b50505050905090810190601f1680156100e55780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61017b6004803603602081101561016b57600080fd5b50356001600160a01b03166102e8565b005b61017b6102fc565b61018d61041d565b604080516001600160a01b039092168252519081900360200190f35b600c6020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102de5780601f106102b3576101008083540402835291602001916102de565b820191906000526020600020905b8154815290600101906020018083116102c157829003601f168201915b5050505050905082565b6102f061042c565b6102f98161048b565b50565b6103257f0000000000000000000000000000000000000000000000000000000000000000610533565b61034e7f0000000000000000000000000000000000000000000000000000000000000000610533565b6103777f0000000000000000000000000000000000000000000000000000000000000000610533565b6103a07f0000000000000000000000000000000000000000000000000000000000000000610533565b6103c97f0000000000000000000000000000000000000000000000000000000000000000610533565b6103f27f0000000000000000000000000000000000000000000000000000000000000000610533565b61041b7f0000000000000000000000000000000000000000000000000000000000000000610533565b565b6000546001600160a01b031681565b6000546001600160a01b0316331461041b576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166104df576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561058057600080fd5b505afa158015610594573d6000803e3d6000fd5b505050506040513d60208110156105aa57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146106315760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212202bc7fcfcab8c9108fb950e7ccf76056ea36257be88b4d1ffc24601ed399960a564736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d966d011461005157806392eefe9b14610155578063d6866ea51461017d578063f77c479114610185575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166101a9565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156100b85781810151838201526020016100a0565b50505050905090810190601f1680156100e55780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610118578181015183820152602001610100565b50505050905090810190601f1680156101455780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b61017b6004803603602081101561016b57600080fd5b50356001600160a01b03166102e8565b005b61017b6102fc565b61018d61041d565b604080516001600160a01b039092168252519081900360200190f35b600c6020908152600091825260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529092918391908301828280156102405780601f1061021557610100808354040283529160200191610240565b820191906000526020600020905b81548152906001019060200180831161022357829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102de5780601f106102b3576101008083540402835291602001916102de565b820191906000526020600020905b8154815290600101906020018083116102c157829003601f168201915b5050505050905082565b6102f061042c565b6102f98161048b565b50565b6103257f0000000000000000000000000000000000000000000000000000000000000000610533565b61034e7f0000000000000000000000000000000000000000000000000000000000000000610533565b6103777f0000000000000000000000000000000000000000000000000000000000000000610533565b6103a07f0000000000000000000000000000000000000000000000000000000000000000610533565b6103c97f0000000000000000000000000000000000000000000000000000000000000000610533565b6103f27f0000000000000000000000000000000000000000000000000000000000000000610533565b61041b7f0000000000000000000000000000000000000000000000000000000000000000610533565b565b6000546001600160a01b031681565b6000546001600160a01b0316331461041b576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166104df576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561058057600080fd5b505afa158015610594573d6000803e3d6000fd5b505050506040513d60208110156105aa57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146106315760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212202bc7fcfcab8c9108fb950e7ccf76056ea36257be88b4d1ffc24601ed399960a564736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/SubgraphNFT.sol/SubgraphNFT.dbg.json b/abis/discovery/SubgraphNFT.sol/SubgraphNFT.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/SubgraphNFT.sol/SubgraphNFT.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/SubgraphNFT.sol/SubgraphNFT.json b/abis/discovery/SubgraphNFT.sol/SubgraphNFT.json new file mode 100644 index 000000000..63811349c --- /dev/null +++ b/abis/discovery/SubgraphNFT.sol/SubgraphNFT.json @@ -0,0 +1,664 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SubgraphNFT", + "sourceName": "contracts/discovery/SubgraphNFT.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_governor", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "minter", + "type": "address" + } + ], + "name": "MinterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphURI", + "type": "bytes32" + } + ], + "name": "SubgraphMetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "tokenDescriptor", + "type": "address" + } + ], + "name": "TokenDescriptorUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "minter", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_minter", + "type": "address" + } + ], + "name": "setMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "setSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenDescriptor", + "type": "address" + } + ], + "name": "setTokenDescriptor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenDescriptor", + "outputs": [ + { + "internalType": "contract ISubgraphNFTDescriptor", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162002ad738038062002ad7833981810160405260208110156200003757600080fd5b505160408051808201825260088152670a6eac4cee4c2e0d60c31b60208281019190915282518084019093526002835261534760f01b9083015290620000846301ffc9a760e01b620000fb565b815162000099906008906020850190620001a2565b508051620000af906009906020840190620001a2565b50620000c26380ac58cd60e01b620000fb565b620000d4635b5e139f60e01b620000fb565b620000e663780e9d6360e01b620000fb565b50620000f490508162000180565b506200024e565b6001600160e01b031980821614156200015b576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152600260205260409020805460ff19166001179055565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620001da576000855562000225565b82601f10620001f557805160ff191683800117855562000225565b8280016001018555821562000225579182015b828111156200022557825182559160200191906001019062000208565b506200023392915062000237565b5090565b5b8082111562000233576000815560010162000238565b612879806200025e6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806355f804b311610104578063a22cb465116100a2578063e3056a3411610071578063e3056a341461067e578063e985e9c514610686578063f2fde38b146106b4578063fca3b5aa146106da576101cf565b8063a22cb46514610547578063b6dc7ea314610575578063b88d4fde1461059b578063c87b56dd14610661576101cf565b80636c0360eb116100de5780636c0360eb1461050957806370a082311461051157806379ba50971461053757806395d89b411461053f576101cf565b806355f804b31461043e5780635a9d7a68146104e45780636352211e146104ec576101cf565b806323b872dd1161017157806340c10f191161014b57806340c10f19146103a257806342842e0e146103ce57806342966c68146104045780634f6ccce714610421576101cf565b806323b872dd1461031d5780632f745c5914610353578063398b28d21461037f576101cf565b8063081812fc116101ad578063081812fc146102b0578063095ea7b3146102cd5780630c340a24146102fb57806318160ddd14610303576101cf565b806301ffc9a7146101d457806306fdde031461020f578063075461721461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b031916610700565b604080519115158252519081900360200190f35b610217610723565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102946107b9565b604080516001600160a01b039092168252519081900360200190f35b610294600480360360208110156102c657600080fd5b50356107c8565b6102f9600480360360408110156102e357600080fd5b506001600160a01b03813516906020013561082a565b005b610294610905565b61030b610914565b60408051918252519081900360200190f35b6102f96004803603606081101561033357600080fd5b506001600160a01b03813581169160208101359091169060400135610925565b61030b6004803603604081101561036957600080fd5b506001600160a01b03813516906020013561097c565b6102f96004803603604081101561039557600080fd5b50803590602001356109a7565b6102f9600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610a88565b6102f9600480360360608110156103e457600080fd5b506001600160a01b03813581169160208101359091169060400135610ae8565b6102f96004803603602081101561041a57600080fd5b5035610b03565b61030b6004803603602081101561043757600080fd5b5035610b61565b6102f96004803603602081101561045457600080fd5b81019060208101813564010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b77945050505050565b610294610bd8565b6102946004803603602081101561050257600080fd5b5035610be7565b610217610c0f565b61030b6004803603602081101561052757600080fd5b50356001600160a01b0316610c70565b6102f9610cd8565b610217610de6565b6102f96004803603604081101561055d57600080fd5b506001600160a01b0381351690602001351515610e47565b6102f96004803603602081101561058b57600080fd5b50356001600160a01b0316610f4c565b6102f9600480360360808110156105b157600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fad945050505050565b6102176004803603602081101561067757600080fd5b503561100b565b61029461141a565b6101fb6004803603604081101561069c57600080fd5b506001600160a01b0381358116916020013516611429565b6102f9600480360360208110156106ca57600080fd5b50356001600160a01b0316611457565b6102f9600480360360208110156106f057600080fd5b50356001600160a01b0316611555565b6001600160e01b0319811660009081526002602052604090205460ff165b919050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b820191906000526020600020905b81548152906001019060200180831161079257829003601f168201915b5050505050905090565b600c546001600160a01b031681565b60006107d3826115b6565b61080e5760405162461bcd60e51b815260040180806020018281038252602c815260200180612742602c913960400191505060405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061083582610be7565b9050806001600160a01b0316836001600160a01b031614156108885760405162461bcd60e51b81526004018080602001828103825260218152602001806127f26021913960400191505060405180910390fd5b806001600160a01b031661089a6115c3565b6001600160a01b031614806108bb57506108bb816108b66115c3565b611429565b6108f65760405162461bcd60e51b81526004018080602001828103825260388152602001806126956038913960400191505060405180910390fd5b61090083836115c7565b505050565b6000546001600160a01b031681565b60006109206004611635565b905090565b6109366109306115c3565b82611640565b6109715760405162461bcd60e51b81526004018080602001828103825260318152602001806128136031913960400191505060405180910390fd5b6109008383836116e4565b6001600160a01b038216600090815260036020526040812061099e9083611830565b90505b92915050565b600c546001600160a01b031633146109f9576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610a02826115b6565b610a3d5760405162461bcd60e51b815260040180806020018281038252602c81526020018061276e602c913960400191505060405180910390fd5b6000828152600e60209081526040918290208390558151838152915184927fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2192908290030190a25050565b600c546001600160a01b03163314610ada576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610ae4828261183c565b5050565b61090083838360405180602001604052806000815250610fad565b600c546001600160a01b03163314610b55576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610b5e8161196a565b50565b600080610b6f600484611a37565b509392505050565b6000546001600160a01b03163314610bcf576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611a53565b600d546001600160a01b031681565b60006109a1826040518060600160405280602981526020016126f76029913960049190611a66565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b60006001600160a01b038216610cb75760405162461bcd60e51b815260040180806020018281038252602a8152602001806126cd602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206109a190611635565b6001546001600160a01b03168015801590610cfb5750336001600160a01b038216145b610d4c576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b610e4f6115c3565b6001600160a01b0316826001600160a01b03161415610eb5576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060076000610ec26115c3565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610f066115c3565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6000546001600160a01b03163314610fa4576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611a7d565b610fbe610fb86115c3565b83611640565b610ff95760405162461bcd60e51b81526004018080602001828103825260318152602001806128136031913960400191505060405180910390fd5b61100584848484611b3c565b50505050565b6060611016826115b6565b6110515760405162461bcd60e51b815260040180806020018281038252602f8152602001806127c3602f913960400191505060405180910390fd5b600d546001600160a01b03161561124057600d54600c546001600160a01b039182169163bacc1fc5911684611084610c0f565b600e6000888152602001908152602001600020546040518563ffffffff1660e01b815260040180856001600160a01b0316815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156110ff5781810151838201526020016110e7565b50505050905090810190601f16801561112c5780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b15801561114c57600080fd5b505afa158015611160573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561118957600080fd5b81019080805160405193929190846401000000008211156111a957600080fd5b9083019060208201858111156111be57600080fd5b82516401000000008111828201881017156111d857600080fd5b82525081516020918201929091019080838360005b838110156112055781810151838201526020016111ed565b50505050905090810190601f1680156112325780820380516001836020036101000a031916815260200191505b50604052505050905061071e565b6000828152600e6020526040812054908161126a5760405180602001604052806000815250611273565b61127382611b8e565b9050600061127f610c0f565b90508051600014156112955750915061071e9050565b8151156113575780826040516020018083805190602001908083835b602083106112d05780518252601f1990920191602091820191016112b1565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106113185780518252601f1990920191602091820191016112f9565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052935050505061071e565b8061136186611b8e565b6040516020018083805190602001908083835b602083106113935780518252601f199092019160209182019101611374565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106113db5780518252601f1990920191602091820191016113bc565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529350505050919050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6000546001600160a01b031633146114af576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116611501576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146115ad576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611bd9565b60006109a1600483611c2d565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b03841690811790915581906115fc82610be7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006109a182611c39565b600061164b826115b6565b6116865760405162461bcd60e51b815260040180806020018281038252602c815260200180612669602c913960400191505060405180910390fd5b600061169183610be7565b9050806001600160a01b0316846001600160a01b031614806116cc5750836001600160a01b03166116c1846107c8565b6001600160a01b0316145b806116dc57506116dc8185611429565b949350505050565b826001600160a01b03166116f782610be7565b6001600160a01b03161461173c5760405162461bcd60e51b815260040180806020018281038252602981526020018061279a6029913960400191505060405180910390fd5b6001600160a01b0382166117815760405162461bcd60e51b81526004018080602001828103825260248152602001806126456024913960400191505060405180910390fd5b61178c838383610900565b6117976000826115c7565b6001600160a01b03831660009081526003602052604090206117b99082611c3d565b506001600160a01b03821660009081526003602052604090206117dc9082611c49565b506117e960048284611c55565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061099e8383611c6b565b6001600160a01b038216611897576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6118a0816115b6565b156118f2576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b6118fe60008383610900565b6001600160a01b03821660009081526003602052604090206119209082611c49565b5061192d60048284611c55565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600061197582610be7565b905061198381600084610900565b61198e6000836115c7565b6000828152600a602052604090205460026000196101006001841615020190911604156119cc576000828152600a602052604081206119cc9161250b565b6001600160a01b03811660009081526003602052604090206119ee9083611c3d565b506119fa600483611ccf565b5060405182906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000808080611a468686611cdb565b9097909650945050505050565b8051610ae490600b90602084019061254f565b6000611a73848484611d56565b90505b9392505050565b6001600160a01b0381161580611a975750611a9781611e20565b611ae8576040805162461bcd60e51b815260206004820152601d60248201527f4e46543a20496e76616c696420746f6b656e2064657363726970746f72000000604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3934ad1ed486f466741ebe514443b58c79f12249bc03796d34e619f5ae27c3da9181900360200190a150565b611b478484846116e4565b611b5384848484611e26565b6110055760405162461bcd60e51b81526004018080602001828103825260328152602001806126136032913960400191505060405180910390fd5b606081611bb657506040805180820190915260048152630307830360e41b602082015261071e565b8160005b8115611bcf5760089190911c90600101611bba565b6116dc8482611f8e565b600c80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a9181900360200190a150565b600061099e83836120ed565b5490565b600061099e8383612105565b600061099e83836121cb565b6000611a7384846001600160a01b038516612215565b81546000908210611cad5760405162461bcd60e51b81526004018080602001828103825260228152602001806125f16022913960400191505060405180910390fd5b826000018281548110611cbc57fe5b9060005260206000200154905092915050565b600061099e83836122ac565b815460009081908310611d1f5760405162461bcd60e51b81526004018080602001828103825260228152602001806127206022913960400191505060405180910390fd5b6000846000018481548110611d3057fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281611df15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611db6578181015183820152602001611d9e565b50505050905090810190601f168015611de35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110611e0457fe5b9060005260206000209060020201600101549150509392505050565b3b151590565b6000611e3a846001600160a01b0316611e20565b611e46575060016116dc565b6000611f54630a85bd0160e11b611e5b6115c3565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ec2578181015183820152602001611eaa565b50505050905090810190601f168015611eef5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001612613603291396001600160a01b0388169190612380565b90506000818060200190516020811015611f6d57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b606060008260020260020167ffffffffffffffff81118015611faf57600080fd5b506040519080825280601f01601f191660200182016040528015611fda576020820181803683370190505b509050600360fc1b81600081518110611fef57fe5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061201857fe5b60200101906001600160f81b031916908160001a905350600160028402015b6001811115612099576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061206257fe5b1a60f81b82828151811061207257fe5b60200101906001600160f81b031916908160001a90535060049490941c9360001901612037565b50831561099e576040805162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015290519081900360640190fd5b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156121c1578354600019808301919081019060009087908390811061213857fe5b906000526020600020015490508087600001848154811061215557fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061218557fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506109a1565b60009150506109a1565b60006121d783836120ed565b61220d575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556109a1565b5060006109a1565b60008281526001840160205260408120548061227a575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611a76565b8285600001600183038154811061228d57fe5b9060005260206000209060020201600101819055506000915050611a76565b600081815260018301602052604081205480156121c157835460001980830191908101906000908790839081106122df57fe5b90600052602060002090600202019050808760000184815481106122ff57fe5b60009182526020808320845460029093020191825560019384015491840191909155835482528983019052604090209084019055865487908061233e57fe5b60008281526020808220600260001990940193840201828155600190810183905592909355888152898201909252604082209190915594506109a19350505050565b6060611a7384846000858561239485611e20565b6123e5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106124235780518252601f199092019160209182019101612404565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612485576040519150601f19603f3d011682016040523d82523d6000602084013e61248a565b606091505b509150915061249a8282866124a5565b979650505050505050565b606083156124b4575081611a76565b8251156124c45782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611db6578181015183820152602001611d9e565b50805460018160011615610100020316600290046000825580601f106125315750610b5e565b601f016020900490600052602060002090810190610b5e91906125db565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261258557600085556125cb565b82601f1061259e57805160ff19168380011785556125cb565b828001600101855582156125cb579182015b828111156125cb5782518255916020019190600101906125b0565b506125d79291506125db565b5090565b5b808211156125d757600081556001016125dc56fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220aa2bf06635ddb9eb78616542b4addf31da5e4e0600c085a02b7a3c8bac611b5f64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806355f804b311610104578063a22cb465116100a2578063e3056a3411610071578063e3056a341461067e578063e985e9c514610686578063f2fde38b146106b4578063fca3b5aa146106da576101cf565b8063a22cb46514610547578063b6dc7ea314610575578063b88d4fde1461059b578063c87b56dd14610661576101cf565b80636c0360eb116100de5780636c0360eb1461050957806370a082311461051157806379ba50971461053757806395d89b411461053f576101cf565b806355f804b31461043e5780635a9d7a68146104e45780636352211e146104ec576101cf565b806323b872dd1161017157806340c10f191161014b57806340c10f19146103a257806342842e0e146103ce57806342966c68146104045780634f6ccce714610421576101cf565b806323b872dd1461031d5780632f745c5914610353578063398b28d21461037f576101cf565b8063081812fc116101ad578063081812fc146102b0578063095ea7b3146102cd5780630c340a24146102fb57806318160ddd14610303576101cf565b806301ffc9a7146101d457806306fdde031461020f578063075461721461028c575b600080fd5b6101fb600480360360208110156101ea57600080fd5b50356001600160e01b031916610700565b604080519115158252519081900360200190f35b610217610723565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610251578181015183820152602001610239565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102946107b9565b604080516001600160a01b039092168252519081900360200190f35b610294600480360360208110156102c657600080fd5b50356107c8565b6102f9600480360360408110156102e357600080fd5b506001600160a01b03813516906020013561082a565b005b610294610905565b61030b610914565b60408051918252519081900360200190f35b6102f96004803603606081101561033357600080fd5b506001600160a01b03813581169160208101359091169060400135610925565b61030b6004803603604081101561036957600080fd5b506001600160a01b03813516906020013561097c565b6102f96004803603604081101561039557600080fd5b50803590602001356109a7565b6102f9600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610a88565b6102f9600480360360608110156103e457600080fd5b506001600160a01b03813581169160208101359091169060400135610ae8565b6102f96004803603602081101561041a57600080fd5b5035610b03565b61030b6004803603602081101561043757600080fd5b5035610b61565b6102f96004803603602081101561045457600080fd5b81019060208101813564010000000081111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111640100000000831117156104a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b77945050505050565b610294610bd8565b6102946004803603602081101561050257600080fd5b5035610be7565b610217610c0f565b61030b6004803603602081101561052757600080fd5b50356001600160a01b0316610c70565b6102f9610cd8565b610217610de6565b6102f96004803603604081101561055d57600080fd5b506001600160a01b0381351690602001351515610e47565b6102f96004803603602081101561058b57600080fd5b50356001600160a01b0316610f4c565b6102f9600480360360808110156105b157600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156105ec57600080fd5b8201836020820111156105fe57600080fd5b8035906020019184600183028401116401000000008311171561062057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610fad945050505050565b6102176004803603602081101561067757600080fd5b503561100b565b61029461141a565b6101fb6004803603604081101561069c57600080fd5b506001600160a01b0381358116916020013516611429565b6102f9600480360360208110156106ca57600080fd5b50356001600160a01b0316611457565b6102f9600480360360208110156106f057600080fd5b50356001600160a01b0316611555565b6001600160e01b0319811660009081526002602052604090205460ff165b919050565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b820191906000526020600020905b81548152906001019060200180831161079257829003601f168201915b5050505050905090565b600c546001600160a01b031681565b60006107d3826115b6565b61080e5760405162461bcd60e51b815260040180806020018281038252602c815260200180612742602c913960400191505060405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061083582610be7565b9050806001600160a01b0316836001600160a01b031614156108885760405162461bcd60e51b81526004018080602001828103825260218152602001806127f26021913960400191505060405180910390fd5b806001600160a01b031661089a6115c3565b6001600160a01b031614806108bb57506108bb816108b66115c3565b611429565b6108f65760405162461bcd60e51b81526004018080602001828103825260388152602001806126956038913960400191505060405180910390fd5b61090083836115c7565b505050565b6000546001600160a01b031681565b60006109206004611635565b905090565b6109366109306115c3565b82611640565b6109715760405162461bcd60e51b81526004018080602001828103825260318152602001806128136031913960400191505060405180910390fd5b6109008383836116e4565b6001600160a01b038216600090815260036020526040812061099e9083611830565b90505b92915050565b600c546001600160a01b031633146109f9576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610a02826115b6565b610a3d5760405162461bcd60e51b815260040180806020018281038252602c81526020018061276e602c913960400191505060405180910390fd5b6000828152600e60209081526040918290208390558151838152915184927fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2192908290030190a25050565b600c546001600160a01b03163314610ada576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610ae4828261183c565b5050565b61090083838360405180602001604052806000815250610fad565b600c546001600160a01b03163314610b55576040805162461bcd60e51b815260206004820152601060248201526f26bab9ba10313290309036b4b73a32b960811b604482015290519081900360640190fd5b610b5e8161196a565b50565b600080610b6f600484611a37565b509392505050565b6000546001600160a01b03163314610bcf576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611a53565b600d546001600160a01b031681565b60006109a1826040518060600160405280602981526020016126f76029913960049190611a66565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b60006001600160a01b038216610cb75760405162461bcd60e51b815260040180806020018281038252602a8152602001806126cd602a913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090206109a190611635565b6001546001600160a01b03168015801590610cfb5750336001600160a01b038216145b610d4c576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107af5780601f10610784576101008083540402835291602001916107af565b610e4f6115c3565b6001600160a01b0316826001600160a01b03161415610eb5576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060076000610ec26115c3565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610f066115c3565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6000546001600160a01b03163314610fa4576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611a7d565b610fbe610fb86115c3565b83611640565b610ff95760405162461bcd60e51b81526004018080602001828103825260318152602001806128136031913960400191505060405180910390fd5b61100584848484611b3c565b50505050565b6060611016826115b6565b6110515760405162461bcd60e51b815260040180806020018281038252602f8152602001806127c3602f913960400191505060405180910390fd5b600d546001600160a01b03161561124057600d54600c546001600160a01b039182169163bacc1fc5911684611084610c0f565b600e6000888152602001908152602001600020546040518563ffffffff1660e01b815260040180856001600160a01b0316815260200184815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156110ff5781810151838201526020016110e7565b50505050905090810190601f16801561112c5780820380516001836020036101000a031916815260200191505b509550505050505060006040518083038186803b15801561114c57600080fd5b505afa158015611160573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561118957600080fd5b81019080805160405193929190846401000000008211156111a957600080fd5b9083019060208201858111156111be57600080fd5b82516401000000008111828201881017156111d857600080fd5b82525081516020918201929091019080838360005b838110156112055781810151838201526020016111ed565b50505050905090810190601f1680156112325780820380516001836020036101000a031916815260200191505b50604052505050905061071e565b6000828152600e6020526040812054908161126a5760405180602001604052806000815250611273565b61127382611b8e565b9050600061127f610c0f565b90508051600014156112955750915061071e9050565b8151156113575780826040516020018083805190602001908083835b602083106112d05780518252601f1990920191602091820191016112b1565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106113185780518252601f1990920191602091820191016112f9565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052935050505061071e565b8061136186611b8e565b6040516020018083805190602001908083835b602083106113935780518252601f199092019160209182019101611374565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106113db5780518252601f1990920191602091820191016113bc565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529350505050919050565b6001546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6000546001600160a01b031633146114af576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116611501576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146115ad576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b610b5e81611bd9565b60006109a1600483611c2d565b3390565b600081815260066020526040902080546001600160a01b0319166001600160a01b03841690811790915581906115fc82610be7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006109a182611c39565b600061164b826115b6565b6116865760405162461bcd60e51b815260040180806020018281038252602c815260200180612669602c913960400191505060405180910390fd5b600061169183610be7565b9050806001600160a01b0316846001600160a01b031614806116cc5750836001600160a01b03166116c1846107c8565b6001600160a01b0316145b806116dc57506116dc8185611429565b949350505050565b826001600160a01b03166116f782610be7565b6001600160a01b03161461173c5760405162461bcd60e51b815260040180806020018281038252602981526020018061279a6029913960400191505060405180910390fd5b6001600160a01b0382166117815760405162461bcd60e51b81526004018080602001828103825260248152602001806126456024913960400191505060405180910390fd5b61178c838383610900565b6117976000826115c7565b6001600160a01b03831660009081526003602052604090206117b99082611c3d565b506001600160a01b03821660009081526003602052604090206117dc9082611c49565b506117e960048284611c55565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061099e8383611c6b565b6001600160a01b038216611897576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6118a0816115b6565b156118f2576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b6118fe60008383610900565b6001600160a01b03821660009081526003602052604090206119209082611c49565b5061192d60048284611c55565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600061197582610be7565b905061198381600084610900565b61198e6000836115c7565b6000828152600a602052604090205460026000196101006001841615020190911604156119cc576000828152600a602052604081206119cc9161250b565b6001600160a01b03811660009081526003602052604090206119ee9083611c3d565b506119fa600483611ccf565b5060405182906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000808080611a468686611cdb565b9097909650945050505050565b8051610ae490600b90602084019061254f565b6000611a73848484611d56565b90505b9392505050565b6001600160a01b0381161580611a975750611a9781611e20565b611ae8576040805162461bcd60e51b815260206004820152601d60248201527f4e46543a20496e76616c696420746f6b656e2064657363726970746f72000000604482015290519081900360640190fd5b600d80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f3934ad1ed486f466741ebe514443b58c79f12249bc03796d34e619f5ae27c3da9181900360200190a150565b611b478484846116e4565b611b5384848484611e26565b6110055760405162461bcd60e51b81526004018080602001828103825260328152602001806126136032913960400191505060405180910390fd5b606081611bb657506040805180820190915260048152630307830360e41b602082015261071e565b8160005b8115611bcf5760089190911c90600101611bba565b6116dc8482611f8e565b600c80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a9181900360200190a150565b600061099e83836120ed565b5490565b600061099e8383612105565b600061099e83836121cb565b6000611a7384846001600160a01b038516612215565b81546000908210611cad5760405162461bcd60e51b81526004018080602001828103825260228152602001806125f16022913960400191505060405180910390fd5b826000018281548110611cbc57fe5b9060005260206000200154905092915050565b600061099e83836122ac565b815460009081908310611d1f5760405162461bcd60e51b81526004018080602001828103825260228152602001806127206022913960400191505060405180910390fd5b6000846000018481548110611d3057fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281611df15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611db6578181015183820152602001611d9e565b50505050905090810190601f168015611de35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110611e0457fe5b9060005260206000209060020201600101549150509392505050565b3b151590565b6000611e3a846001600160a01b0316611e20565b611e46575060016116dc565b6000611f54630a85bd0160e11b611e5b6115c3565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611ec2578181015183820152602001611eaa565b50505050905090810190601f168015611eef5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001612613603291396001600160a01b0388169190612380565b90506000818060200190516020811015611f6d57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b606060008260020260020167ffffffffffffffff81118015611faf57600080fd5b506040519080825280601f01601f191660200182016040528015611fda576020820181803683370190505b509050600360fc1b81600081518110611fef57fe5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061201857fe5b60200101906001600160f81b031916908160001a905350600160028402015b6001811115612099576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061206257fe5b1a60f81b82828151811061207257fe5b60200101906001600160f81b031916908160001a90535060049490941c9360001901612037565b50831561099e576040805162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015290519081900360640190fd5b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156121c1578354600019808301919081019060009087908390811061213857fe5b906000526020600020015490508087600001848154811061215557fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061218557fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506109a1565b60009150506109a1565b60006121d783836120ed565b61220d575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556109a1565b5060006109a1565b60008281526001840160205260408120548061227a575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611a76565b8285600001600183038154811061228d57fe5b9060005260206000209060020201600101819055506000915050611a76565b600081815260018301602052604081205480156121c157835460001980830191908101906000908790839081106122df57fe5b90600052602060002090600202019050808760000184815481106122ff57fe5b60009182526020808320845460029093020191825560019384015491840191909155835482528983019052604090209084019055865487908061233e57fe5b60008281526020808220600260001990940193840201828155600190810183905592909355888152898201909252604082209190915594506109a19350505050565b6060611a7384846000858561239485611e20565b6123e5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106124235780518252601f199092019160209182019101612404565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612485576040519150601f19603f3d011682016040523d82523d6000602084013e61248a565b606091505b509150915061249a8282866124a5565b979650505050505050565b606083156124b4575081611a76565b8251156124c45782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611db6578181015183820152602001611d9e565b50805460018160011615610100020316600290046000825580601f106125315750610b5e565b601f016020900490600052602060002090810190610b5e91906125db565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261258557600085556125cb565b82601f1061259e57805160ff19168380011785556125cb565b828001600101855582156125cb579182015b828111156125cb5782518255916020019190600101906125b0565b506125d79291506125db565b5090565b5b808211156125d757600081556001016125dc56fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220aa2bf06635ddb9eb78616542b4addf31da5e4e0600c085a02b7a3c8bac611b5f64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.dbg.json b/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.json b/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.json new file mode 100644 index 000000000..35bf7c56b --- /dev/null +++ b/abis/discovery/SubgraphNFTDescriptor.sol/SubgraphNFTDescriptor.json @@ -0,0 +1,45 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SubgraphNFTDescriptor", + "sourceName": "contracts/discovery/SubgraphNFTDescriptor.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061060b806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063bacc1fc514610030575b600080fd5b6100b56004803603608081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b91935091503561012a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006101b5604051806040016040528060028152602001609160f51b815250846040516020018083805190602001908083835b6020831061017e5780518252601f19909201916020918201910161015f565b51815160209384036101000a6000190180199092169116179052920193845250604080518085038152939091019052509050610244565b9050836101c357905061023b565b8484826040516020018084848082843784519201916020850191508083835b602083106102015780518252601f1990920191602091820191016101e2565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040529150505b95945050505050565b60608151600014156102655750604080516000815260208101909152610399565b6040805181815261082081018252600091602082016108008036833701905050905060008160008151811061029657fe5b60ff90921660209283029190910190910152600160005b84518110156103795760008582815181106102c457fe5b016020015160f81c905060005b8360ff16811015610332578481815181106102e857fe5b602002602001015160ff166101000282019150603a828161030557fe5b0685828151811061031257fe5b60ff90921660209283029190910190910152603a820491506001016102d1565b505b801561037057603a8106848460ff168151811061034d57fe5b60ff90921660209283029190910190910152600190920191603a81049050610334565b506001016102ad565b5061039461038f61038a848461039e565b610439565b6104d5565b925050505b919050565b606060008260ff1667ffffffffffffffff811180156103bc57600080fd5b506040519080825280602002602001820160405280156103e6578160200160208202803683370190505b50905060005b8360ff168110156104315784818151811061040357fe5b602002602001015182828151811061041757fe5b60ff909216602092830291909101909101526001016103ec565b509392505050565b60606000825167ffffffffffffffff8111801561045557600080fd5b5060405190808252806020026020018201604052801561047f578160200160208202803683370190505b50905060005b83518110156104ce578381600186510303815181106104a057fe5b60200260200101518282815181106104b457fe5b60ff90921660209283029190910190910152600101610485565b5092915050565b60606000825167ffffffffffffffff811180156104f157600080fd5b506040519080825280601f01601f19166020018201604052801561051c576020820181803683370190505b50905060005b83518110156104ce576040518060600160405280603a815260200161059c603a913984828151811061055057fe5b602002602001015160ff168151811061056557fe5b602001015160f81c60f81b82828151811061057c57fe5b60200101906001600160f81b031916908160001a90535060010161052256fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122061836bbcde47611bef4f3b6e557b1efae70d06fecb2f3cb34db0f575a4cf998964736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063bacc1fc514610030575b600080fd5b6100b56004803603608081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b91935091503561012a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006101b5604051806040016040528060028152602001609160f51b815250846040516020018083805190602001908083835b6020831061017e5780518252601f19909201916020918201910161015f565b51815160209384036101000a6000190180199092169116179052920193845250604080518085038152939091019052509050610244565b9050836101c357905061023b565b8484826040516020018084848082843784519201916020850191508083835b602083106102015780518252601f1990920191602091820191016101e2565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040529150505b95945050505050565b60608151600014156102655750604080516000815260208101909152610399565b6040805181815261082081018252600091602082016108008036833701905050905060008160008151811061029657fe5b60ff90921660209283029190910190910152600160005b84518110156103795760008582815181106102c457fe5b016020015160f81c905060005b8360ff16811015610332578481815181106102e857fe5b602002602001015160ff166101000282019150603a828161030557fe5b0685828151811061031257fe5b60ff90921660209283029190910190910152603a820491506001016102d1565b505b801561037057603a8106848460ff168151811061034d57fe5b60ff90921660209283029190910190910152600190920191603a81049050610334565b506001016102ad565b5061039461038f61038a848461039e565b610439565b6104d5565b925050505b919050565b606060008260ff1667ffffffffffffffff811180156103bc57600080fd5b506040519080825280602002602001820160405280156103e6578160200160208202803683370190505b50905060005b8360ff168110156104315784818151811061040357fe5b602002602001015182828151811061041757fe5b60ff909216602092830291909101909101526001016103ec565b509392505050565b60606000825167ffffffffffffffff8111801561045557600080fd5b5060405190808252806020026020018201604052801561047f578160200160208202803683370190505b50905060005b83518110156104ce578381600186510303815181106104a057fe5b60200260200101518282815181106104b457fe5b60ff90921660209283029190910190910152600101610485565b5092915050565b60606000825167ffffffffffffffff811180156104f157600080fd5b506040519080825280601f01601f19166020018201604052801561051c576020820181803683370190505b50905060005b83518110156104ce576040518060600160405280603a815260200161059c603a913984828151811061055057fe5b602002602001015160ff168151811061056557fe5b602001015160f81c60f81b82828151811061057c57fe5b60200101906001600160f81b031916908160001a90535060010161052256fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122061836bbcde47611bef4f3b6e557b1efae70d06fecb2f3cb34db0f575a4cf998964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.dbg.json b/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.dbg.json new file mode 100644 index 000000000..89b2b75c5 --- /dev/null +++ b/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/eb50606babf07ed283f48732becd3241.json" +} diff --git a/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.json b/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.json new file mode 100644 index 000000000..89b28215b --- /dev/null +++ b/abis/discovery/erc1056/EthereumDIDRegistry.sol/EthereumDIDRegistry.json @@ -0,0 +1,559 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "EthereumDIDRegistry", + "sourceName": "contracts/discovery/erc1056/EthereumDIDRegistry.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validTo", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousChange", + "type": "uint256" + } + ], + "name": "DIDAttributeChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "validTo", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousChange", + "type": "uint256" + } + ], + "name": "DIDDelegateChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousChange", + "type": "uint256" + } + ], + "name": "DIDOwnerChanged", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "validity", + "type": "uint256" + } + ], + "name": "addDelegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + }, + { + "internalType": "uint256", + "name": "validity", + "type": "uint256" + } + ], + "name": "addDelegateSigned", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "changeOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "changeOwnerSigned", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "changed", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "delegates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + } + ], + "name": "identityOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "owners", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + } + ], + "name": "revokeAttribute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + } + ], + "name": "revokeAttributeSigned", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "revokeDelegate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "revokeDelegateSigned", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validity", + "type": "uint256" + } + ], + "name": "setAttribute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "uint8", + "name": "sigV", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "sigR", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "sigS", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validity", + "type": "uint256" + } + ], + "name": "setAttributeSigned", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "delegateType", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "delegate", + "type": "address" + } + ], + "name": "validDelegate", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50611457806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806380b29f7c11610097578063a7068d6611610066578063a7068d6614610580578063e476af5c146105ba578063f00d4b5d14610689578063f96d0f9f146106b7576100ff565b806380b29f7c1461048a5780638733d4e8146104c057806393072684146104e65780639c2c1b2b1461052f576100ff565b8063240cf1fa116100d3578063240cf1fa1461031a578063622b2a3c1461035f57806370ae92d2146103a95780637ad4b0a4146103cf576100ff565b8062c023da14610104578063022914a7146101bf5780630d44625b14610201578063123b5e9814610249575b600080fd5b6101bd6004803603606081101561011a57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561014957600080fd5b82018360208201111561015b57600080fd5b803590602001918460018302840111600160201b8311171561017c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106dd945050505050565b005b6101e5600480360360208110156101d557600080fd5b50356001600160a01b03166106ee565b604080516001600160a01b039092168252519081900360200190f35b6102376004803603606081101561021757600080fd5b506001600160a01b03813581169160208101359160409091013516610709565b60408051918252519081900360200190f35b6101bd600480360360e081101561025f57600080fd5b6001600160a01b038235169160ff602082013516916040820135916060810135916080820135919081019060c0810160a0820135600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061072c915050565b6101bd600480360360a081101561033057600080fd5b506001600160a01b03813581169160ff602082013516916040820135916060810135916080909101351661086c565b6103956004803603606081101561037557600080fd5b506001600160a01b03813581169160208101359160409091013516610937565b604080519115158252519081900360200190f35b610237600480360360208110156103bf57600080fd5b50356001600160a01b0316610989565b6101bd600480360360808110156103e557600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561041457600080fd5b82018360208201111561042657600080fd5b803590602001918460018302840111600160201b8311171561044757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061099b915050565b6101bd600480360360608110156104a057600080fd5b506001600160a01b038135811691602081013591604090910135166109ae565b6101e5600480360360208110156104d657600080fd5b50356001600160a01b03166109ba565b6101bd600480360360c08110156104fc57600080fd5b506001600160a01b03813581169160ff6020820135169160408201359160608101359160808201359160a00135166109ee565b6101bd600480360360e081101561054557600080fd5b506001600160a01b03813581169160ff6020820135169160408201359160608101359160808201359160a08101359091169060c00135610ac5565b6101bd6004803603608081101561059657600080fd5b506001600160a01b0381358116916020810135916040820135169060600135610b99565b6101bd600480360360c08110156105d057600080fd5b6001600160a01b038235169160ff602082013516916040820135916060810135916080820135919081019060c0810160a0820135600160201b81111561061557600080fd5b82018360208201111561062757600080fd5b803590602001918460018302840111600160201b8311171561064857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ba6945050505050565b6101bd6004803603604081101561069f57600080fd5b506001600160a01b0381358116916020013516610cd6565b610237600480360360208110156106cd57600080fd5b50356001600160a01b0316610ce5565b6106e983338484610cf7565b505050565b6000602081905290815260409020546001600160a01b031681565b600160209081526000938452604080852082529284528284209052825290205481565b6000601960f81b81306003826107418d6109ba565b6001600160a01b03166001600160a01b03168152602001908152602001600020548b88888860405160200180896001600160f81b0319168152600101886001600160f81b0319168152600101876001600160a01b031660601b8152601401868152602001856001600160a01b031660601b8152601401806b73657441747472696275746560a01b815250600c0184815260200183805190602001908083835b602083106107ff5780518252601f1990920191602091820191016107e0565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001985050505050505050506040516020818303038152906040528051906020012090506108628861085a8a8a8a8a87610e55565b868686610f3f565b5050505050505050565b6000601960f81b81306003826108818b6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528a831b851660568501526a31b430b733b2a7bbb732b960a91b606a8501529186901b909316607583015280516069818403018152608990920190528051910120905061092f866109298188888887610e55565b8461109f565b505050505050565b6001600160a01b03808416600090815260016020908152604080832081518084018890528251808203850181529083018352805190840120845282528083209385168352929052205442109392505050565b60036020526000908152604090205481565b6109a88433858585610f3f565b50505050565b6106e983338484611188565b6001600160a01b0380821660009081526020819052604081205490911680156109e45790506109e9565b829150505b919050565b6000601960f81b8130600382610a038c6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528b831b851660568501526d7265766f6b6544656c656761746560901b606a850152607884018890529186901b90931660988301528051608c81840301815260ac909201905280519101209050610abc87610ab58189898987610e55565b8585611188565b50505050505050565b6000601960f81b8130600382610ada8d6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528c831b851660568501526a61646444656c656761746560a81b606a850152607584018990529187901b909316609583015260a98083018690528151808403909101815260c990920190528051910120905061086288610b91818a8a8a87610e55565b8686866112b2565b6109a884338585856112b2565b6000601960f81b8130600382610bbb8c6109ba565b6001600160a01b03166001600160a01b03168152602001908152602001600020548a878760405160200180886001600160f81b0319168152600101876001600160f81b0319168152600101866001600160a01b031660601b8152601401858152602001846001600160a01b031660601b8152601401806e7265766f6b6541747472696275746560881b815250600f0183815260200182805190602001908083835b60208310610c7b5780518252601f199092019160209182019101610c5c565b6001836020036101000a038019825116818451168082178552505050505050905001975050505050505050604051602081830303815290604052805190602001209050610abc87610ccf8989898987610e55565b8585610cf7565b610ce182338361109f565b5050565b60026020526000908152604090205481565b8383610d02826109ba565b6001600160a01b0316816001600160a01b031614610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b856001600160a01b03167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e485856000600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546040518085815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610df5578181015183820152602001610ddd565b50505050905090810190601f168015610e225780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a25050506001600160a01b0390921660009081526002602052604090204390555050565b60008060018387878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610eb2573d6000803e3d6000fd5b505050602060405103519050610ec7876109ba565b6001600160a01b0316816001600160a01b031614610f165760405162461bcd60e51b81526004018080602001828103825260218152602001806113e06021913960400191505060405180910390fd5b6001600160a01b0381166000908152600360205260409020805460010190559695505050505050565b8484610f4a826109ba565b6001600160a01b0316816001600160a01b031614610f995760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b866001600160a01b03167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e48686864201600260008d6001600160a01b03166001600160a01b03168152602001908152602001600020546040518085815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561103e578181015183820152602001611026565b50505050905090810190601f16801561106b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a25050506001600160a01b039093166000908152600260205260409020439055505050565b82826110aa826109ba565b6001600160a01b0316816001600160a01b0316146110f95760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b0385811660008181526020818152604080832080546001600160a01b0319169589169586179055600282529182902054825194855290840152805191927f38a5a6e68f30ed1ab45860a4afb34bcb2fc00f22ca462d249b8a8d40cda6f7a3929081900390910190a2505050506001600160a01b03166000908152600260205260409020439055565b8383611193826109ba565b6001600160a01b0316816001600160a01b0316146111e25760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b03808716600081815260016020908152604080832081518084018b90528251808203850181528184018085528151918601919091208652918452828520968a16808652968452828520429081905586865260029094529382902054908a90526060840195909552608083019190915260a0820193909352915190917f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7919081900360c00190a25050506001600160a01b0390921660009081526002602052604090204390555050565b84846112bd826109ba565b6001600160a01b0316816001600160a01b03161461130c5760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b03808816600081815260016020908152604080832081518084018c90528251808203850181528184018085528151918601919091208652918452828520968b16808652968452828520428b019081905586865260029094529382902054908b90526060840195909552608083019190915260a0820193909352915190917f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7919081900360c00190a25050506001600160a01b03909316600090815260026020526040902043905550505056fe5369676e6572206d75737420626520746865206964656e74697479206f776e657243616c6c6572206d75737420626520746865206964656e74697479206f776e6572a264697066735822122039ac495b5af8f915d8716b01330a083356dbb046613027906933d19cb9f29e7d64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ff5760003560e01c806380b29f7c11610097578063a7068d6611610066578063a7068d6614610580578063e476af5c146105ba578063f00d4b5d14610689578063f96d0f9f146106b7576100ff565b806380b29f7c1461048a5780638733d4e8146104c057806393072684146104e65780639c2c1b2b1461052f576100ff565b8063240cf1fa116100d3578063240cf1fa1461031a578063622b2a3c1461035f57806370ae92d2146103a95780637ad4b0a4146103cf576100ff565b8062c023da14610104578063022914a7146101bf5780630d44625b14610201578063123b5e9814610249575b600080fd5b6101bd6004803603606081101561011a57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561014957600080fd5b82018360208201111561015b57600080fd5b803590602001918460018302840111600160201b8311171561017c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106dd945050505050565b005b6101e5600480360360208110156101d557600080fd5b50356001600160a01b03166106ee565b604080516001600160a01b039092168252519081900360200190f35b6102376004803603606081101561021757600080fd5b506001600160a01b03813581169160208101359160409091013516610709565b60408051918252519081900360200190f35b6101bd600480360360e081101561025f57600080fd5b6001600160a01b038235169160ff602082013516916040820135916060810135916080820135919081019060c0810160a0820135600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061072c915050565b6101bd600480360360a081101561033057600080fd5b506001600160a01b03813581169160ff602082013516916040820135916060810135916080909101351661086c565b6103956004803603606081101561037557600080fd5b506001600160a01b03813581169160208101359160409091013516610937565b604080519115158252519081900360200190f35b610237600480360360208110156103bf57600080fd5b50356001600160a01b0316610989565b6101bd600480360360808110156103e557600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561041457600080fd5b82018360208201111561042657600080fd5b803590602001918460018302840111600160201b8311171561044757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925061099b915050565b6101bd600480360360608110156104a057600080fd5b506001600160a01b038135811691602081013591604090910135166109ae565b6101e5600480360360208110156104d657600080fd5b50356001600160a01b03166109ba565b6101bd600480360360c08110156104fc57600080fd5b506001600160a01b03813581169160ff6020820135169160408201359160608101359160808201359160a00135166109ee565b6101bd600480360360e081101561054557600080fd5b506001600160a01b03813581169160ff6020820135169160408201359160608101359160808201359160a08101359091169060c00135610ac5565b6101bd6004803603608081101561059657600080fd5b506001600160a01b0381358116916020810135916040820135169060600135610b99565b6101bd600480360360c08110156105d057600080fd5b6001600160a01b038235169160ff602082013516916040820135916060810135916080820135919081019060c0810160a0820135600160201b81111561061557600080fd5b82018360208201111561062757600080fd5b803590602001918460018302840111600160201b8311171561064857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ba6945050505050565b6101bd6004803603604081101561069f57600080fd5b506001600160a01b0381358116916020013516610cd6565b610237600480360360208110156106cd57600080fd5b50356001600160a01b0316610ce5565b6106e983338484610cf7565b505050565b6000602081905290815260409020546001600160a01b031681565b600160209081526000938452604080852082529284528284209052825290205481565b6000601960f81b81306003826107418d6109ba565b6001600160a01b03166001600160a01b03168152602001908152602001600020548b88888860405160200180896001600160f81b0319168152600101886001600160f81b0319168152600101876001600160a01b031660601b8152601401868152602001856001600160a01b031660601b8152601401806b73657441747472696275746560a01b815250600c0184815260200183805190602001908083835b602083106107ff5780518252601f1990920191602091820191016107e0565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001985050505050505050506040516020818303038152906040528051906020012090506108628861085a8a8a8a8a87610e55565b868686610f3f565b5050505050505050565b6000601960f81b81306003826108818b6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528a831b851660568501526a31b430b733b2a7bbb732b960a91b606a8501529186901b909316607583015280516069818403018152608990920190528051910120905061092f866109298188888887610e55565b8461109f565b505050505050565b6001600160a01b03808416600090815260016020908152604080832081518084018890528251808203850181529083018352805190840120845282528083209385168352929052205442109392505050565b60036020526000908152604090205481565b6109a88433858585610f3f565b50505050565b6106e983338484611188565b6001600160a01b0380821660009081526020819052604081205490911680156109e45790506109e9565b829150505b919050565b6000601960f81b8130600382610a038c6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528b831b851660568501526d7265766f6b6544656c656761746560901b606a850152607884018890529186901b90931660988301528051608c81840301815260ac909201905280519101209050610abc87610ab58189898987610e55565b8585611188565b50505050505050565b6000601960f81b8130600382610ada8d6109ba565b6001600160a01b0316815260208082019290925260409081016000205481516001600160f81b0319968716818501529490951660218501526001600160601b0319606093841b8116602286015260368501959095528c831b851660568501526a61646444656c656761746560a81b606a850152607584018990529187901b909316609583015260a98083018690528151808403909101815260c990920190528051910120905061086288610b91818a8a8a87610e55565b8686866112b2565b6109a884338585856112b2565b6000601960f81b8130600382610bbb8c6109ba565b6001600160a01b03166001600160a01b03168152602001908152602001600020548a878760405160200180886001600160f81b0319168152600101876001600160f81b0319168152600101866001600160a01b031660601b8152601401858152602001846001600160a01b031660601b8152601401806e7265766f6b6541747472696275746560881b815250600f0183815260200182805190602001908083835b60208310610c7b5780518252601f199092019160209182019101610c5c565b6001836020036101000a038019825116818451168082178552505050505050905001975050505050505050604051602081830303815290604052805190602001209050610abc87610ccf8989898987610e55565b8585610cf7565b610ce182338361109f565b5050565b60026020526000908152604090205481565b8383610d02826109ba565b6001600160a01b0316816001600160a01b031614610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b856001600160a01b03167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e485856000600260008c6001600160a01b03166001600160a01b03168152602001908152602001600020546040518085815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610df5578181015183820152602001610ddd565b50505050905090810190601f168015610e225780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a25050506001600160a01b0390921660009081526002602052604090204390555050565b60008060018387878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610eb2573d6000803e3d6000fd5b505050602060405103519050610ec7876109ba565b6001600160a01b0316816001600160a01b031614610f165760405162461bcd60e51b81526004018080602001828103825260218152602001806113e06021913960400191505060405180910390fd5b6001600160a01b0381166000908152600360205260409020805460010190559695505050505050565b8484610f4a826109ba565b6001600160a01b0316816001600160a01b031614610f995760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b866001600160a01b03167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e48686864201600260008d6001600160a01b03166001600160a01b03168152602001908152602001600020546040518085815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561103e578181015183820152602001611026565b50505050905090810190601f16801561106b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a25050506001600160a01b039093166000908152600260205260409020439055505050565b82826110aa826109ba565b6001600160a01b0316816001600160a01b0316146110f95760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b0385811660008181526020818152604080832080546001600160a01b0319169589169586179055600282529182902054825194855290840152805191927f38a5a6e68f30ed1ab45860a4afb34bcb2fc00f22ca462d249b8a8d40cda6f7a3929081900390910190a2505050506001600160a01b03166000908152600260205260409020439055565b8383611193826109ba565b6001600160a01b0316816001600160a01b0316146111e25760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b03808716600081815260016020908152604080832081518084018b90528251808203850181528184018085528151918601919091208652918452828520968a16808652968452828520429081905586865260029094529382902054908a90526060840195909552608083019190915260a0820193909352915190917f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7919081900360c00190a25050506001600160a01b0390921660009081526002602052604090204390555050565b84846112bd826109ba565b6001600160a01b0316816001600160a01b03161461130c5760405162461bcd60e51b81526004018080602001828103825260218152602001806114016021913960400191505060405180910390fd5b6001600160a01b03808816600081815260016020908152604080832081518084018c90528251808203850181528184018085528151918601919091208652918452828520968b16808652968452828520428b019081905586865260029094529382902054908b90526060840195909552608083019190915260a0820193909352915190917f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7919081900360c00190a25050506001600160a01b03909316600090815260026020526040902043905550505056fe5369676e6572206d75737420626520746865206964656e74697479206f776e657243616c6c6572206d75737420626520746865206964656e74697479206f776e6572a264697066735822122039ac495b5af8f915d8716b01330a083356dbb046613027906933d19cb9f29e7d64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.dbg.json b/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.json b/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.json new file mode 100644 index 000000000..d73544557 --- /dev/null +++ b/abis/discovery/erc1056/IEthereumDIDRegistry.sol/IEthereumDIDRegistry.json @@ -0,0 +1,58 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IEthereumDIDRegistry", + "sourceName": "contracts/discovery/erc1056/IEthereumDIDRegistry.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + } + ], + "name": "identityOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "identity", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "name", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "value", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "validity", + "type": "uint256" + } + ], + "name": "setAttribute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/disputes/DisputeManager.sol/DisputeManager.dbg.json b/abis/disputes/DisputeManager.sol/DisputeManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/disputes/DisputeManager.sol/DisputeManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/disputes/DisputeManager.sol/DisputeManager.json b/abis/disputes/DisputeManager.sol/DisputeManager.json new file mode 100644 index 000000000..47dc68505 --- /dev/null +++ b/abis/disputes/DisputeManager.sol/DisputeManager.json @@ -0,0 +1,826 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DisputeManager", + "sourceName": "contracts/disputes/DisputeManager.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "DisputeAccepted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "DisputeDrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID1", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID2", + "type": "bytes32" + } + ], + "name": "DisputeLinked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "DisputeRejected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "allocationID", + "type": "address" + } + ], + "name": "IndexingDisputeCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "disputeID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "attestation", + "type": "bytes" + } + ], + "name": "QueryDisputeCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "acceptDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "arbitrator", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation1", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation2", + "type": "tuple" + } + ], + "name": "areConflictingAttestations", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_deposit", + "type": "uint256" + } + ], + "name": "createIndexingDispute", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_attestationData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_deposit", + "type": "uint256" + } + ], + "name": "createQueryDispute", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_attestationData1", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "_attestationData2", + "type": "bytes" + } + ], + "name": "createQueryDisputeConflict", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "disputes", + "outputs": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "relatedDisputeID", + "type": "bytes32" + }, + { + "internalType": "enum IDisputeManager.DisputeType", + "name": "disputeType", + "type": "uint8" + }, + { + "internalType": "enum IDisputeManager.DisputeStatus", + "name": "status", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "drawDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "internalType": "struct IDisputeManager.Receipt", + "name": "_receipt", + "type": "tuple" + } + ], + "name": "encodeHashReceipt", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fishermanRewardPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation", + "type": "tuple" + } + ], + "name": "getAttestationIndexer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "idxSlashingPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_arbitrator", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumDeposit", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_fishermanRewardPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_qrySlashingPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_idxSlashingPercentage", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "isDisputeCreated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "qrySlashingPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "rejectDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_arbitrator", + "type": "address" + } + ], + "name": "setArbitrator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setFishermanRewardPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumDeposit", + "type": "uint256" + } + ], + "name": "setMinimumDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_qryPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_idxPercentage", + "type": "uint32" + } + ], + "name": "setSlashingPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161338e61016e600039806111205250806110f75250806110ce52806114505250806110a5528061206d52508061107c52508061105352508061102a525061338e6000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063991a8355116100de578063c894222e11610097578063d6866ea511610071578063d6866ea51461035d578063e78ec42e14610365578063f77c479114610378578063fcc29e4b146103805761018e565b8063c894222e14610316578063c9747f5114610337578063d36fc9d41461034a5761018e565b8063991a8355146102975780639ce7abe5146102aa578063a2594d82146102bd578063b0eefabe146102d0578063be41f384146102e3578063c8792217146103035761018e565b8063530efc9d1161014b578063787693e011610125578063787693e0146102565780638bbb33b41461025e57806392eefe9b146102715780639334ea52146102845761018e565b8063530efc9d14610231578063636bfbab146102395780636cc6cde1146102415761018e565b806311b426111461019357806311be1997146101a8578063131610b1146101d657806336167e03146101f6578063458af6fc14610209578063460967df1461021e575b600080fd5b6101a66101a136600461283f565b610393565b005b6101bb6101b636600461283f565b610590565b6040516101cd96959493929190612bb9565b60405180910390f35b6101e96101e43660046128ed565b6105d7565b6040516101cd9190612c40565b6101a661020436600461283f565b61066a565b6102116107e9565b6040516101cd9190613289565b6101e961022c366004612a5f565b6107f5565b610211610882565b6101e9610896565b61024961089c565b6040516101cd9190612ba5565b6102116108ab565b6101a661026c366004612ae6565b6108be565b6101a661027f366004612788565b6108d4565b6101a661029236600461283f565b6108e8565b6101a66102a5366004612acc565b610a88565b6101a66102b8366004612937565b610a99565b6101a66102cb366004612788565b610bef565b6101a66102de366004612788565b610d0a565b6102f66102f136600461283f565b610d1b565b6040516101cd9190612c35565b6101e9610311366004612814565b610d4c565b610329610324366004612884565b610d6b565b6040516101cd929190612c49565b610249610345366004612a0f565b610f07565b6102f6610358366004612a2a565b610ff4565b6101a6611025565b6101a661037336600461283f565b611146565b610249611157565b6101a661038e3660046127a4565b611166565b61039b6112bc565b806103a581610d1b565b6103ca5760405162461bcd60e51b81526004016103c190612fd0565b60405180910390fd5b60046000828152601060205260409020600490810154610100900460ff16908111156103f257fe5b1461040f5760405162461bcd60e51b81526004016103c19061309d565b600082815260106020526040812060048101805461ff001916610100179081905581546001830154929392610456926001600160a01b03928316929091169060ff166112e6565b91505061047f610464611449565b600184015460028501546001600160a01b0390911690611479565b6040805160c08101825283546001600160a01b039081168252600185015416602082015260028085015492820192909252600384015460608201526004840154610519928591608084019160ff909116908111156104d957fe5b60028111156104e457fe5b81526020016004820160019054906101000a900460ff16600481111561050657fe5b600481111561051157fe5b905250611544565b1561052b5761052b826003015461066a565b6001820154825460028401546001600160a01b03928316929091169086907f6d800aaaf64b9a1f321dcd63da04369d33d8a0d49ad0fbba085aab4a98bf31c4906105759086611587565b6040516105829190612c40565b60405180910390a450505050565b601060205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b60006105e2826115e1565b610662338361062687878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b949350505050565b6106726112bc565b8061067c81610d1b565b6106985760405162461bcd60e51b81526004016103c190612fd0565b60046000828152601060205260409020600490810154610100900460ff16908111156106c057fe5b146106dd5760405162461bcd60e51b81526004016103c19061309d565b60008281526010602052604090206004810180546002919061ff0019166101008302179055506040805160c08101825282546001600160a01b03908116825260018401541660208201526002808401549282019290925260038301546060820152600483015461075d928491608084019160ff909116908111156104d957fe5b1561077a5760405162461bcd60e51b81526004016103c190612d37565b61078f610785611449565b826002015461191c565b6001810154815460028301546040516001600160a01b03938416939092169186917f2226ebd23625a7938fb786df2248bd171d2e6ad70cb2b654ea1be830ca17224d916107dc9190612c40565b60405180910390a4505050565b600f5463ffffffff1681565b6000600c547f32dd026408194a0d7e54cc66a2ab6c856efc55cfcd4dd258fde5b1a55222baa683600001518460200151856040015160405160200161083d9493929190612c57565b60405160208183030381529060405280519060200120604051602001610864929190612b8a565b6040516020818303038152906040528051906020012090505b919050565b600f54640100000000900463ffffffff1681565b600e5481565b600d546001600160a01b031681565b600f54600160401b900463ffffffff1681565b6108c6611968565b6108d08282611a3c565b5050565b6108dc611b04565b6108e581611b63565b50565b6108f06112bc565b806108fa81610d1b565b6109165760405162461bcd60e51b81526004016103c190612fd0565b60046000828152601060205260409020600490810154610100900460ff169081111561093e57fe5b1461095b5760405162461bcd60e51b81526004016103c19061309d565b600082815260106020526040902061098f610974611449565b600183015460028401546001600160a01b0390911690611479565b6040805160c08101825282546001600160a01b039081168252600184015416602082015260028084015492820192909252600383015460608201526004830154610a29928491608084019160ff909116908111156109e957fe5b60028111156109f457fe5b81526020016004820160019054906101000a900460ff166004811115610a1657fe5b6004811115610a2157fe5b905250611c0b565b5060048101805461ff0019166103001790556001810154815460028301546040516001600160a01b03938416939092169186917ff0912efb86ea1d65a17d64d48393cdb1ca0ea5220dd2bbe438621199d30955b7916107dc9190612c40565b610a90611968565b6108e581611c4e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6020811015610aff57600080fd5b50516001600160a01b03163314610b5d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610bd157600080fd5b505af1158015610be5573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c2b57600080fd5b505af1158015610c3f573d6000803e3d6000fd5b505050506040513d6020811015610c5557600080fd5b50516001600160a01b03163314610cb3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b505050505050565b610d12611968565b6108e581611cb3565b6000806000838152601060205260409020600490810154610100900460ff1690811115610d4457fe5b141592915050565b6000610d57826115e1565b610d62338385611d10565b90505b92915050565b60008060003390506000610db488888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b90506000610df787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b9050610e038282610ff4565b610e1f5760405162461bcd60e51b81526004016103c190612e38565b6000610e64846000858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b90506000610eab856000858c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b60008381526010602052604080822060039081018490558383528183200185905551919250829184917ffec135a4cf8e5c6e13dea23be058bf03a8bf8f1f6fb0a021b0a5aeddfba8140791a3909a909950975050505050505050565b600080610f1383611ffb565b90506000610f1f612066565b6001600160a01b0316630e022923836040518263ffffffff1660e01b8152600401610f4a9190612ba5565b6101206040518083038186803b158015610f6357600080fd5b505afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b919061298a565b80519091506001600160a01b0316610fc55760405162461bcd60e51b81526004016103c1906131c5565b8360400151816020015114610fec5760405162461bcd60e51b81526004016103c190612cda565b519392505050565b8051825160009114801561100f575081604001518360400151145b8015610d62575050602090810151910151141590565b61104e7f0000000000000000000000000000000000000000000000000000000000000000612091565b6110777f0000000000000000000000000000000000000000000000000000000000000000612091565b6110a07f0000000000000000000000000000000000000000000000000000000000000000612091565b6110c97f0000000000000000000000000000000000000000000000000000000000000000612091565b6110f27f0000000000000000000000000000000000000000000000000000000000000000612091565b61111b7f0000000000000000000000000000000000000000000000000000000000000000612091565b6111447f0000000000000000000000000000000000000000000000000000000000000000612091565b565b61114e611968565b6108e581612192565b6000546001600160a01b031681565b61116e6121d3565b6001600160a01b0316336001600160a01b0316146111c9576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6111d2866108dc565b6111db85611cb3565b6111e484612192565b6111ed83611c4e565b6111f78282611a3c565b7fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564727f171a7fa058648750a8c5aae430f30db8d0100efc3a5e1b2e8054b1c1ce28b6b47f044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d6112626121f8565b604051611299949392919030907fa070ffb1cd7409649bf77822cce74495468e06dbfaef09556838bf188679b9c290602001612c72565b60408051601f198184030181529190528051602090910120600c55505050505050565b600d546001600160a01b031633146111445760405162461bcd60e51b81526004016103c190613000565b60008060006112f3612066565b90506000816001600160a01b0316631787e69f886040518263ffffffff1660e01b81526004016113239190612ba5565b60206040518083038186803b15801561133b57600080fd5b505afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113739190612ab4565b9050611395620f424061138f83611389896121fc565b90612253565b906122ac565b9350600084116113b75760405162461bcd60e51b81526004016103c190612da6565b600f546113d890620f42409061138f9063ffffffff90811690889061225316565b6040516373b7f6f360e11b81529093506001600160a01b0383169063e76fede69061140d908a90889088908c90600401612c0a565b600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b505050505050935093915050565b60006114747f0000000000000000000000000000000000000000000000000000000000000000612313565b905090565b801561153f57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114d657600080fd5b505af11580156114ea573d6000803e3d6000fd5b505050506040513d602081101561150057600080fd5b505161153f576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b505050565b60608101516000908015801590611580575060046000828152601060205260409020600490810154610100900460ff169081111561157e57fe5b145b9392505050565b600082820183811015610d62576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600e548110156116035760405162461bcd60e51b81526004016103c190612edb565b6108e561160e611449565b33836123af565b61161d61266a565b815160a11461163e5760405162461bcd60e51b81526004016103c19061305b565b6000806000848060200190518101906116579190612857565b925092509250600061166a86606061240e565b9050600061167987608061240e565b905060006116888860a061243d565b6040805160c081018252978852602088019690965294860193909352606085019190915260808401525060ff1660a082015292915050565b6000806116cc84610f07565b905060006116d8612066565b6001600160a01b0316631787e69f836040518263ffffffff1660e01b81526004016117039190612ba5565b60206040518083038186803b15801561171b57600080fd5b505afa15801561172f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117539190612ab4565b116117705760405162461bcd60e51b81526004016103c1906130d4565b6000846000015185602001518660400151848a604051602001611797959493929190612b2c565b6040516020818303038152906040528051906020012090506117b881610d1b565b156117d55760405162461bcd60e51b81526004016103c190612ca3565b6040805160c0810182526001600160a01b0380851682528916602082015290810187905260006060820152608081016002815260200160049052600082815260106020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600180840180549290931691909416179055918301516002808401919091556060840151600384015560808401516004840180549193909260ff1990921691849081111561188d57fe5b021790555060a08201518160040160016101000a81548160ff021916908360048111156118b657fe5b0217905550905050866001600160a01b0316826001600160a01b0316827ff192cc7cf262c5da671cc55332faf41b2417d7aaf98e022d4b58baa06eb78f618989604001518960405161190a93929190613227565b60405180910390a49695505050505050565b80156108d057816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610cee57600080fd5b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d60208110156119de57600080fd5b50516001600160a01b03163314611144576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b620f42408263ffffffff1611158015611a5e5750620f42408163ffffffff1611155b611a7a5760405162461bcd60e51b81526004016103c190612f24565b600f805463ffffffff838116600160401b026bffffffff0000000000000000199186166401000000000267ffffffff000000001990931692909217161790556040516000805160206132f683398151915290611ad590612fa1565b60405180910390a16000805160206132f6833981519152604051611af890612e09565b60405180910390a15050565b6000546001600160a01b03163314611144576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611bb7576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000611c1682611544565b15611c46575060608101516000908152601060205260409020600401805461ff001916610300179055600161087d565b506000919050565b620f42408163ffffffff161115611c775760405162461bcd60e51b81526004016103c19061310b565b600f805463ffffffff191663ffffffff83161790556040516000805160206132f683398151915290611ca890612ea4565b60405180910390a150565b6001600160a01b038116611cd95760405162461bcd60e51b81526004016103c190613195565b600d80546001600160a01b0319166001600160a01b0383161790556040516000805160206132f683398151915290611ca890613037565b60008082604051602001611d249190612b0f565b604051602081830303815290604052805190602001209050611d4581610d1b565b15611d625760405162461bcd60e51b81526004016103c190612ca3565b6000611d6c612066565b90506000816001600160a01b0316630e022923866040518263ffffffff1660e01b8152600401611d9c9190612ba5565b6101206040518083038186803b158015611db557600080fd5b505afa158015611dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ded919061298a565b80519091506001600160a01b0316611e175760405162461bcd60e51b81526004016103c190612e6d565b8051604051631787e69f60e01b81526000916001600160a01b03851691631787e69f91611e4691600401612ba5565b60206040518083038186803b158015611e5e57600080fd5b505afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190612ab4565b11611eb35760405162461bcd60e51b81526004016103c1906130d4565b6040805160c08101825282516001600160a01b0390811682528916602082015290810187905260006060820152608081016001815260200160049052600084815260106020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600180840180549290931691909416179055918301516002808401919091556060840151600384015560808401516004840180549193909260ff19909216918490811115611f6d57fe5b021790555060a08201518160040160016101000a81548160ff02191690836004811115611f9657fe5b0217905550905050866001600160a01b031681600001516001600160a01b0316847f2f2afd556ee5734d2224e6d720a0fd68056fbc9127bc0a1da3f54c0e0346e1748989604051611fe8929190613210565b60405180910390a4509095945050505050565b60408051606081018252825181526020808401519082015282820151918101919091526000908161202b826107f5565b905061066281856060015186608001518760a0015160405160200161205293929190612b67565b60405160208183030381529060405261246c565b60006114747f0000000000000000000000000000000000000000000000000000000000000000612313565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156120de57600080fd5b505afa1580156120f2573d6000803e3d6000fd5b505050506040513d602081101561210857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146108d05760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b600081116121b25760405162461bcd60e51b81526004016103c19061315e565b600e8190556040516000805160206132f683398151915290611ca890612f79565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b4690565b6000600282600281111561220c57fe5b14156122295750600f54640100000000900463ffffffff1661087d565b600182600281111561223757fe5b1415611c465750600f54600160401b900463ffffffff1661087d565b60008261226257506000610d65565b8282028284828161226f57fe5b0414610d625760405162461bcd60e51b81526004018080602001828103825260218152602001806133386021913960400191505060405180910390fd5b6000808211612302576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161230b57fe5b049392505050565b6000818152600160205260408120546001600160a01b031680610d655760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561237c57600080fd5b505afa158015612390573d6000803e3d6000fd5b505050506040513d60208110156123a657600080fd5b50519392505050565b801561153f57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156114d657600080fd5b600060208201835110156124345760405162461bcd60e51b81526004016103c190612ddb565b50016020015190565b600060018201835110156124635760405162461bcd60e51b81526004016103c190612ddb565b50016001015190565b600081516041146124c4576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a6124e2868285856124ec565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561254d5760405162461bcd60e51b81526004018080602001828103825260228152602001806132d46022913960400191505060405180910390fd5b8360ff16601b148061256257508360ff16601c145b61259d5760405162461bcd60e51b81526004018080602001828103825260228152602001806133166022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156125f9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612661576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b805161087d816132be565b60008083601f8401126126bb578182fd5b50813567ffffffffffffffff8111156126d2578182fd5b6020830191508360208285010111156126ea57600080fd5b9250929050565b600060c08284031215612702578081fd5b60405160c0810181811067ffffffffffffffff8211171561271f57fe5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560ff8116811461276757600080fd5b60a0919091015292915050565b803563ffffffff8116811461087d57600080fd5b600060208284031215612799578081fd5b8135610d62816132be565b60008060008060008060c087890312156127bc578182fd5b86356127c7816132be565b955060208701356127d7816132be565b9450604087013593506127ec60608801612774565b92506127fa60808801612774565b915061280860a08801612774565b90509295509295509295565b60008060408385031215612826578182fd5b8235612831816132be565b946020939093013593505050565b600060208284031215612850578081fd5b5035919050565b60008060006060848603121561286b578283fd5b8351925060208401519150604084015190509250925092565b60008060008060408587031215612899578384fd5b843567ffffffffffffffff808211156128b0578586fd5b6128bc888389016126aa565b909650945060208701359150808211156128d4578384fd5b506128e1878288016126aa565b95989497509550505050565b600080600060408486031215612901578283fd5b833567ffffffffffffffff811115612917578384fd5b612923868287016126aa565b909790965060209590950135949350505050565b60008060006040848603121561294b578081fd5b8335612956816132be565b9250602084013567ffffffffffffffff811115612971578182fd5b61297d868287016126aa565b9497909650939450505050565b600061012080838503121561299d578182fd5b6129a68161329a565b90506129b18361269f565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060c08284031215612a20578081fd5b610d6283836126f1565b6000806101808385031215612a3d578182fd5b612a4784846126f1565b9150612a568460c085016126f1565b90509250929050565b600060608284031215612a70578081fd5b6040516060810181811067ffffffffffffffff82111715612a8d57fe5b80604052508235815260208301356020820152604083013560408201528091505092915050565b600060208284031215612ac5578081fd5b5051919050565b600060208284031215612add578081fd5b610d6282612774565b60008060408385031215612af8578182fd5b612b0183612774565b9150612a5660208401612774565b60609190911b6bffffffffffffffffffffffff1916815260140190565b948552602085019390935260408401919091526bffffffffffffffffffffffff19606091821b81168285015291901b16607482015260880190565b928352602083019190915260f81b6001600160f81b031916604082015260410190565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03878116825286166020820152604081018590526060810184905260c0810160038410612be957fe5b83608083015260058310612bf957fe5b8260a0830152979650505050505050565b6001600160a01b03948516815260208101939093526040830191909152909116606082015260800190565b901515815260200190565b90815260200190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b9586526020860194909452604085019290925260608401526001600160a01b0316608083015260a082015260c00190565b60208082526017908201527f4469737075746520616c72656164792063726561746564000000000000000000604082015260600190565b6020808252603a908201527f416c6c6f636174696f6e20616e64206174746573746174696f6e20737562677260408201527f6170684465706c6f796d656e744944206d757374206d61746368000000000000606082015260800190565b60208082526049908201527f4469737075746520666f7220636f6e666c696374696e6720617474657374617460408201527f696f6e2c206d75737420616363657074207468652072656c61746564204944206060820152681d1bc81c995a9958dd60ba1b608082015260a00190565b6020808252818101527f4469737075746520686173207a65726f20746f6b656e7320746f20736c617368604082015260600190565b60208082526014908201527342797465733a206f7574206f6620626f756e647360601b604082015260600190565b602080825260159082015274696478536c617368696e6750657263656e7461676560581b604082015260600190565b6020808252818101527f4174746573746174696f6e73206d75737420626520696e20636f6e666c696374604082015260600190565b6020808252601d908201527f4469737075746520616c6c6f636174696f6e206d757374206578697374000000604082015260600190565b60208082526019908201527f6669736865726d616e52657761726450657263656e7461676500000000000000604082015260600190565b60208082526029908201527f44697370757465206465706f73697420697320756e646572206d696e696d756d604082015268081c995c5d5a5c995960ba1b606082015260800190565b60208082526035908201527f536c617368696e672070657263656e74616765206d7573742062652062656c6f60408201527477206f7220657175616c20746f204d41585f50504d60581b606082015260800190565b6020808252600e908201526d1b5a5b9a5b5d5b51195c1bdcda5d60921b604082015260600190565b602080825260159082015274717279536c617368696e6750657263656e7461676560581b604082015260600190565b602080825260169082015275111a5cdc1d5d1948191bd95cc81b9bdd08195e1a5cdd60521b604082015260600190565b6020808252601c908201527f43616c6c6572206973206e6f74207468652041726269747261746f7200000000604082015260600190565b6020808252600a908201526930b93134ba3930ba37b960b11b604082015260600190565b60208082526022908201527f4174746573746174696f6e206d75737420626520313631206279746573206c6f6040820152616e6760f01b606082015260800190565b60208082526017908201527f44697370757465206d7573742062652070656e64696e67000000000000000000604082015260600190565b6020808252601c908201527f4469737075746520696e646578657220686173206e6f207374616b6500000000604082015260600190565b60208082526033908201527f5265776172642070657263656e74616765206d7573742062652062656c6f77206040820152726f7220657175616c20746f204d41585f50504d60681b606082015260800190565b6020808252601b908201527f4d696e696d756d206465706f736974206d757374206265207365740000000000604082015260600190565b602080825260169082015275105c989a5d1c985d1bdc881b5d5cdd081899481cd95d60521b604082015260600190565b6020808252602b908201527f496e64657865722063616e6e6f7420626520666f756e6420666f72207468652060408201526a30ba3a32b9ba30ba34b7b760a91b606082015260800190565b9182526001600160a01b0316602082015260400190565b600084825260208481840152606060408401528351806060850152825b8181101561326057858101830151858201608001528201613244565b818111156132715783608083870101525b50601f01601f19169290920160800195945050505050565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156132b657fe5b604052919050565b6001600160a01b03811681146108e557600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff1690171c81cb8b682f2ccbedfbf819b865e6e7e7d80be0f163cb60a98801d64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063991a8355116100de578063c894222e11610097578063d6866ea511610071578063d6866ea51461035d578063e78ec42e14610365578063f77c479114610378578063fcc29e4b146103805761018e565b8063c894222e14610316578063c9747f5114610337578063d36fc9d41461034a5761018e565b8063991a8355146102975780639ce7abe5146102aa578063a2594d82146102bd578063b0eefabe146102d0578063be41f384146102e3578063c8792217146103035761018e565b8063530efc9d1161014b578063787693e011610125578063787693e0146102565780638bbb33b41461025e57806392eefe9b146102715780639334ea52146102845761018e565b8063530efc9d14610231578063636bfbab146102395780636cc6cde1146102415761018e565b806311b426111461019357806311be1997146101a8578063131610b1146101d657806336167e03146101f6578063458af6fc14610209578063460967df1461021e575b600080fd5b6101a66101a136600461283f565b610393565b005b6101bb6101b636600461283f565b610590565b6040516101cd96959493929190612bb9565b60405180910390f35b6101e96101e43660046128ed565b6105d7565b6040516101cd9190612c40565b6101a661020436600461283f565b61066a565b6102116107e9565b6040516101cd9190613289565b6101e961022c366004612a5f565b6107f5565b610211610882565b6101e9610896565b61024961089c565b6040516101cd9190612ba5565b6102116108ab565b6101a661026c366004612ae6565b6108be565b6101a661027f366004612788565b6108d4565b6101a661029236600461283f565b6108e8565b6101a66102a5366004612acc565b610a88565b6101a66102b8366004612937565b610a99565b6101a66102cb366004612788565b610bef565b6101a66102de366004612788565b610d0a565b6102f66102f136600461283f565b610d1b565b6040516101cd9190612c35565b6101e9610311366004612814565b610d4c565b610329610324366004612884565b610d6b565b6040516101cd929190612c49565b610249610345366004612a0f565b610f07565b6102f6610358366004612a2a565b610ff4565b6101a6611025565b6101a661037336600461283f565b611146565b610249611157565b6101a661038e3660046127a4565b611166565b61039b6112bc565b806103a581610d1b565b6103ca5760405162461bcd60e51b81526004016103c190612fd0565b60405180910390fd5b60046000828152601060205260409020600490810154610100900460ff16908111156103f257fe5b1461040f5760405162461bcd60e51b81526004016103c19061309d565b600082815260106020526040812060048101805461ff001916610100179081905581546001830154929392610456926001600160a01b03928316929091169060ff166112e6565b91505061047f610464611449565b600184015460028501546001600160a01b0390911690611479565b6040805160c08101825283546001600160a01b039081168252600185015416602082015260028085015492820192909252600384015460608201526004840154610519928591608084019160ff909116908111156104d957fe5b60028111156104e457fe5b81526020016004820160019054906101000a900460ff16600481111561050657fe5b600481111561051157fe5b905250611544565b1561052b5761052b826003015461066a565b6001820154825460028401546001600160a01b03928316929091169086907f6d800aaaf64b9a1f321dcd63da04369d33d8a0d49ad0fbba085aab4a98bf31c4906105759086611587565b6040516105829190612c40565b60405180910390a450505050565b601060205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b60006105e2826115e1565b610662338361062687878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b949350505050565b6106726112bc565b8061067c81610d1b565b6106985760405162461bcd60e51b81526004016103c190612fd0565b60046000828152601060205260409020600490810154610100900460ff16908111156106c057fe5b146106dd5760405162461bcd60e51b81526004016103c19061309d565b60008281526010602052604090206004810180546002919061ff0019166101008302179055506040805160c08101825282546001600160a01b03908116825260018401541660208201526002808401549282019290925260038301546060820152600483015461075d928491608084019160ff909116908111156104d957fe5b1561077a5760405162461bcd60e51b81526004016103c190612d37565b61078f610785611449565b826002015461191c565b6001810154815460028301546040516001600160a01b03938416939092169186917f2226ebd23625a7938fb786df2248bd171d2e6ad70cb2b654ea1be830ca17224d916107dc9190612c40565b60405180910390a4505050565b600f5463ffffffff1681565b6000600c547f32dd026408194a0d7e54cc66a2ab6c856efc55cfcd4dd258fde5b1a55222baa683600001518460200151856040015160405160200161083d9493929190612c57565b60405160208183030381529060405280519060200120604051602001610864929190612b8a565b6040516020818303038152906040528051906020012090505b919050565b600f54640100000000900463ffffffff1681565b600e5481565b600d546001600160a01b031681565b600f54600160401b900463ffffffff1681565b6108c6611968565b6108d08282611a3c565b5050565b6108dc611b04565b6108e581611b63565b50565b6108f06112bc565b806108fa81610d1b565b6109165760405162461bcd60e51b81526004016103c190612fd0565b60046000828152601060205260409020600490810154610100900460ff169081111561093e57fe5b1461095b5760405162461bcd60e51b81526004016103c19061309d565b600082815260106020526040902061098f610974611449565b600183015460028401546001600160a01b0390911690611479565b6040805160c08101825282546001600160a01b039081168252600184015416602082015260028084015492820192909252600383015460608201526004830154610a29928491608084019160ff909116908111156109e957fe5b60028111156109f457fe5b81526020016004820160019054906101000a900460ff166004811115610a1657fe5b6004811115610a2157fe5b905250611c0b565b5060048101805461ff0019166103001790556001810154815460028301546040516001600160a01b03938416939092169186917ff0912efb86ea1d65a17d64d48393cdb1ca0ea5220dd2bbe438621199d30955b7916107dc9190612c40565b610a90611968565b6108e581611c4e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6020811015610aff57600080fd5b50516001600160a01b03163314610b5d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610bd157600080fd5b505af1158015610be5573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610c2b57600080fd5b505af1158015610c3f573d6000803e3d6000fd5b505050506040513d6020811015610c5557600080fd5b50516001600160a01b03163314610cb3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b505050505050565b610d12611968565b6108e581611cb3565b6000806000838152601060205260409020600490810154610100900460ff1690811115610d4457fe5b141592915050565b6000610d57826115e1565b610d62338385611d10565b90505b92915050565b60008060003390506000610db488888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b90506000610df787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061161592505050565b9050610e038282610ff4565b610e1f5760405162461bcd60e51b81526004016103c190612e38565b6000610e64846000858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b90506000610eab856000858c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c092505050565b60008381526010602052604080822060039081018490558383528183200185905551919250829184917ffec135a4cf8e5c6e13dea23be058bf03a8bf8f1f6fb0a021b0a5aeddfba8140791a3909a909950975050505050505050565b600080610f1383611ffb565b90506000610f1f612066565b6001600160a01b0316630e022923836040518263ffffffff1660e01b8152600401610f4a9190612ba5565b6101206040518083038186803b158015610f6357600080fd5b505afa158015610f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9b919061298a565b80519091506001600160a01b0316610fc55760405162461bcd60e51b81526004016103c1906131c5565b8360400151816020015114610fec5760405162461bcd60e51b81526004016103c190612cda565b519392505050565b8051825160009114801561100f575081604001518360400151145b8015610d62575050602090810151910151141590565b61104e7f0000000000000000000000000000000000000000000000000000000000000000612091565b6110777f0000000000000000000000000000000000000000000000000000000000000000612091565b6110a07f0000000000000000000000000000000000000000000000000000000000000000612091565b6110c97f0000000000000000000000000000000000000000000000000000000000000000612091565b6110f27f0000000000000000000000000000000000000000000000000000000000000000612091565b61111b7f0000000000000000000000000000000000000000000000000000000000000000612091565b6111447f0000000000000000000000000000000000000000000000000000000000000000612091565b565b61114e611968565b6108e581612192565b6000546001600160a01b031681565b61116e6121d3565b6001600160a01b0316336001600160a01b0316146111c9576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6111d2866108dc565b6111db85611cb3565b6111e484612192565b6111ed83611c4e565b6111f78282611a3c565b7fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564727f171a7fa058648750a8c5aae430f30db8d0100efc3a5e1b2e8054b1c1ce28b6b47f044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d6112626121f8565b604051611299949392919030907fa070ffb1cd7409649bf77822cce74495468e06dbfaef09556838bf188679b9c290602001612c72565b60408051601f198184030181529190528051602090910120600c55505050505050565b600d546001600160a01b031633146111445760405162461bcd60e51b81526004016103c190613000565b60008060006112f3612066565b90506000816001600160a01b0316631787e69f886040518263ffffffff1660e01b81526004016113239190612ba5565b60206040518083038186803b15801561133b57600080fd5b505afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113739190612ab4565b9050611395620f424061138f83611389896121fc565b90612253565b906122ac565b9350600084116113b75760405162461bcd60e51b81526004016103c190612da6565b600f546113d890620f42409061138f9063ffffffff90811690889061225316565b6040516373b7f6f360e11b81529093506001600160a01b0383169063e76fede69061140d908a90889088908c90600401612c0a565b600060405180830381600087803b15801561142757600080fd5b505af115801561143b573d6000803e3d6000fd5b505050505050935093915050565b60006114747f0000000000000000000000000000000000000000000000000000000000000000612313565b905090565b801561153f57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114d657600080fd5b505af11580156114ea573d6000803e3d6000fd5b505050506040513d602081101561150057600080fd5b505161153f576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b505050565b60608101516000908015801590611580575060046000828152601060205260409020600490810154610100900460ff169081111561157e57fe5b145b9392505050565b600082820183811015610d62576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600e548110156116035760405162461bcd60e51b81526004016103c190612edb565b6108e561160e611449565b33836123af565b61161d61266a565b815160a11461163e5760405162461bcd60e51b81526004016103c19061305b565b6000806000848060200190518101906116579190612857565b925092509250600061166a86606061240e565b9050600061167987608061240e565b905060006116888860a061243d565b6040805160c081018252978852602088019690965294860193909352606085019190915260808401525060ff1660a082015292915050565b6000806116cc84610f07565b905060006116d8612066565b6001600160a01b0316631787e69f836040518263ffffffff1660e01b81526004016117039190612ba5565b60206040518083038186803b15801561171b57600080fd5b505afa15801561172f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117539190612ab4565b116117705760405162461bcd60e51b81526004016103c1906130d4565b6000846000015185602001518660400151848a604051602001611797959493929190612b2c565b6040516020818303038152906040528051906020012090506117b881610d1b565b156117d55760405162461bcd60e51b81526004016103c190612ca3565b6040805160c0810182526001600160a01b0380851682528916602082015290810187905260006060820152608081016002815260200160049052600082815260106020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600180840180549290931691909416179055918301516002808401919091556060840151600384015560808401516004840180549193909260ff1990921691849081111561188d57fe5b021790555060a08201518160040160016101000a81548160ff021916908360048111156118b657fe5b0217905550905050866001600160a01b0316826001600160a01b0316827ff192cc7cf262c5da671cc55332faf41b2417d7aaf98e022d4b58baa06eb78f618989604001518960405161190a93929190613227565b60405180910390a49695505050505050565b80156108d057816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610cee57600080fd5b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d60208110156119de57600080fd5b50516001600160a01b03163314611144576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b620f42408263ffffffff1611158015611a5e5750620f42408163ffffffff1611155b611a7a5760405162461bcd60e51b81526004016103c190612f24565b600f805463ffffffff838116600160401b026bffffffff0000000000000000199186166401000000000267ffffffff000000001990931692909217161790556040516000805160206132f683398151915290611ad590612fa1565b60405180910390a16000805160206132f6833981519152604051611af890612e09565b60405180910390a15050565b6000546001600160a01b03163314611144576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611bb7576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000611c1682611544565b15611c46575060608101516000908152601060205260409020600401805461ff001916610300179055600161087d565b506000919050565b620f42408163ffffffff161115611c775760405162461bcd60e51b81526004016103c19061310b565b600f805463ffffffff191663ffffffff83161790556040516000805160206132f683398151915290611ca890612ea4565b60405180910390a150565b6001600160a01b038116611cd95760405162461bcd60e51b81526004016103c190613195565b600d80546001600160a01b0319166001600160a01b0383161790556040516000805160206132f683398151915290611ca890613037565b60008082604051602001611d249190612b0f565b604051602081830303815290604052805190602001209050611d4581610d1b565b15611d625760405162461bcd60e51b81526004016103c190612ca3565b6000611d6c612066565b90506000816001600160a01b0316630e022923866040518263ffffffff1660e01b8152600401611d9c9190612ba5565b6101206040518083038186803b158015611db557600080fd5b505afa158015611dc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ded919061298a565b80519091506001600160a01b0316611e175760405162461bcd60e51b81526004016103c190612e6d565b8051604051631787e69f60e01b81526000916001600160a01b03851691631787e69f91611e4691600401612ba5565b60206040518083038186803b158015611e5e57600080fd5b505afa158015611e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e969190612ab4565b11611eb35760405162461bcd60e51b81526004016103c1906130d4565b6040805160c08101825282516001600160a01b0390811682528916602082015290810187905260006060820152608081016001815260200160049052600084815260106020908152604091829020835181546001600160a01b039182166001600160a01b031991821617835592850151600180840180549290931691909416179055918301516002808401919091556060840151600384015560808401516004840180549193909260ff19909216918490811115611f6d57fe5b021790555060a08201518160040160016101000a81548160ff02191690836004811115611f9657fe5b0217905550905050866001600160a01b031681600001516001600160a01b0316847f2f2afd556ee5734d2224e6d720a0fd68056fbc9127bc0a1da3f54c0e0346e1748989604051611fe8929190613210565b60405180910390a4509095945050505050565b60408051606081018252825181526020808401519082015282820151918101919091526000908161202b826107f5565b905061066281856060015186608001518760a0015160405160200161205293929190612b67565b60405160208183030381529060405261246c565b60006114747f0000000000000000000000000000000000000000000000000000000000000000612313565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156120de57600080fd5b505afa1580156120f2573d6000803e3d6000fd5b505050506040513d602081101561210857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146108d05760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b600081116121b25760405162461bcd60e51b81526004016103c19061315e565b600e8190556040516000805160206132f683398151915290611ca890612f79565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b4690565b6000600282600281111561220c57fe5b14156122295750600f54640100000000900463ffffffff1661087d565b600182600281111561223757fe5b1415611c465750600f54600160401b900463ffffffff1661087d565b60008261226257506000610d65565b8282028284828161226f57fe5b0414610d625760405162461bcd60e51b81526004018080602001828103825260218152602001806133386021913960400191505060405180910390fd5b6000808211612302576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161230b57fe5b049392505050565b6000818152600160205260408120546001600160a01b031680610d655760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561237c57600080fd5b505afa158015612390573d6000803e3d6000fd5b505050506040513d60208110156123a657600080fd5b50519392505050565b801561153f57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156114d657600080fd5b600060208201835110156124345760405162461bcd60e51b81526004016103c190612ddb565b50016020015190565b600060018201835110156124635760405162461bcd60e51b81526004016103c190612ddb565b50016001015190565b600081516041146124c4576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a6124e2868285856124ec565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561254d5760405162461bcd60e51b81526004018080602001828103825260228152602001806132d46022913960400191505060405180910390fd5b8360ff16601b148061256257508360ff16601c145b61259d5760405162461bcd60e51b81526004018080602001828103825260228152602001806133166022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156125f9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612661576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b805161087d816132be565b60008083601f8401126126bb578182fd5b50813567ffffffffffffffff8111156126d2578182fd5b6020830191508360208285010111156126ea57600080fd5b9250929050565b600060c08284031215612702578081fd5b60405160c0810181811067ffffffffffffffff8211171561271f57fe5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560ff8116811461276757600080fd5b60a0919091015292915050565b803563ffffffff8116811461087d57600080fd5b600060208284031215612799578081fd5b8135610d62816132be565b60008060008060008060c087890312156127bc578182fd5b86356127c7816132be565b955060208701356127d7816132be565b9450604087013593506127ec60608801612774565b92506127fa60808801612774565b915061280860a08801612774565b90509295509295509295565b60008060408385031215612826578182fd5b8235612831816132be565b946020939093013593505050565b600060208284031215612850578081fd5b5035919050565b60008060006060848603121561286b578283fd5b8351925060208401519150604084015190509250925092565b60008060008060408587031215612899578384fd5b843567ffffffffffffffff808211156128b0578586fd5b6128bc888389016126aa565b909650945060208701359150808211156128d4578384fd5b506128e1878288016126aa565b95989497509550505050565b600080600060408486031215612901578283fd5b833567ffffffffffffffff811115612917578384fd5b612923868287016126aa565b909790965060209590950135949350505050565b60008060006040848603121561294b578081fd5b8335612956816132be565b9250602084013567ffffffffffffffff811115612971578182fd5b61297d868287016126aa565b9497909650939450505050565b600061012080838503121561299d578182fd5b6129a68161329a565b90506129b18361269f565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b600060c08284031215612a20578081fd5b610d6283836126f1565b6000806101808385031215612a3d578182fd5b612a4784846126f1565b9150612a568460c085016126f1565b90509250929050565b600060608284031215612a70578081fd5b6040516060810181811067ffffffffffffffff82111715612a8d57fe5b80604052508235815260208301356020820152604083013560408201528091505092915050565b600060208284031215612ac5578081fd5b5051919050565b600060208284031215612add578081fd5b610d6282612774565b60008060408385031215612af8578182fd5b612b0183612774565b9150612a5660208401612774565b60609190911b6bffffffffffffffffffffffff1916815260140190565b948552602085019390935260408401919091526bffffffffffffffffffffffff19606091821b81168285015291901b16607482015260880190565b928352602083019190915260f81b6001600160f81b031916604082015260410190565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03878116825286166020820152604081018590526060810184905260c0810160038410612be957fe5b83608083015260058310612bf957fe5b8260a0830152979650505050505050565b6001600160a01b03948516815260208101939093526040830191909152909116606082015260800190565b901515815260200190565b90815260200190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b9586526020860194909452604085019290925260608401526001600160a01b0316608083015260a082015260c00190565b60208082526017908201527f4469737075746520616c72656164792063726561746564000000000000000000604082015260600190565b6020808252603a908201527f416c6c6f636174696f6e20616e64206174746573746174696f6e20737562677260408201527f6170684465706c6f796d656e744944206d757374206d61746368000000000000606082015260800190565b60208082526049908201527f4469737075746520666f7220636f6e666c696374696e6720617474657374617460408201527f696f6e2c206d75737420616363657074207468652072656c61746564204944206060820152681d1bc81c995a9958dd60ba1b608082015260a00190565b6020808252818101527f4469737075746520686173207a65726f20746f6b656e7320746f20736c617368604082015260600190565b60208082526014908201527342797465733a206f7574206f6620626f756e647360601b604082015260600190565b602080825260159082015274696478536c617368696e6750657263656e7461676560581b604082015260600190565b6020808252818101527f4174746573746174696f6e73206d75737420626520696e20636f6e666c696374604082015260600190565b6020808252601d908201527f4469737075746520616c6c6f636174696f6e206d757374206578697374000000604082015260600190565b60208082526019908201527f6669736865726d616e52657761726450657263656e7461676500000000000000604082015260600190565b60208082526029908201527f44697370757465206465706f73697420697320756e646572206d696e696d756d604082015268081c995c5d5a5c995960ba1b606082015260800190565b60208082526035908201527f536c617368696e672070657263656e74616765206d7573742062652062656c6f60408201527477206f7220657175616c20746f204d41585f50504d60581b606082015260800190565b6020808252600e908201526d1b5a5b9a5b5d5b51195c1bdcda5d60921b604082015260600190565b602080825260159082015274717279536c617368696e6750657263656e7461676560581b604082015260600190565b602080825260169082015275111a5cdc1d5d1948191bd95cc81b9bdd08195e1a5cdd60521b604082015260600190565b6020808252601c908201527f43616c6c6572206973206e6f74207468652041726269747261746f7200000000604082015260600190565b6020808252600a908201526930b93134ba3930ba37b960b11b604082015260600190565b60208082526022908201527f4174746573746174696f6e206d75737420626520313631206279746573206c6f6040820152616e6760f01b606082015260800190565b60208082526017908201527f44697370757465206d7573742062652070656e64696e67000000000000000000604082015260600190565b6020808252601c908201527f4469737075746520696e646578657220686173206e6f207374616b6500000000604082015260600190565b60208082526033908201527f5265776172642070657263656e74616765206d7573742062652062656c6f77206040820152726f7220657175616c20746f204d41585f50504d60681b606082015260800190565b6020808252601b908201527f4d696e696d756d206465706f736974206d757374206265207365740000000000604082015260600190565b602080825260169082015275105c989a5d1c985d1bdc881b5d5cdd081899481cd95d60521b604082015260600190565b6020808252602b908201527f496e64657865722063616e6e6f7420626520666f756e6420666f72207468652060408201526a30ba3a32b9ba30ba34b7b760a91b606082015260800190565b9182526001600160a01b0316602082015260400190565b600084825260208481840152606060408401528351806060850152825b8181101561326057858101830151858201608001528201613244565b818111156132715783608083870101525b50601f01601f19169290920160800195945050505050565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156132b657fe5b604052919050565b6001600160a01b03811681146108e557600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203ff1690171c81cb8b682f2ccbedfbf819b865e6e7e7d80be0f163cb60a98801d64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.dbg.json b/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.json b/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.json new file mode 100644 index 000000000..4acb2699b --- /dev/null +++ b/abis/disputes/DisputeManagerStorage.sol/DisputeManagerV1Storage.json @@ -0,0 +1,198 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "DisputeManagerV1Storage", + "sourceName": "contracts/disputes/DisputeManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "arbitrator", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "disputes", + "outputs": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "fisherman", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deposit", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "relatedDisputeID", + "type": "bytes32" + }, + { + "internalType": "enum IDisputeManager.DisputeType", + "name": "disputeType", + "type": "uint8" + }, + { + "internalType": "enum IDisputeManager.DisputeStatus", + "name": "status", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fishermanRewardPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "idxSlashingPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "qrySlashingPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516105d46101646000398061036052508061033752508061030e5250806102e55250806102bc52508061029352508061026a52506105d46000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636cc6cde1116100665780636cc6cde114610159578063787693e01461017d57806392eefe9b14610185578063d6866ea5146101ad578063f77c4791146101b557610093565b806311be199714610098578063458af6fc14610116578063530efc9d14610137578063636bfbab1461013f575b600080fd5b6100b5600480360360208110156100ae57600080fd5b50356101bd565b60405180876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020018360028111156100ef57fe5b815260200182600481111561010057fe5b8152602001965050505050505060405180910390f35b61011e610204565b6040805163ffffffff9092168252519081900360200190f35b61011e610210565b610147610224565b60408051918252519081900360200190f35b61016161022a565b604080516001600160a01b039092168252519081900360200190f35b61011e610239565b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b0316610251565b005b6101ab610265565b610161610386565b601060205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b600f5463ffffffff1681565b600f54640100000000900463ffffffff1681565b600e5481565b600d546001600160a01b031681565b600f5468010000000000000000900463ffffffff1681565b610259610395565b610262816103f4565b50565b61028e7f000000000000000000000000000000000000000000000000000000000000000061049c565b6102b77f000000000000000000000000000000000000000000000000000000000000000061049c565b6102e07f000000000000000000000000000000000000000000000000000000000000000061049c565b6103097f000000000000000000000000000000000000000000000000000000000000000061049c565b6103327f000000000000000000000000000000000000000000000000000000000000000061049c565b61035b7f000000000000000000000000000000000000000000000000000000000000000061049c565b6103847f000000000000000000000000000000000000000000000000000000000000000061049c565b565b6000546001600160a01b031681565b6000546001600160a01b03163314610384576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610448576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156104e957600080fd5b505afa1580156104fd573d6000803e3d6000fd5b505050506040513d602081101561051357600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461059a5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212207ad90eff219654b7bd2feafdf19c05df9c73bd027b7aa2db0140d83a0b40eb9364736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80636cc6cde1116100665780636cc6cde114610159578063787693e01461017d57806392eefe9b14610185578063d6866ea5146101ad578063f77c4791146101b557610093565b806311be199714610098578063458af6fc14610116578063530efc9d14610137578063636bfbab1461013f575b600080fd5b6100b5600480360360208110156100ae57600080fd5b50356101bd565b60405180876001600160a01b03168152602001866001600160a01b031681526020018581526020018481526020018360028111156100ef57fe5b815260200182600481111561010057fe5b8152602001965050505050505060405180910390f35b61011e610204565b6040805163ffffffff9092168252519081900360200190f35b61011e610210565b610147610224565b60408051918252519081900360200190f35b61016161022a565b604080516001600160a01b039092168252519081900360200190f35b61011e610239565b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b0316610251565b005b6101ab610265565b610161610386565b601060205260009081526040902080546001820154600283015460038401546004909401546001600160a01b03938416949390921692909160ff8082169161010090041686565b600f5463ffffffff1681565b600f54640100000000900463ffffffff1681565b600e5481565b600d546001600160a01b031681565b600f5468010000000000000000900463ffffffff1681565b610259610395565b610262816103f4565b50565b61028e7f000000000000000000000000000000000000000000000000000000000000000061049c565b6102b77f000000000000000000000000000000000000000000000000000000000000000061049c565b6102e07f000000000000000000000000000000000000000000000000000000000000000061049c565b6103097f000000000000000000000000000000000000000000000000000000000000000061049c565b6103327f000000000000000000000000000000000000000000000000000000000000000061049c565b61035b7f000000000000000000000000000000000000000000000000000000000000000061049c565b6103847f000000000000000000000000000000000000000000000000000000000000000061049c565b565b6000546001600160a01b031681565b6000546001600160a01b03163314610384576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610448576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156104e957600080fd5b505afa1580156104fd573d6000803e3d6000fd5b505050506040513d602081101561051357600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461059a5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212207ad90eff219654b7bd2feafdf19c05df9c73bd027b7aa2db0140d83a0b40eb9364736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/disputes/IDisputeManager.sol/IDisputeManager.dbg.json b/abis/disputes/IDisputeManager.sol/IDisputeManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/disputes/IDisputeManager.sol/IDisputeManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/disputes/IDisputeManager.sol/IDisputeManager.json b/abis/disputes/IDisputeManager.sol/IDisputeManager.json new file mode 100644 index 000000000..3fa370159 --- /dev/null +++ b/abis/disputes/IDisputeManager.sol/IDisputeManager.json @@ -0,0 +1,378 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IDisputeManager", + "sourceName": "contracts/disputes/IDisputeManager.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "acceptDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation1", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation2", + "type": "tuple" + } + ], + "name": "areConflictingAttestations", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_deposit", + "type": "uint256" + } + ], + "name": "createIndexingDispute", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_attestationData", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_deposit", + "type": "uint256" + } + ], + "name": "createQueryDispute", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_attestationData1", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "_attestationData2", + "type": "bytes" + } + ], + "name": "createQueryDisputeConflict", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "drawDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "internalType": "struct IDisputeManager.Receipt", + "name": "_receipt", + "type": "tuple" + } + ], + "name": "encodeHashReceipt", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "requestCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "responseCID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "internalType": "struct IDisputeManager.Attestation", + "name": "_attestation", + "type": "tuple" + } + ], + "name": "getAttestationIndexer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "isDisputeCreated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_disputeID", + "type": "bytes32" + } + ], + "name": "rejectDispute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_arbitrator", + "type": "address" + } + ], + "name": "setArbitrator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setFishermanRewardPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumDeposit", + "type": "uint256" + } + ], + "name": "setMinimumDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_qryPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_idxPercentage", + "type": "uint32" + } + ], + "name": "setSlashingPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/epochs/EpochManager.sol/EpochManager.dbg.json b/abis/epochs/EpochManager.sol/EpochManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/epochs/EpochManager.sol/EpochManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/epochs/EpochManager.sol/EpochManager.json b/abis/epochs/EpochManager.sol/EpochManager.json new file mode 100644 index 000000000..c82e36659 --- /dev/null +++ b/abis/epochs/EpochManager.sol/EpochManager.json @@ -0,0 +1,364 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "EpochManager", + "sourceName": "contracts/epochs/EpochManager.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epochLength", + "type": "uint256" + } + ], + "name": "EpochLengthUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "caller", + "type": "address" + } + ], + "name": "EpochRun", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_block", + "type": "uint256" + } + ], + "name": "blockHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "blockNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpochBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpochBlockSinceStart", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "epochLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epoch", + "type": "uint256" + } + ], + "name": "epochsSince", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "epochsSinceUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_epochLength", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isCurrentEpochRun", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastLengthUpdateBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastLengthUpdateEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastRunEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "runEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochLength", + "type": "uint256" + } + ], + "name": "setEpochLength", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161103461016460003980610aac525080610a83525080610a5a525080610a31525080610a085250806109df5250806109b652506110346000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2594d82116100ad578063cd6dc68711610071578063cd6dc687146102c4578063d0cfa46e146102f0578063d6866ea5146102f8578063f77c479114610300578063faa1a23c146103245761012c565b8063a2594d821461027e578063ab93122c146102a4578063b4146a0b146102ac578063c46e58eb146102b4578063cc65149b146102bc5761012c565b806376671808116100f457806376671808146101ab57806385df51fd146101b35780638ae63d6d146101d057806392eefe9b146101d85780639ce7abe5146101fe5761012c565b806319c3b82d146101315780631b28126d1461014b5780631ce05d381461016857806354eea7961461018457806357d775f8146101a3575b600080fd5b61013961032c565b60408051918252519081900360200190f35b6101396004803603602081101561016157600080fd5b5035610353565b61017061037f565b604080519115158252519081900360200190f35b6101a16004803603602081101561019a57600080fd5b5035610392565b005b61013961047f565b610139610485565b610139600480360360208110156101c957600080fd5b503561049b565b61013961053b565b6101a1600480360360208110156101ee57600080fd5b50356001600160a01b031661053f565b6101a16004803603604081101561021457600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561023f57600080fd5b82018360208201111561025157600080fd5b8035906020019184600183028401116401000000008311171561027357600080fd5b509092509050610553565b6101a16004803603602081101561029457600080fd5b50356001600160a01b03166106a9565b6101396107c4565b6101396107e6565b6101a16107ec565b610139610888565b6101a1600480360360408110156102da57600080fd5b506001600160a01b03813516906020013561088e565b610139610999565b6101a16109b1565b610308610ad2565b604080516001600160a01b039092168252519081900360200190f35b610139610ae1565b600061034e600c54610348600f5461034261053b565b90610ae7565b90610b49565b905090565b60008061035e610485565b905080831061036e576000610378565b6103788184610ae7565b9392505050565b6000610389610485565b600d5414905090565b61039a610bb0565b600081116103ea576040805162461bcd60e51b8152602060048201526018602482015277045706f6368206c656e6774682063616e6e6f7420626520360441b604482015290519081900360640190fd5b600c5481141561042b5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f666029913960400191505060405180910390fd5b610433610485565b600e5561043e6107c4565b600f55600c819055600e546040805183815290517f25ddd6f00038d5eac0051df83c6084f140a01586f092e2728d1ed781c9ce24419181900360200190a250565b600c5481565b600061034e61049261032c565b600e5490610c84565b6000806104a661053b565b90508083106104e65760405162461bcd60e51b8152600401808060200182810382526023815260200180610fdc6023913960400191505060405180910390fd5b6101008110806104fa575061010081038310155b6105355760405162461bcd60e51b815260040180806020018281038252602c815260200180610fb0602c913960400191505060405180910390fd5b50504090565b4390565b610547610cde565b61055081610d3d565b50565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561058f57600080fd5b505af11580156105a3573d6000803e3d6000fd5b505050506040513d60208110156105b957600080fd5b50516001600160a01b03163314610617576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561068b57600080fd5b505af115801561069f573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50516001600160a01b0316331461076d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050505050565b600061034e6107dd600c546107d761032c565b90610de5565b600f5490610c84565b600e5481565b6107f461037f565b15610846576040805162461bcd60e51b815260206004820152601960248201527f43757272656e742065706f636820616c72656164792072756e00000000000000604482015290519081900360640190fd5b61084e610485565b600d8190556040805133815290517f666a37ccc682d20f8c51c5f6fd835cbadbcaaf09921e076282446e42d7264e3e9181900360200190a2565b600f5481565b610896610e3e565b6001600160a01b0316336001600160a01b0316146108f1576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b60008111610941576040805162461bcd60e51b8152602060048201526018602482015277045706f6368206c656e6774682063616e6e6f7420626520360441b604482015290519081900360640190fd5b61094a82610547565b6001600e5561095761053b565b600f55600c819055600e546040805183815290517f25ddd6f00038d5eac0051df83c6084f140a01586f092e2728d1ed781c9ce24419181900360200190a25050565b60006109a36107c4565b6109ab61053b565b03905090565b6109da7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a037f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a2c7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a557f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a7e7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610aa77f0000000000000000000000000000000000000000000000000000000000000000610e63565b610ad07f0000000000000000000000000000000000000000000000000000000000000000610e63565b565b6000546001600160a01b031681565b600d5481565b600082821115610b3e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000808211610b9f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ba857fe5b049392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d6020811015610c2657600080fd5b50516001600160a01b03163314610ad0576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082820183811015610378576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b03163314610ad0576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610d91576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b600082610df457506000610b43565b82820282848281610e0157fe5b04146103785760405162461bcd60e51b8152600401808060200182810382526021815260200180610f8f6021913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506040513d6020811015610eda57600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610f615760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fe45706f6368206c656e677468206d75737420626520646966666572656e7420746f2063757272656e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c792072657472696576652068617368657320666f72206c6173742032353620626c6f636b7343616e206f6e6c79207265747269657665207061737420626c6f636b20686173686573a2646970667358221220ec6294b36ac06e6384ff0097edefc12ae9873492d00173a22aed8158507ecc7964736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063a2594d82116100ad578063cd6dc68711610071578063cd6dc687146102c4578063d0cfa46e146102f0578063d6866ea5146102f8578063f77c479114610300578063faa1a23c146103245761012c565b8063a2594d821461027e578063ab93122c146102a4578063b4146a0b146102ac578063c46e58eb146102b4578063cc65149b146102bc5761012c565b806376671808116100f457806376671808146101ab57806385df51fd146101b35780638ae63d6d146101d057806392eefe9b146101d85780639ce7abe5146101fe5761012c565b806319c3b82d146101315780631b28126d1461014b5780631ce05d381461016857806354eea7961461018457806357d775f8146101a3575b600080fd5b61013961032c565b60408051918252519081900360200190f35b6101396004803603602081101561016157600080fd5b5035610353565b61017061037f565b604080519115158252519081900360200190f35b6101a16004803603602081101561019a57600080fd5b5035610392565b005b61013961047f565b610139610485565b610139600480360360208110156101c957600080fd5b503561049b565b61013961053b565b6101a1600480360360208110156101ee57600080fd5b50356001600160a01b031661053f565b6101a16004803603604081101561021457600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561023f57600080fd5b82018360208201111561025157600080fd5b8035906020019184600183028401116401000000008311171561027357600080fd5b509092509050610553565b6101a16004803603602081101561029457600080fd5b50356001600160a01b03166106a9565b6101396107c4565b6101396107e6565b6101a16107ec565b610139610888565b6101a1600480360360408110156102da57600080fd5b506001600160a01b03813516906020013561088e565b610139610999565b6101a16109b1565b610308610ad2565b604080516001600160a01b039092168252519081900360200190f35b610139610ae1565b600061034e600c54610348600f5461034261053b565b90610ae7565b90610b49565b905090565b60008061035e610485565b905080831061036e576000610378565b6103788184610ae7565b9392505050565b6000610389610485565b600d5414905090565b61039a610bb0565b600081116103ea576040805162461bcd60e51b8152602060048201526018602482015277045706f6368206c656e6774682063616e6e6f7420626520360441b604482015290519081900360640190fd5b600c5481141561042b5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f666029913960400191505060405180910390fd5b610433610485565b600e5561043e6107c4565b600f55600c819055600e546040805183815290517f25ddd6f00038d5eac0051df83c6084f140a01586f092e2728d1ed781c9ce24419181900360200190a250565b600c5481565b600061034e61049261032c565b600e5490610c84565b6000806104a661053b565b90508083106104e65760405162461bcd60e51b8152600401808060200182810382526023815260200180610fdc6023913960400191505060405180910390fd5b6101008110806104fa575061010081038310155b6105355760405162461bcd60e51b815260040180806020018281038252602c815260200180610fb0602c913960400191505060405180910390fd5b50504090565b4390565b610547610cde565b61055081610d3d565b50565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561058f57600080fd5b505af11580156105a3573d6000803e3d6000fd5b505050506040513d60208110156105b957600080fd5b50516001600160a01b03163314610617576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561068b57600080fd5b505af115801561069f573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156106e557600080fd5b505af11580156106f9573d6000803e3d6000fd5b505050506040513d602081101561070f57600080fd5b50516001600160a01b0316331461076d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050505050565b600061034e6107dd600c546107d761032c565b90610de5565b600f5490610c84565b600e5481565b6107f461037f565b15610846576040805162461bcd60e51b815260206004820152601960248201527f43757272656e742065706f636820616c72656164792072756e00000000000000604482015290519081900360640190fd5b61084e610485565b600d8190556040805133815290517f666a37ccc682d20f8c51c5f6fd835cbadbcaaf09921e076282446e42d7264e3e9181900360200190a2565b600f5481565b610896610e3e565b6001600160a01b0316336001600160a01b0316146108f1576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b60008111610941576040805162461bcd60e51b8152602060048201526018602482015277045706f6368206c656e6774682063616e6e6f7420626520360441b604482015290519081900360640190fd5b61094a82610547565b6001600e5561095761053b565b600f55600c819055600e546040805183815290517f25ddd6f00038d5eac0051df83c6084f140a01586f092e2728d1ed781c9ce24419181900360200190a25050565b60006109a36107c4565b6109ab61053b565b03905090565b6109da7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a037f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a2c7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a557f0000000000000000000000000000000000000000000000000000000000000000610e63565b610a7e7f0000000000000000000000000000000000000000000000000000000000000000610e63565b610aa77f0000000000000000000000000000000000000000000000000000000000000000610e63565b610ad07f0000000000000000000000000000000000000000000000000000000000000000610e63565b565b6000546001600160a01b031681565b600d5481565b600082821115610b3e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000808211610b9f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ba857fe5b049392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfc57600080fd5b505afa158015610c10573d6000803e3d6000fd5b505050506040513d6020811015610c2657600080fd5b50516001600160a01b03163314610ad0576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082820183811015610378576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b03163314610ad0576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610d91576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b600082610df457506000610b43565b82820282848281610e0157fe5b04146103785760405162461bcd60e51b8152600401808060200182810382526021815260200180610f8f6021913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506040513d6020811015610eda57600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610f615760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fe45706f6368206c656e677468206d75737420626520646966666572656e7420746f2063757272656e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c792072657472696576652068617368657320666f72206c6173742032353620626c6f636b7343616e206f6e6c79207265747269657665207061737420626c6f636b20686173686573a2646970667358221220ec6294b36ac06e6384ff0097edefc12ae9873492d00173a22aed8158507ecc7964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.dbg.json b/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.json b/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.json new file mode 100644 index 000000000..4243b0a56 --- /dev/null +++ b/abis/epochs/EpochManagerStorage.sol/EpochManagerV1Storage.json @@ -0,0 +1,141 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "EpochManagerV1Storage", + "sourceName": "contracts/epochs/EpochManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "epochLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastLengthUpdateBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastLengthUpdateEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastRunEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516104a3610164600039806102295250806102005250806101d75250806101ae52508061018552508061015c52508061013352506104a36000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063cc65149b1161005b578063cc65149b146100cc578063d6866ea5146100d4578063f77c4791146100dc578063faa1a23c146101005761007d565b806357d775f81461008257806392eefe9b1461009c578063b4146a0b146100c4575b600080fd5b61008a610108565b60408051918252519081900360200190f35b6100c2600480360360208110156100b257600080fd5b50356001600160a01b031661010e565b005b61008a610122565b61008a610128565b6100c261012e565b6100e461024f565b604080516001600160a01b039092168252519081900360200190f35b61008a61025e565b600c5481565b610116610264565b61011f816102c3565b50565b600e5481565b600f5481565b6101577f000000000000000000000000000000000000000000000000000000000000000061036b565b6101807f000000000000000000000000000000000000000000000000000000000000000061036b565b6101a97f000000000000000000000000000000000000000000000000000000000000000061036b565b6101d27f000000000000000000000000000000000000000000000000000000000000000061036b565b6101fb7f000000000000000000000000000000000000000000000000000000000000000061036b565b6102247f000000000000000000000000000000000000000000000000000000000000000061036b565b61024d7f000000000000000000000000000000000000000000000000000000000000000061036b565b565b6000546001600160a01b031681565b600d5481565b6000546001600160a01b0316331461024d576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610317576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146104695760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212201a9e59ec45229855330fc3343fc41b3b52f4bf11b24c77906550bdc0cb7fc15b64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063cc65149b1161005b578063cc65149b146100cc578063d6866ea5146100d4578063f77c4791146100dc578063faa1a23c146101005761007d565b806357d775f81461008257806392eefe9b1461009c578063b4146a0b146100c4575b600080fd5b61008a610108565b60408051918252519081900360200190f35b6100c2600480360360208110156100b257600080fd5b50356001600160a01b031661010e565b005b61008a610122565b61008a610128565b6100c261012e565b6100e461024f565b604080516001600160a01b039092168252519081900360200190f35b61008a61025e565b600c5481565b610116610264565b61011f816102c3565b50565b600e5481565b600f5481565b6101577f000000000000000000000000000000000000000000000000000000000000000061036b565b6101807f000000000000000000000000000000000000000000000000000000000000000061036b565b6101a97f000000000000000000000000000000000000000000000000000000000000000061036b565b6101d27f000000000000000000000000000000000000000000000000000000000000000061036b565b6101fb7f000000000000000000000000000000000000000000000000000000000000000061036b565b6102247f000000000000000000000000000000000000000000000000000000000000000061036b565b61024d7f000000000000000000000000000000000000000000000000000000000000000061036b565b565b6000546001600160a01b031681565b600d5481565b6000546001600160a01b0316331461024d576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610317576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146104695760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212201a9e59ec45229855330fc3343fc41b3b52f4bf11b24c77906550bdc0cb7fc15b64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/epochs/IEpochManager.sol/IEpochManager.dbg.json b/abis/epochs/IEpochManager.sol/IEpochManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/epochs/IEpochManager.sol/IEpochManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/epochs/IEpochManager.sol/IEpochManager.json b/abis/epochs/IEpochManager.sol/IEpochManager.json new file mode 100644 index 000000000..9e0db6f13 --- /dev/null +++ b/abis/epochs/IEpochManager.sol/IEpochManager.json @@ -0,0 +1,147 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IEpochManager", + "sourceName": "contracts/epochs/IEpochManager.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_block", + "type": "uint256" + } + ], + "name": "blockHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "blockNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpochBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentEpochBlockSinceStart", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epoch", + "type": "uint256" + } + ], + "name": "epochsSince", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "epochsSinceUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isCurrentEpochRun", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "runEpoch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_epochLength", + "type": "uint256" + } + ], + "name": "setEpochLength", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/gateway/BridgeEscrow.sol/BridgeEscrow.dbg.json b/abis/gateway/BridgeEscrow.sol/BridgeEscrow.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/gateway/BridgeEscrow.sol/BridgeEscrow.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/gateway/BridgeEscrow.sol/BridgeEscrow.json b/abis/gateway/BridgeEscrow.sol/BridgeEscrow.json new file mode 100644 index 000000000..0c5976a23 --- /dev/null +++ b/abis/gateway/BridgeEscrow.sol/BridgeEscrow.json @@ -0,0 +1,159 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "BridgeEscrow", + "sourceName": "contracts/gateway/BridgeEscrow.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "revokeAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051610c376101696000398061071f5250806106f65250806106cd528061089e5250806106a452508061067b5250806106525250806106295250610c376000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063c4d66de81161005b578063c4d66de814610181578063d6866ea5146101a7578063e7dd4b2c146101af578063f77c4791146101d557610088565b80630621472c1461008d57806392eefe9b146100b55780639ce7abe5146100db578063a2594d821461015b575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166101f9565b005b6100b3600480360360208110156100cb57600080fd5b50356001600160a01b0316610290565b6100b3600480360360408110156100f157600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011c57600080fd5b82018360208201111561012e57600080fd5b8035906020019184600183028401116401000000008311171561015057600080fd5b5090925090506102a4565b6100b36004803603602081101561017157600080fd5b50356001600160a01b03166103fa565b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610515565b6100b3610624565b6100b3600480360360208110156101c557600080fd5b50356001600160a01b0316610745565b6101dd6107ac565b604080516001600160a01b039092168252519081900360200190f35b6102016107c1565b610209610897565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b505050506040513d602081101561028b57600080fd5b505050565b6102986108c7565b6102a18161092c565b50565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156102e057600080fd5b505af11580156102f4573d6000803e3d6000fd5b505050506040513d602081101561030a57600080fd5b50516001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043657600080fd5b505af115801561044a573d6000803e3d6000fd5b505050506040513d602081101561046057600080fd5b50516001600160a01b031633146104be576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b505050505050565b61051d6109de565b6001600160a01b0316336001600160a01b031614610578576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600054610100900460ff16806105915750610591610a03565b8061059f575060005460ff16155b6105da5760405162461bcd60e51b815260040180806020018281038252602e815260200180610bd4602e913960400191505060405180910390fd5b600054610100900460ff16158015610605576000805460ff1961ff0019909116610100171660011790555b61060e82610298565b8015610620576000805461ff00191690555b5050565b61064d7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106767f0000000000000000000000000000000000000000000000000000000000000000610a14565b61069f7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106c87f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106f17f0000000000000000000000000000000000000000000000000000000000000000610a14565b61071a7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6107437f0000000000000000000000000000000000000000000000000000000000000000610a14565b565b61074d6107c1565b610755610897565b6001600160a01b031663095ea7b38260006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561026157600080fd5b6000546201000090046001600160a01b031681565b600060029054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b505050506040513d602081101561083957600080fd5b50516001600160a01b03163314610743576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006108c27f0000000000000000000000000000000000000000000000000000000000000000610b22565b905090565b6000546201000090046001600160a01b03163314610743576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610980576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b03831662010000810262010000600160b01b03199092169190911790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000610a0e30610bcd565b15905090565b60008060029054906101000a90046001600160a01b03166001600160a01b031663f7641a5e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d6020811015610a9857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146106205760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600160205260408120546001600160a01b031680610bc757600060029054906101000a90046001600160a01b03166001600160a01b031663f7641a5e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d6020811015610bc257600080fd5b505190505b92915050565b3b15159056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564a2646970667358221220488b5cd058c94b6286a9fc33431f4fcf476ba4ff514e4ad265be8ac9f2ccbb4964736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063c4d66de81161005b578063c4d66de814610181578063d6866ea5146101a7578063e7dd4b2c146101af578063f77c4791146101d557610088565b80630621472c1461008d57806392eefe9b146100b55780639ce7abe5146100db578063a2594d821461015b575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166101f9565b005b6100b3600480360360208110156100cb57600080fd5b50356001600160a01b0316610290565b6100b3600480360360408110156100f157600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011c57600080fd5b82018360208201111561012e57600080fd5b8035906020019184600183028401116401000000008311171561015057600080fd5b5090925090506102a4565b6100b36004803603602081101561017157600080fd5b50356001600160a01b03166103fa565b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610515565b6100b3610624565b6100b3600480360360208110156101c557600080fd5b50356001600160a01b0316610745565b6101dd6107ac565b604080516001600160a01b039092168252519081900360200190f35b6102016107c1565b610209610897565b6001600160a01b031663095ea7b3826000196040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561026157600080fd5b505af1158015610275573d6000803e3d6000fd5b505050506040513d602081101561028b57600080fd5b505050565b6102986108c7565b6102a18161092c565b50565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156102e057600080fd5b505af11580156102f4573d6000803e3d6000fd5b505050506040513d602081101561030a57600080fd5b50516001600160a01b03163314610368576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156103dc57600080fd5b505af11580156103f0573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561043657600080fd5b505af115801561044a573d6000803e3d6000fd5b505050506040513d602081101561046057600080fd5b50516001600160a01b031633146104be576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b505050505050565b61051d6109de565b6001600160a01b0316336001600160a01b031614610578576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600054610100900460ff16806105915750610591610a03565b8061059f575060005460ff16155b6105da5760405162461bcd60e51b815260040180806020018281038252602e815260200180610bd4602e913960400191505060405180910390fd5b600054610100900460ff16158015610605576000805460ff1961ff0019909116610100171660011790555b61060e82610298565b8015610620576000805461ff00191690555b5050565b61064d7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106767f0000000000000000000000000000000000000000000000000000000000000000610a14565b61069f7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106c87f0000000000000000000000000000000000000000000000000000000000000000610a14565b6106f17f0000000000000000000000000000000000000000000000000000000000000000610a14565b61071a7f0000000000000000000000000000000000000000000000000000000000000000610a14565b6107437f0000000000000000000000000000000000000000000000000000000000000000610a14565b565b61074d6107c1565b610755610897565b6001600160a01b031663095ea7b38260006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561026157600080fd5b6000546201000090046001600160a01b031681565b600060029054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b505050506040513d602081101561083957600080fd5b50516001600160a01b03163314610743576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006108c27f0000000000000000000000000000000000000000000000000000000000000000610b22565b905090565b6000546201000090046001600160a01b03163314610743576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610980576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b03831662010000810262010000600160b01b03199092169190911790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000610a0e30610bcd565b15905090565b60008060029054906101000a90046001600160a01b03166001600160a01b031663f7641a5e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d6020811015610a9857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146106205760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600160205260408120546001600160a01b031680610bc757600060029054906101000a90046001600160a01b03166001600160a01b031663f7641a5e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d6020811015610bc257600080fd5b505190505b92915050565b3b15159056fe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564a2646970667358221220488b5cd058c94b6286a9fc33431f4fcf476ba4ff514e4ad265be8ac9f2ccbb4964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.dbg.json b/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.json b/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.json new file mode 100644 index 000000000..18a1576be --- /dev/null +++ b/abis/gateway/GraphTokenGateway.sol/GraphTokenGateway.json @@ -0,0 +1,339 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphTokenGateway", + "sourceName": "contracts/gateway/GraphTokenGateway.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "pauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PartialPauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l1ERC20", + "type": "address" + } + ], + "name": "calculateL2TokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "finalizeInboundTransfer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "lastPartialPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amunt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "gasPiceBid", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "outboundTransfer", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauseGuardian", + "type": "address" + } + ], + "name": "setPauseGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_newPaused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.dbg.json b/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.json b/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.json new file mode 100644 index 000000000..638d1dd39 --- /dev/null +++ b/abis/gateway/ICallhookReceiver.sol/ICallhookReceiver.json @@ -0,0 +1,34 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ICallhookReceiver", + "sourceName": "contracts/gateway/ICallhookReceiver.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.dbg.json b/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.json b/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.json new file mode 100644 index 000000000..9129fab78 --- /dev/null +++ b/abis/gateway/L1GraphTokenGateway.sol/L1GraphTokenGateway.json @@ -0,0 +1,910 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1GraphTokenGateway", + "sourceName": "contracts/gateway/L1GraphTokenGateway.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "newAllowlisted", + "type": "address" + } + ], + "name": "AddedToCallhookAllowlist", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "l1Router", + "type": "address" + } + ], + "name": "ArbitrumAddressesSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1Token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sequenceNumber", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "DepositInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "escrow", + "type": "address" + } + ], + "name": "EscrowAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l2Counterpart", + "type": "address" + } + ], + "name": "L2CounterpartAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "accumulatedL2MintAllowanceSnapshot", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "l2MintAllowancePerBlock", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "lastL2MintAllowanceUpdateBlock", + "type": "uint256" + } + ], + "name": "L2MintAllowanceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l2GRT", + "type": "address" + } + ], + "name": "L2TokenAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "pauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PartialPauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "notAllowlisted", + "type": "address" + } + ], + "name": "RemovedFromCallhookAllowlist", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TokensMintedFromL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_seqNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "TxToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1Token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "exitNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawalFinalized", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_blockNum", + "type": "uint256" + } + ], + "name": "accumulatedL2MintAllowanceAtBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accumulatedL2MintAllowanceSnapshot", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAllowlisted", + "type": "address" + } + ], + "name": "addToCallhookAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1ERC20", + "type": "address" + } + ], + "name": "calculateL2TokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "callhookAllowlist", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGateway", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "escrow", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "finalizeInboundTransfer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "getOutboundCalldata", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "inbox", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "l1Router", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2Counterpart", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2GRT", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2MintAllowancePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastL2MintAllowanceUpdateBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPartialPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "outboundTransfer", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_notAllowlisted", + "type": "address" + } + ], + "name": "removeFromCallhookAllowlist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_inbox", + "type": "address" + }, + { + "internalType": "address", + "name": "_l1Router", + "type": "address" + } + ], + "name": "setArbitrumAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_escrow", + "type": "address" + } + ], + "name": "setEscrowAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2Counterpart", + "type": "address" + } + ], + "name": "setL2CounterpartAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_accumulatedL2MintAllowanceSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_l2MintAllowancePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_lastL2MintAllowanceUpdateBlock", + "type": "uint256" + } + ], + "name": "setL2MintAllowanceParametersManual", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2GRT", + "type": "address" + } + ], + "name": "setL2TokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauseGuardian", + "type": "address" + } + ], + "name": "setPauseGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_newPaused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalMintedFromL2", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l2IssuancePerBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_updateBlockNum", + "type": "uint256" + } + ], + "name": "updateL2MintAllowance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051612fe7610169600039806118f05250806118c752508061189e5280611d5252508061187552508061184c5250806118235250806117fa5250612fe76000f3fe60806040526004361061020f5760003560e01c80638f438f1711610118578063cac60872116100a0578063d6866ea51161006f578063d6866ea514610595578063ddeb63b5146105aa578063e2fdcc17146105ca578063f77c4791146105df578063fb0e722b146105f45761020f565b8063cac608721461052d578063d2ce7d6514610542578063d426f70014610555578063d653b022146105755761020f565b8063a0c76a96116100e7578063a0c76a9614610480578063a2594d82146104ad578063a7e28d48146104cd578063b83d696e146104ed578063c4d66de81461050d5761020f565b80638f438f171461040b57806391b4ded91461042b57806392eefe9b146104405780639ce7abe5146104605761020f565b8063407395e01161019b578063721302631161016a578063721302631461038c57806373aea0ae146103ac5780637fee3d43146103c15780638e7c8efe146103e15780638f3112c5146103f65761020f565b8063407395e01461032057806348bde20c146103355780634c381870146103555780635c975abb1461036a5761020f565b80631c5b7776116101e25780631c5b77761461029657806322ca40a8146102b657806324a3d622146102d65780632db09c1c146102f85780632e567b361461030d5761020f565b8063011e68e31461021457806311dd712914610236578063147ddef51461026157806316c38b3c14610276575b600080fd5b34801561022057600080fd5b5061023461022f3660046124f0565b610609565b005b34801561024257600080fd5b5061024b610696565b6040516102589190612eaa565b60405180910390f35b34801561026d57600080fd5b5061024b61069c565b34801561028257600080fd5b50610234610291366004612732565b6106a2565b3480156102a257600080fd5b5061024b6102b13660046127bd565b61079a565b3480156102c257600080fd5b506102346102d13660046124f0565b6107f3565b3480156102e257600080fd5b506102eb61086c565b60405161025891906128e4565b34801561030457600080fd5b506102eb61087b565b61023461031b3660046125ae565b61088a565b34801561032c57600080fd5b506102eb610c5c565b34801561034157600080fd5b506102346103503660046124f0565b610c6b565b34801561036157600080fd5b506102eb610cd7565b34801561037657600080fd5b5061037f610ce6565b6040516102589190612995565b34801561039857600080fd5b506102346103a736600461288d565b610cf6565b3480156103b857600080fd5b5061024b610d6d565b3480156103cd57600080fd5b506102346103dc36600461286c565b610d73565b3480156103ed57600080fd5b506102eb610e11565b34801561040257600080fd5b5061024b610e20565b34801561041757600080fd5b506102346104263660046124f0565b610e26565b34801561043757600080fd5b5061024b610f33565b34801561044c57600080fd5b5061023461045b3660046124f0565b610f39565b34801561046c57600080fd5b5061023461047b36600461276a565b610f4a565b34801561048c57600080fd5b506104a061049b366004612631565b6110a0565b60405161025891906129a0565b3480156104b957600080fd5b506102346104c83660046124f0565b611100565b3480156104d957600080fd5b506102eb6104e83660046124f0565b61121b565b3480156104f957600080fd5b5061037f6105083660046124f0565b61125e565b34801561051957600080fd5b506102346105283660046124f0565b611273565b34801561053957600080fd5b5061024b611395565b6104a06105503660046126ae565b61139b565b34801561056157600080fd5b506102346105703660046124f0565b611606565b34801561058157600080fd5b50610234610590366004612576565b6116bc565b3480156105a157600080fd5b506102346117f5565b3480156105b657600080fd5b506102346105c53660046124f0565b611916565b3480156105d657600080fd5b506102eb6119b4565b3480156105eb57600080fd5b506102eb6119c3565b34801561060057600080fd5b506102eb6119d2565b6106116119e1565b6001600160a01b0381166106405760405162461bcd60e51b815260040161063790612e52565b60405180910390fd5b604280546001600160a01b0319166001600160a01b0383161790556040517f9a6e2b45041fa2939015ac2bd7e80b890de28d7154ef04b0f52a94fa4e88091d9061068b9083906128e4565b60405180910390a150565b604b5481565b60015481565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b50516001600160a01b031633148061073057506003546001600160a01b031633145b610781576040805162461bcd60e51b815260206004820152601960248201527f4f6e6c7920476f7665726e6f72206f7220477561726469616e00000000000000604482015290519081900360640190fd5b8061078e5761078e611aab565b61079781611b4b565b50565b6000604a548210156107be5760405162461bcd60e51b815260040161063790612b20565b6107eb6107e26107d9604a5485611bdc90919063ffffffff16565b604b5490611c3e565b60495490611c9e565b90505b919050565b6107fb6119e1565b6001600160a01b0381166108215760405162461bcd60e51b815260040161063790612c6c565b604580546001600160a01b0319166001600160a01b0383161790556040517f75d3e58d9088e31d57a8da4c52196f9d30e8f6fd45543bbe506679e2bef8eaa79061068b9083906128e4565b6003546001600160a01b031681565b6045546001600160a01b031690565b610892611cf8565b6043546001600160a01b03166108ba5760405162461bcd60e51b815260040161063790612af9565b6045546001600160a01b03166108e25760405162461bcd60e51b815260040161063790612e7a565b604354604080516373c6754960e11b815290516000926001600160a01b03169163e78cea92916004808301926020929190829003018186803b15801561092757600080fd5b505afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f919061250c565b9050336001600160a01b038216146109895760405162461bcd60e51b815260040161063790612a0c565b6000816001600160a01b031663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc919061250c565b6001600160a01b03166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c919061250c565b6045549091506001600160a01b03808316911614610a9c5760405162461bcd60e51b815260040161063790612e1b565b6000610aa6611d4b565b9050806001600160a01b0316896001600160a01b031614610ad95760405162461bcd60e51b815260040161063790612dcd565b6046546040516370a0823160e01b81526000916001600160a01b03808516926370a0823192610b0c9216906004016128e4565b60206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906127d5565b905080871115610b7857610b78610b738883611bdc565b611d7b565b6046546040516323b872dd60e01b81526001600160a01b03848116926323b872dd92610bae92909116908c908c90600401612958565b602060405180830381600087803b158015610bc857600080fd5b505af1158015610bdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c00919061274e565b506000886001600160a01b03168a6001600160a01b03167f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b38d8b604051610c4892919061297c565b60405180910390a450505050505050505050565b6044546001600160a01b031681565b610c736119e1565b6001600160a01b038116610cce576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61079781611e4c565b6042546001600160a01b031681565b6000546301000000900460ff1690565b610cfe6119e1565b438110610d1d5760405162461bcd60e51b815260040161063790612c09565b6049839055604b829055604a8190556040517fbfdf0135edba030abcdb9dfcdd3856c401a97acac62e96ba34714ae9cff0ebe690610d6090859085908590612eb3565b60405180910390a1505050565b604a5481565b610d7b6119e1565b438110610d9a5760405162461bcd60e51b815260040161063790612c09565b604a548111610dbb5760405162461bcd60e51b815260040161063790612a5e565b610dc48161079a565b6049819055604a829055604b8390556040517fbfdf0135edba030abcdb9dfcdd3856c401a97acac62e96ba34714ae9cff0ebe691610e059185908590612eb3565b60405180910390a15050565b6045546001600160a01b031681565b60485481565b610e2e6119e1565b6001600160a01b038116610e545760405162461bcd60e51b8152600401610637906129b3565b6044546001600160a01b0382811691161415610e825760405162461bcd60e51b815260040161063790612da2565b610e8b81611e9e565b610ea75760405162461bcd60e51b815260040161063790612d19565b6001600160a01b03811660009081526047602052604090205460ff1615610ee05760405162461bcd60e51b815260040161063790612bdc565b6001600160a01b03811660009081526047602052604090819020805460ff19166001179055517ff3b329c349ad69ad25f0137ff68c2eaf5ad22fc53cd7a1cfe40a52b19499c1d29061068b9083906128e4565b60025481565b610f41611ea4565b61079781611f03565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f8657600080fd5b505af1158015610f9a573d6000803e3d6000fd5b505050506040513d6020811015610fb057600080fd5b50516001600160a01b0316331461100e576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561108257600080fd5b505af1158015611096573d6000803e3d6000fd5b5050505050505050565b6060632e567b3660e01b86868686866040516024016110c3959493929190612912565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905095945050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050506040513d602081101561116657600080fd5b50516001600160a01b031633146111c4576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ff57600080fd5b505af1158015611213573d6000803e3d6000fd5b505050505050565b600080611226611d4b565b9050806001600160a01b0316836001600160a01b03161461124b5760009150506107ee565b50506042546001600160a01b0316919050565b60476020526000908152604090205460ff1681565b61127b611fab565b6001600160a01b0316336001600160a01b0316146112d6576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600054610100900460ff16806112ef57506112ef611fd0565b806112fd575060005460ff16155b6113385760405162461bcd60e51b815260040180806020018281038252602e815260200180612f63602e913960400191505060405180910390fd5b600054610100900460ff16158015611363576000805460ff1961ff0019909116610100171660011790555b61136c82610f41565b6000805463ff000000191663010000001790558015611391576000805461ff00191690555b5050565b60495481565b60606113a5611cf8565b60006113af611d4b565b9050866113ce5760405162461bcd60e51b815260040161063790612acc565b806001600160a01b0316896001600160a01b0316146113ff5760405162461bcd60e51b815260040161063790612dcd565b6001600160a01b0388166114255760405162461bcd60e51b815260040161063790612c9c565b60008060006060806114378989611fe1565b80519297509094509150158061146157503360009081526047602052604090205460ff1615156001145b61147d5760405162461bcd60e51b815260040161063790612d6b565b8261149a5760405162461bcd60e51b815260040161063790612bb0565b6114a78e868f8f856110a0565b915050600060405180606001604052808481526020018c81526020018b8152509050856001600160a01b03166323b872dd86604660009054906101000a90046001600160a01b03168f6040518463ffffffff1660e01b815260040161150e93929190612958565b602060405180830381600087803b15801561152857600080fd5b505af115801561153c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611560919061274e565b50604354604554611583916001600160a01b03908116911687346000868861207a565b9350505050808a6001600160a01b0316836001600160a01b03167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18e8d6040516115ce92919061297c565b60405180910390a4806040516020016115e79190612eaa565b6040516020818303038152906040529350505050979650505050505050565b61160e6119e1565b6001600160a01b0381166116345760405162461bcd60e51b8152600401610637906129b3565b6001600160a01b03811660009081526047602052604090205460ff1661166c5760405162461bcd60e51b815260040161063790612a35565b6001600160a01b03811660009081526047602052604090819020805460ff19169055517f418f3ae472ec14bb195924385de80a9e9303050c823552568af2adb8388d9d099061068b9083906128e4565b6116c46119e1565b6001600160a01b0382166116ea5760405162461bcd60e51b815260040161063790612df4565b6001600160a01b0381166117105760405162461bcd60e51b815260040161063790612b85565b6001600160a01b03811660009081526047602052604090205460ff16156117495760405162461bcd60e51b815260040161063790612c35565b61175282611e9e565b61176e5760405162461bcd60e51b815260040161063790612b55565b61177781611e9e565b6117935760405162461bcd60e51b815260040161063790612a95565b604380546001600160a01b038085166001600160a01b03199283161790925560448054928416929091169190911790556040517fc5f09bf22bb39edf3e4c5f4fd5c4809125836ddc8a0937099d04f53f31eda23d90610e0590849084906128f8565b61181e7f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118477f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118707f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118997f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118c27f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118eb7f00000000000000000000000000000000000000000000000000000000000000006120a5565b6119147f00000000000000000000000000000000000000000000000000000000000000006120a5565b565b61191e6119e1565b6001600160a01b0381166119445760405162461bcd60e51b815260040161063790612cf1565b61194d81611e9e565b6119695760405162461bcd60e51b815260040161063790612d19565b604680546001600160a01b0319166001600160a01b0383161790556040517f14229a64f0a7328601813f0f794bb1dbc59363f1ed61c2f957d00517e6140e189061068b9083906128e4565b6046546001600160a01b031681565b6004546001600160a01b031681565b6043546001600160a01b031681565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b158015611a2357600080fd5b505afa158015611a37573d6000803e3d6000fd5b505050506040513d6020811015611a4d57600080fd5b50516001600160a01b03163314611914576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6043546001600160a01b0316611ad35760405162461bcd60e51b815260040161063790612af9565b6044546001600160a01b0316611afb5760405162461bcd60e51b815260040161063790612cc9565b6045546001600160a01b0316611b235760405162461bcd60e51b815260040161063790612e7a565b6046546001600160a01b03166119145760405162461bcd60e51b815260040161063790612d43565b600060039054906101000a900460ff1615158115151415611b6b57610797565b6000805463ff000000191663010000008315158102919091179182905560ff91041615611b9757426002555b60005460408051630100000090920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600082821115611c33576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b600082611c4d57506000611c38565b82820282848281611c5a57fe5b0414611c975760405162461bcd60e51b8152600401808060200182810382526021815260200180612f916021913960400191505060405180910390fd5b9392505050565b600082820183811015611c97576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546301000000900460ff1615611914576040805162461bcd60e51b81526020600482015260116024820152705061757365642028636f6e74726163742960781b604482015290519081900360640190fd5b6000611d767f00000000000000000000000000000000000000000000000000000000000000006121a6565b905090565b611d8481612240565b611da05760405162461bcd60e51b8152600401610637906129dc565b604854611dad9082611c9e565b604855611db8611d4b565b6046546040516340c10f1960e01b81526001600160a01b03928316926340c10f1992611deb92911690859060040161297c565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050507f4f8ca17191c10265804777143e4643b72f8a4c63ad6a973e2ed85532194abf828160405161068b9190612eaa565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b3b151590565b6004546001600160a01b03163314611914576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611f57576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611fdb30611e9e565b15905090565b60445460009081906060908290819083906001600160a01b03163314156120185761200e87890189612528565b9093509050612055565b33925087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050505b8080602001905181019061206991906127ed565b939650945091925050509250925092565b60006120998888888888886000015189602001518a604001518a612260565b98975050505050505050565b6004805460408051637bb20d2f60e11b8152928301849052516000926001600160a01b039092169163f7641a5e916024808301926020929190829003018186803b1580156120f257600080fd5b505afa158015612106573d6000803e3d6000fd5b505050506040513d602081101561211c57600080fd5b50516000838152600560205260409020549091506001600160a01b038083169116146113915760008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600560205260408120546001600160a01b0316806107eb576004805460408051637bb20d2f60e11b8152928301869052516001600160a01b039091169163f7641a5e916024808301926020929190829003018186803b15801561220d57600080fd5b505afa158015612221573d6000803e3d6000fd5b505050506040513d602081101561223757600080fd5b50519392505050565b600061224b4361079a565b6048546122589084611c9e565b111592915050565b6000808a6001600160a01b031663679b6ded898c8a8a8e8f8c8c8c6040518a63ffffffff1660e01b815260040180896001600160a01b03168152602001888152602001878152602001866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561230c5781810151838201526020016122f4565b50505050905090810190601f1680156123395780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b15801561235e57600080fd5b505af1158015612372573d6000803e3d6000fd5b50505050506040513d602081101561238957600080fd5b81019080805190602001909291905050509050808a6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0866040518080602001828103825283818151815260200191508051906020019080838360005b838110156124105781810151838201526020016123f8565b50505050905090810190601f16801561243d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a49a9950505050505050505050565b60008083601f840112612469578182fd5b50813567ffffffffffffffff811115612480578182fd5b60208301915083602082850101111561249857600080fd5b9250929050565b600082601f8301126124af578081fd5b81356124c26124bd82612eed565b612ec9565b8181528460208386010111156124d6578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215612501578081fd5b8135611c9781612f3f565b60006020828403121561251d578081fd5b8151611c9781612f3f565b6000806040838503121561253a578081fd5b823561254581612f3f565b9150602083013567ffffffffffffffff811115612560578182fd5b61256c8582860161249f565b9150509250929050565b60008060408385031215612588578182fd5b823561259381612f3f565b915060208301356125a381612f3f565b809150509250929050565b60008060008060008060a087890312156125c6578182fd5b86356125d181612f3f565b955060208701356125e181612f3f565b945060408701356125f181612f3f565b935060608701359250608087013567ffffffffffffffff811115612613578283fd5b61261f89828a01612458565b979a9699509497509295939492505050565b600080600080600060a08688031215612648578081fd5b853561265381612f3f565b9450602086013561266381612f3f565b9350604086013561267381612f3f565b925060608601359150608086013567ffffffffffffffff811115612695578182fd5b6126a18882890161249f565b9150509295509295909350565b600080600080600080600060c0888a0312156126c8578081fd5b87356126d381612f3f565b965060208801356126e381612f3f565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115612713578182fd5b61271f8a828b01612458565b989b979a50959850939692959293505050565b600060208284031215612743578081fd5b8135611c9781612f54565b60006020828403121561275f578081fd5b8151611c9781612f54565b60008060006040848603121561277e578081fd5b833561278981612f3f565b9250602084013567ffffffffffffffff8111156127a4578182fd5b6127b086828701612458565b9497909650939450505050565b6000602082840312156127ce578081fd5b5035919050565b6000602082840312156127e6578081fd5b5051919050565b600080604083850312156127ff578182fd5b82519150602083015167ffffffffffffffff81111561281c578182fd5b8301601f8101851361282c578182fd5b805161283a6124bd82612eed565b81815286602083850101111561284e578384fd5b61285f826020830160208601612f0f565b8093505050509250929050565b6000806040838503121561287e578182fd5b50508035926020909101359150565b6000806000606084860312156128a1578081fd5b505081359360208301359350604090920135919050565b600081518084526128d0816020860160208601612f0f565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0386811682528581166020830152841660408201526060810183905260a06080820181905260009061294d908301846128b8565b979650505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b600060208252611c9760208301846128b8565b6020808252600f908201526e494e56414c49445f4144445245535360881b604082015260600190565b6020808252601690820152751253959053125117d30c97d352539517d05353d5539560521b604082015260600190565b6020808252600f908201526e4e4f545f46524f4d5f42524944474560881b604082015260600190565b6020808252600f908201526e1393d517d0531313d5d31254d51151608a1b604082015260600190565b6020808252601a908201527f424c4f434b5f4d5553545f42455f494e4352454d454e54494e47000000000000604082015260600190565b60208082526017908201527f524f555445525f4d5553545f42455f434f4e5452414354000000000000000000604082015260600190565b6020808252601390820152721253959053125117d6915493d7d05353d55395606a1b604082015260600190565b6020808252600d908201526c12539093d617d393d517d4d155609a1b604082015260600190565b6020808252818101527f494e56414c49445f424c4f434b5f464f525f4d494e545f414c4c4f57414e4345604082015260600190565b60208082526016908201527512539093d617d35554d517d09157d0d3d395149050d560521b604082015260600190565b60208082526011908201527024a72b20a624a22fa618afa927aaaa22a960791b604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252601390820152721053149150511657d0531313d5d31254d51151606a1b604082015260600190565b602080825260129082015271109313d0d2d7d35554d517d09157d41054d560721b604082015260600190565b6020808252601a908201527f524f555445525f43414e545f42455f414c4c4f574c4953544544000000000000604082015260600190565b6020808252601690820152751253959053125117d30c97d0d3d5539511549410549560521b604082015260600190565b60208082526013908201527224a72b20a624a22fa222a9aa24a720aa24a7a760691b604082015260600190565b6020808252600e908201526d1493d555115497d393d517d4d15560921b604082015260600190565b6020808252600e908201526d494e56414c49445f455343524f5760901b604082015260600190565b60208082526010908201526f135554d517d09157d0d3d395149050d560821b604082015260600190565b6020808252600e908201526d1154d0d493d5d7d393d517d4d15560921b604082015260600190565b6020808252601a908201527f43414c4c5f484f4f4b5f444154415f4e4f545f414c4c4f574544000000000000604082015260600190565b60208082526011908201527021a0a72a2fa0a62627abafa927aaaa22a960791b604082015260600190565b6020808252600d908201526c1513d2d15397d393d517d1d495609a1b604082015260600190565b6020808252600d908201526c0929cac82989288be929c849eb609b1b604082015260600190565b60208082526018908201527f4f4e4c595f434f554e544552504152545f474154455741590000000000000000604082015260600190565b6020808252600e908201526d1253959053125117d30c97d1d49560921b604082015260600190565b602080825260169082015275130c97d0d3d5539511549410549517d393d517d4d15560521b604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715612ee557fe5b604052919050565b600067ffffffffffffffff821115612f0157fe5b50601f01601f191660200190565b60005b83811015612f2a578181015183820152602001612f12565b83811115612f39576000848401525b50505050565b6001600160a01b038116811461079757600080fd5b801515811461079757600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220603159a37dd6d823475d18cc8ebe4dc85f66d7e699df40e549a651d27cc1037c64736f6c63430007060033", + "deployedBytecode": "0x60806040526004361061020f5760003560e01c80638f438f1711610118578063cac60872116100a0578063d6866ea51161006f578063d6866ea514610595578063ddeb63b5146105aa578063e2fdcc17146105ca578063f77c4791146105df578063fb0e722b146105f45761020f565b8063cac608721461052d578063d2ce7d6514610542578063d426f70014610555578063d653b022146105755761020f565b8063a0c76a96116100e7578063a0c76a9614610480578063a2594d82146104ad578063a7e28d48146104cd578063b83d696e146104ed578063c4d66de81461050d5761020f565b80638f438f171461040b57806391b4ded91461042b57806392eefe9b146104405780639ce7abe5146104605761020f565b8063407395e01161019b578063721302631161016a578063721302631461038c57806373aea0ae146103ac5780637fee3d43146103c15780638e7c8efe146103e15780638f3112c5146103f65761020f565b8063407395e01461032057806348bde20c146103355780634c381870146103555780635c975abb1461036a5761020f565b80631c5b7776116101e25780631c5b77761461029657806322ca40a8146102b657806324a3d622146102d65780632db09c1c146102f85780632e567b361461030d5761020f565b8063011e68e31461021457806311dd712914610236578063147ddef51461026157806316c38b3c14610276575b600080fd5b34801561022057600080fd5b5061023461022f3660046124f0565b610609565b005b34801561024257600080fd5b5061024b610696565b6040516102589190612eaa565b60405180910390f35b34801561026d57600080fd5b5061024b61069c565b34801561028257600080fd5b50610234610291366004612732565b6106a2565b3480156102a257600080fd5b5061024b6102b13660046127bd565b61079a565b3480156102c257600080fd5b506102346102d13660046124f0565b6107f3565b3480156102e257600080fd5b506102eb61086c565b60405161025891906128e4565b34801561030457600080fd5b506102eb61087b565b61023461031b3660046125ae565b61088a565b34801561032c57600080fd5b506102eb610c5c565b34801561034157600080fd5b506102346103503660046124f0565b610c6b565b34801561036157600080fd5b506102eb610cd7565b34801561037657600080fd5b5061037f610ce6565b6040516102589190612995565b34801561039857600080fd5b506102346103a736600461288d565b610cf6565b3480156103b857600080fd5b5061024b610d6d565b3480156103cd57600080fd5b506102346103dc36600461286c565b610d73565b3480156103ed57600080fd5b506102eb610e11565b34801561040257600080fd5b5061024b610e20565b34801561041757600080fd5b506102346104263660046124f0565b610e26565b34801561043757600080fd5b5061024b610f33565b34801561044c57600080fd5b5061023461045b3660046124f0565b610f39565b34801561046c57600080fd5b5061023461047b36600461276a565b610f4a565b34801561048c57600080fd5b506104a061049b366004612631565b6110a0565b60405161025891906129a0565b3480156104b957600080fd5b506102346104c83660046124f0565b611100565b3480156104d957600080fd5b506102eb6104e83660046124f0565b61121b565b3480156104f957600080fd5b5061037f6105083660046124f0565b61125e565b34801561051957600080fd5b506102346105283660046124f0565b611273565b34801561053957600080fd5b5061024b611395565b6104a06105503660046126ae565b61139b565b34801561056157600080fd5b506102346105703660046124f0565b611606565b34801561058157600080fd5b50610234610590366004612576565b6116bc565b3480156105a157600080fd5b506102346117f5565b3480156105b657600080fd5b506102346105c53660046124f0565b611916565b3480156105d657600080fd5b506102eb6119b4565b3480156105eb57600080fd5b506102eb6119c3565b34801561060057600080fd5b506102eb6119d2565b6106116119e1565b6001600160a01b0381166106405760405162461bcd60e51b815260040161063790612e52565b60405180910390fd5b604280546001600160a01b0319166001600160a01b0383161790556040517f9a6e2b45041fa2939015ac2bd7e80b890de28d7154ef04b0f52a94fa4e88091d9061068b9083906128e4565b60405180910390a150565b604b5481565b60015481565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b50516001600160a01b031633148061073057506003546001600160a01b031633145b610781576040805162461bcd60e51b815260206004820152601960248201527f4f6e6c7920476f7665726e6f72206f7220477561726469616e00000000000000604482015290519081900360640190fd5b8061078e5761078e611aab565b61079781611b4b565b50565b6000604a548210156107be5760405162461bcd60e51b815260040161063790612b20565b6107eb6107e26107d9604a5485611bdc90919063ffffffff16565b604b5490611c3e565b60495490611c9e565b90505b919050565b6107fb6119e1565b6001600160a01b0381166108215760405162461bcd60e51b815260040161063790612c6c565b604580546001600160a01b0319166001600160a01b0383161790556040517f75d3e58d9088e31d57a8da4c52196f9d30e8f6fd45543bbe506679e2bef8eaa79061068b9083906128e4565b6003546001600160a01b031681565b6045546001600160a01b031690565b610892611cf8565b6043546001600160a01b03166108ba5760405162461bcd60e51b815260040161063790612af9565b6045546001600160a01b03166108e25760405162461bcd60e51b815260040161063790612e7a565b604354604080516373c6754960e11b815290516000926001600160a01b03169163e78cea92916004808301926020929190829003018186803b15801561092757600080fd5b505afa15801561093b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061095f919061250c565b9050336001600160a01b038216146109895760405162461bcd60e51b815260040161063790612a0c565b6000816001600160a01b031663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fc919061250c565b6001600160a01b03166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c919061250c565b6045549091506001600160a01b03808316911614610a9c5760405162461bcd60e51b815260040161063790612e1b565b6000610aa6611d4b565b9050806001600160a01b0316896001600160a01b031614610ad95760405162461bcd60e51b815260040161063790612dcd565b6046546040516370a0823160e01b81526000916001600160a01b03808516926370a0823192610b0c9216906004016128e4565b60206040518083038186803b158015610b2457600080fd5b505afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c91906127d5565b905080871115610b7857610b78610b738883611bdc565b611d7b565b6046546040516323b872dd60e01b81526001600160a01b03848116926323b872dd92610bae92909116908c908c90600401612958565b602060405180830381600087803b158015610bc857600080fd5b505af1158015610bdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c00919061274e565b506000886001600160a01b03168a6001600160a01b03167f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b38d8b604051610c4892919061297c565b60405180910390a450505050505050505050565b6044546001600160a01b031681565b610c736119e1565b6001600160a01b038116610cce576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61079781611e4c565b6042546001600160a01b031681565b6000546301000000900460ff1690565b610cfe6119e1565b438110610d1d5760405162461bcd60e51b815260040161063790612c09565b6049839055604b829055604a8190556040517fbfdf0135edba030abcdb9dfcdd3856c401a97acac62e96ba34714ae9cff0ebe690610d6090859085908590612eb3565b60405180910390a1505050565b604a5481565b610d7b6119e1565b438110610d9a5760405162461bcd60e51b815260040161063790612c09565b604a548111610dbb5760405162461bcd60e51b815260040161063790612a5e565b610dc48161079a565b6049819055604a829055604b8390556040517fbfdf0135edba030abcdb9dfcdd3856c401a97acac62e96ba34714ae9cff0ebe691610e059185908590612eb3565b60405180910390a15050565b6045546001600160a01b031681565b60485481565b610e2e6119e1565b6001600160a01b038116610e545760405162461bcd60e51b8152600401610637906129b3565b6044546001600160a01b0382811691161415610e825760405162461bcd60e51b815260040161063790612da2565b610e8b81611e9e565b610ea75760405162461bcd60e51b815260040161063790612d19565b6001600160a01b03811660009081526047602052604090205460ff1615610ee05760405162461bcd60e51b815260040161063790612bdc565b6001600160a01b03811660009081526047602052604090819020805460ff19166001179055517ff3b329c349ad69ad25f0137ff68c2eaf5ad22fc53cd7a1cfe40a52b19499c1d29061068b9083906128e4565b60025481565b610f41611ea4565b61079781611f03565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f8657600080fd5b505af1158015610f9a573d6000803e3d6000fd5b505050506040513d6020811015610fb057600080fd5b50516001600160a01b0316331461100e576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561108257600080fd5b505af1158015611096573d6000803e3d6000fd5b5050505050505050565b6060632e567b3660e01b86868686866040516024016110c3959493929190612912565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905095945050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050506040513d602081101561116657600080fd5b50516001600160a01b031633146111c4576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ff57600080fd5b505af1158015611213573d6000803e3d6000fd5b505050505050565b600080611226611d4b565b9050806001600160a01b0316836001600160a01b03161461124b5760009150506107ee565b50506042546001600160a01b0316919050565b60476020526000908152604090205460ff1681565b61127b611fab565b6001600160a01b0316336001600160a01b0316146112d6576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600054610100900460ff16806112ef57506112ef611fd0565b806112fd575060005460ff16155b6113385760405162461bcd60e51b815260040180806020018281038252602e815260200180612f63602e913960400191505060405180910390fd5b600054610100900460ff16158015611363576000805460ff1961ff0019909116610100171660011790555b61136c82610f41565b6000805463ff000000191663010000001790558015611391576000805461ff00191690555b5050565b60495481565b60606113a5611cf8565b60006113af611d4b565b9050866113ce5760405162461bcd60e51b815260040161063790612acc565b806001600160a01b0316896001600160a01b0316146113ff5760405162461bcd60e51b815260040161063790612dcd565b6001600160a01b0388166114255760405162461bcd60e51b815260040161063790612c9c565b60008060006060806114378989611fe1565b80519297509094509150158061146157503360009081526047602052604090205460ff1615156001145b61147d5760405162461bcd60e51b815260040161063790612d6b565b8261149a5760405162461bcd60e51b815260040161063790612bb0565b6114a78e868f8f856110a0565b915050600060405180606001604052808481526020018c81526020018b8152509050856001600160a01b03166323b872dd86604660009054906101000a90046001600160a01b03168f6040518463ffffffff1660e01b815260040161150e93929190612958565b602060405180830381600087803b15801561152857600080fd5b505af115801561153c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611560919061274e565b50604354604554611583916001600160a01b03908116911687346000868861207a565b9350505050808a6001600160a01b0316836001600160a01b03167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18e8d6040516115ce92919061297c565b60405180910390a4806040516020016115e79190612eaa565b6040516020818303038152906040529350505050979650505050505050565b61160e6119e1565b6001600160a01b0381166116345760405162461bcd60e51b8152600401610637906129b3565b6001600160a01b03811660009081526047602052604090205460ff1661166c5760405162461bcd60e51b815260040161063790612a35565b6001600160a01b03811660009081526047602052604090819020805460ff19169055517f418f3ae472ec14bb195924385de80a9e9303050c823552568af2adb8388d9d099061068b9083906128e4565b6116c46119e1565b6001600160a01b0382166116ea5760405162461bcd60e51b815260040161063790612df4565b6001600160a01b0381166117105760405162461bcd60e51b815260040161063790612b85565b6001600160a01b03811660009081526047602052604090205460ff16156117495760405162461bcd60e51b815260040161063790612c35565b61175282611e9e565b61176e5760405162461bcd60e51b815260040161063790612b55565b61177781611e9e565b6117935760405162461bcd60e51b815260040161063790612a95565b604380546001600160a01b038085166001600160a01b03199283161790925560448054928416929091169190911790556040517fc5f09bf22bb39edf3e4c5f4fd5c4809125836ddc8a0937099d04f53f31eda23d90610e0590849084906128f8565b61181e7f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118477f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118707f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118997f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118c27f00000000000000000000000000000000000000000000000000000000000000006120a5565b6118eb7f00000000000000000000000000000000000000000000000000000000000000006120a5565b6119147f00000000000000000000000000000000000000000000000000000000000000006120a5565b565b61191e6119e1565b6001600160a01b0381166119445760405162461bcd60e51b815260040161063790612cf1565b61194d81611e9e565b6119695760405162461bcd60e51b815260040161063790612d19565b604680546001600160a01b0319166001600160a01b0383161790556040517f14229a64f0a7328601813f0f794bb1dbc59363f1ed61c2f957d00517e6140e189061068b9083906128e4565b6046546001600160a01b031681565b6004546001600160a01b031681565b6043546001600160a01b031681565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b158015611a2357600080fd5b505afa158015611a37573d6000803e3d6000fd5b505050506040513d6020811015611a4d57600080fd5b50516001600160a01b03163314611914576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6043546001600160a01b0316611ad35760405162461bcd60e51b815260040161063790612af9565b6044546001600160a01b0316611afb5760405162461bcd60e51b815260040161063790612cc9565b6045546001600160a01b0316611b235760405162461bcd60e51b815260040161063790612e7a565b6046546001600160a01b03166119145760405162461bcd60e51b815260040161063790612d43565b600060039054906101000a900460ff1615158115151415611b6b57610797565b6000805463ff000000191663010000008315158102919091179182905560ff91041615611b9757426002555b60005460408051630100000090920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600082821115611c33576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b600082611c4d57506000611c38565b82820282848281611c5a57fe5b0414611c975760405162461bcd60e51b8152600401808060200182810382526021815260200180612f916021913960400191505060405180910390fd5b9392505050565b600082820183811015611c97576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546301000000900460ff1615611914576040805162461bcd60e51b81526020600482015260116024820152705061757365642028636f6e74726163742960781b604482015290519081900360640190fd5b6000611d767f00000000000000000000000000000000000000000000000000000000000000006121a6565b905090565b611d8481612240565b611da05760405162461bcd60e51b8152600401610637906129dc565b604854611dad9082611c9e565b604855611db8611d4b565b6046546040516340c10f1960e01b81526001600160a01b03928316926340c10f1992611deb92911690859060040161297c565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050507f4f8ca17191c10265804777143e4643b72f8a4c63ad6a973e2ed85532194abf828160405161068b9190612eaa565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b3b151590565b6004546001600160a01b03163314611914576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611f57576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611fdb30611e9e565b15905090565b60445460009081906060908290819083906001600160a01b03163314156120185761200e87890189612528565b9093509050612055565b33925087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050505b8080602001905181019061206991906127ed565b939650945091925050509250925092565b60006120998888888888886000015189602001518a604001518a612260565b98975050505050505050565b6004805460408051637bb20d2f60e11b8152928301849052516000926001600160a01b039092169163f7641a5e916024808301926020929190829003018186803b1580156120f257600080fd5b505afa158015612106573d6000803e3d6000fd5b505050506040513d602081101561211c57600080fd5b50516000838152600560205260409020549091506001600160a01b038083169116146113915760008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600560205260408120546001600160a01b0316806107eb576004805460408051637bb20d2f60e11b8152928301869052516001600160a01b039091169163f7641a5e916024808301926020929190829003018186803b15801561220d57600080fd5b505afa158015612221573d6000803e3d6000fd5b505050506040513d602081101561223757600080fd5b50519392505050565b600061224b4361079a565b6048546122589084611c9e565b111592915050565b6000808a6001600160a01b031663679b6ded898c8a8a8e8f8c8c8c6040518a63ffffffff1660e01b815260040180896001600160a01b03168152602001888152602001878152602001866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561230c5781810151838201526020016122f4565b50505050905090810190601f1680156123395780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b15801561235e57600080fd5b505af1158015612372573d6000803e3d6000fd5b50505050506040513d602081101561238957600080fd5b81019080805190602001909291905050509050808a6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0866040518080602001828103825283818151815260200191508051906020019080838360005b838110156124105781810151838201526020016123f8565b50505050905090810190601f16801561243d5780820380516001836020036101000a031916815260200191505b509250505060405180910390a49a9950505050505050505050565b60008083601f840112612469578182fd5b50813567ffffffffffffffff811115612480578182fd5b60208301915083602082850101111561249857600080fd5b9250929050565b600082601f8301126124af578081fd5b81356124c26124bd82612eed565b612ec9565b8181528460208386010111156124d6578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215612501578081fd5b8135611c9781612f3f565b60006020828403121561251d578081fd5b8151611c9781612f3f565b6000806040838503121561253a578081fd5b823561254581612f3f565b9150602083013567ffffffffffffffff811115612560578182fd5b61256c8582860161249f565b9150509250929050565b60008060408385031215612588578182fd5b823561259381612f3f565b915060208301356125a381612f3f565b809150509250929050565b60008060008060008060a087890312156125c6578182fd5b86356125d181612f3f565b955060208701356125e181612f3f565b945060408701356125f181612f3f565b935060608701359250608087013567ffffffffffffffff811115612613578283fd5b61261f89828a01612458565b979a9699509497509295939492505050565b600080600080600060a08688031215612648578081fd5b853561265381612f3f565b9450602086013561266381612f3f565b9350604086013561267381612f3f565b925060608601359150608086013567ffffffffffffffff811115612695578182fd5b6126a18882890161249f565b9150509295509295909350565b600080600080600080600060c0888a0312156126c8578081fd5b87356126d381612f3f565b965060208801356126e381612f3f565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115612713578182fd5b61271f8a828b01612458565b989b979a50959850939692959293505050565b600060208284031215612743578081fd5b8135611c9781612f54565b60006020828403121561275f578081fd5b8151611c9781612f54565b60008060006040848603121561277e578081fd5b833561278981612f3f565b9250602084013567ffffffffffffffff8111156127a4578182fd5b6127b086828701612458565b9497909650939450505050565b6000602082840312156127ce578081fd5b5035919050565b6000602082840312156127e6578081fd5b5051919050565b600080604083850312156127ff578182fd5b82519150602083015167ffffffffffffffff81111561281c578182fd5b8301601f8101851361282c578182fd5b805161283a6124bd82612eed565b81815286602083850101111561284e578384fd5b61285f826020830160208601612f0f565b8093505050509250929050565b6000806040838503121561287e578182fd5b50508035926020909101359150565b6000806000606084860312156128a1578081fd5b505081359360208301359350604090920135919050565b600081518084526128d0816020860160208601612f0f565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0386811682528581166020830152841660408201526060810183905260a06080820181905260009061294d908301846128b8565b979650505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b600060208252611c9760208301846128b8565b6020808252600f908201526e494e56414c49445f4144445245535360881b604082015260600190565b6020808252601690820152751253959053125117d30c97d352539517d05353d5539560521b604082015260600190565b6020808252600f908201526e4e4f545f46524f4d5f42524944474560881b604082015260600190565b6020808252600f908201526e1393d517d0531313d5d31254d51151608a1b604082015260600190565b6020808252601a908201527f424c4f434b5f4d5553545f42455f494e4352454d454e54494e47000000000000604082015260600190565b60208082526017908201527f524f555445525f4d5553545f42455f434f4e5452414354000000000000000000604082015260600190565b6020808252601390820152721253959053125117d6915493d7d05353d55395606a1b604082015260600190565b6020808252600d908201526c12539093d617d393d517d4d155609a1b604082015260600190565b6020808252818101527f494e56414c49445f424c4f434b5f464f525f4d494e545f414c4c4f57414e4345604082015260600190565b60208082526016908201527512539093d617d35554d517d09157d0d3d395149050d560521b604082015260600190565b60208082526011908201527024a72b20a624a22fa618afa927aaaa22a960791b604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252601390820152721053149150511657d0531313d5d31254d51151606a1b604082015260600190565b602080825260129082015271109313d0d2d7d35554d517d09157d41054d560721b604082015260600190565b6020808252601a908201527f524f555445525f43414e545f42455f414c4c4f574c4953544544000000000000604082015260600190565b6020808252601690820152751253959053125117d30c97d0d3d5539511549410549560521b604082015260600190565b60208082526013908201527224a72b20a624a22fa222a9aa24a720aa24a7a760691b604082015260600190565b6020808252600e908201526d1493d555115497d393d517d4d15560921b604082015260600190565b6020808252600e908201526d494e56414c49445f455343524f5760901b604082015260600190565b60208082526010908201526f135554d517d09157d0d3d395149050d560821b604082015260600190565b6020808252600e908201526d1154d0d493d5d7d393d517d4d15560921b604082015260600190565b6020808252601a908201527f43414c4c5f484f4f4b5f444154415f4e4f545f414c4c4f574544000000000000604082015260600190565b60208082526011908201527021a0a72a2fa0a62627abafa927aaaa22a960791b604082015260600190565b6020808252600d908201526c1513d2d15397d393d517d1d495609a1b604082015260600190565b6020808252600d908201526c0929cac82989288be929c849eb609b1b604082015260600190565b60208082526018908201527f4f4e4c595f434f554e544552504152545f474154455741590000000000000000604082015260600190565b6020808252600e908201526d1253959053125117d30c97d1d49560921b604082015260600190565b602080825260169082015275130c97d0d3d5539511549410549517d393d517d4d15560521b604082015260600190565b90815260200190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715612ee557fe5b604052919050565b600067ffffffffffffffff821115612f0157fe5b50601f01601f191660200190565b60005b83811015612f2a578181015183820152602001612f12565b83811115612f39576000848401525b50505050565b6001600160a01b038116811461079757600080fd5b801515811461079757600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220603159a37dd6d823475d18cc8ebe4dc85f66d7e699df40e549a651d27cc1037c64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/Controller.sol/Controller.dbg.json b/abis/governance/Controller.sol/Controller.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/Controller.sol/Controller.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/Controller.sol/Controller.json b/abis/governance/Controller.sol/Controller.json new file mode 100644 index 000000000..a5caf81c8 --- /dev/null +++ b/abis/governance/Controller.sol/Controller.json @@ -0,0 +1,349 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Controller", + "sourceName": "contracts/governance/Controller.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "pauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PartialPauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "SetContractProxy", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + } + ], + "name": "getContractProxy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPartialPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "partialPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + } + ], + "name": "setContractProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_toPartialPause", + "type": "bool" + } + ], + "name": "setPartialPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauseGuardian", + "type": "address" + } + ], + "name": "setPauseGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_toPause", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + } + ], + "name": "unsetContractProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "updateController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506100243361003360201b6109b21760201c565b61002e6001610055565b6100e7565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600160159054906101000a900460ff1615158115151415610075576100e4565b6001805460ff60a81b1916600160a81b8315158102919091179182905560ff910416156100a157426003555b60015460408051600160a81b90920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a15b50565b610ba0806100f66000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80635c975abb116100a2578063e0e9929211610071578063e0e9929214610215578063e3056a3414610241578063eb5dd94f14610249578063f2fde38b14610275578063f7641a5e1461029b5761010b565b80635c975abb146101e057806379ba5097146101e85780639181df9c146101f057806391b4ded91461020d5761010b565b80632e292fc7116100de5780632e292fc71461017757806348bde20c146101935780634fc07d75146101b957806356371bd8146101c15761010b565b80630c340a2414610110578063147ddef51461013457806316c38b3c1461014e57806324a3d6221461016f575b600080fd5b6101186102b8565b604080516001600160a01b039092168252519081900360200190f35b61013c6102c7565b60408051918252519081900360200190f35b61016d6004803603602081101561016457600080fd5b503515156102cd565b005b610118610337565b61017f610346565b604080519115158252519081900360200190f35b61016d600480360360208110156101a957600080fd5b50356001600160a01b0316610356565b610118610412565b61016d600480360360208110156101d757600080fd5b50351515610421565b61017f610488565b61016d610498565b61016d6004803603602081101561020657600080fd5b50356105a6565b61013c610651565b61016d6004803603604081101561022b57600080fd5b50803590602001356001600160a01b0316610657565b61011861076e565b61016d6004803603604081101561025f57600080fd5b50803590602001356001600160a01b031661077d565b61016d6004803603602081101561028b57600080fd5b50356001600160a01b0316610899565b610118600480360360208110156102b157600080fd5b5035610997565b6000546001600160a01b031681565b60025481565b6000546001600160a01b03163314806102f057506004546001600160a01b031633145b61032b5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b496022913960400191505060405180910390fd5b610334816109d4565b50565b6004546001600160a01b031681565b600154600160a01b900460ff1690565b6000546001600160a01b031633146103ae576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610409576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61033481610a65565b6000546001600160a01b031690565b6000546001600160a01b031633148061044457506004546001600160a01b031633145b61047f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b496022913960400191505060405180910390fd5b61033481610ab7565b600154600160a81b900460ff1690565b6001546001600160a01b031680158015906104bb5750336001600160a01b038216145b61050c576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146105fe576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b600081815260056020908152604080832080546001600160a01b031916905580519283525183927f937cf566d78d4769ff0211a7d87a6bea51e1fc026fd4d3d8cd589f0e99b983bd92908290030190a250565b60035481565b6000546001600160a01b031633146106af576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b03811661070a576040805162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742061646472657373206d7573742062652073657400000000604482015290519081900360640190fd5b60008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927f937cf566d78d4769ff0211a7d87a6bea51e1fc026fd4d3d8cd589f0e99b983bd92908290030190a25050565b6001546001600160a01b031681565b6000546001600160a01b031633146107d5576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610829576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b6000828152600560205260408082205481516392eefe9b60e01b81526001600160a01b038581166004830152925192909116926392eefe9b9260248084019382900301818387803b15801561087d57600080fd5b505af1158015610891573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146108f1576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610943576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000908152600560205260409020546001600160a01b031690565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600160159054906101000a900460ff16151581151514156109f457610334565b6001805460ff60a81b1916600160a81b8315158102919091179182905560ff91041615610a2057426003555b60015460408051600160a81b90920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b600160149054906101000a900460ff1615158115151415610ad757610334565b6001805460ff60a01b1916600160a01b8315158102919091179182905560ff91041615610b0357426002555b60015460408051600160a01b90920460ff1615158252517f511b770d1b1dc5cbd412a5017f55cbb2295b826385e5f46c1de2b6ebeb44ae02916020908290030190a15056fe4f6e6c7920476f7665726e6f72206f7220477561726469616e2063616e2063616c6ca264697066735822122046141c8fd6552c59ac42d7971dcd510fb2f7b29d59185bb0c5e411d396e844eb64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80635c975abb116100a2578063e0e9929211610071578063e0e9929214610215578063e3056a3414610241578063eb5dd94f14610249578063f2fde38b14610275578063f7641a5e1461029b5761010b565b80635c975abb146101e057806379ba5097146101e85780639181df9c146101f057806391b4ded91461020d5761010b565b80632e292fc7116100de5780632e292fc71461017757806348bde20c146101935780634fc07d75146101b957806356371bd8146101c15761010b565b80630c340a2414610110578063147ddef51461013457806316c38b3c1461014e57806324a3d6221461016f575b600080fd5b6101186102b8565b604080516001600160a01b039092168252519081900360200190f35b61013c6102c7565b60408051918252519081900360200190f35b61016d6004803603602081101561016457600080fd5b503515156102cd565b005b610118610337565b61017f610346565b604080519115158252519081900360200190f35b61016d600480360360208110156101a957600080fd5b50356001600160a01b0316610356565b610118610412565b61016d600480360360208110156101d757600080fd5b50351515610421565b61017f610488565b61016d610498565b61016d6004803603602081101561020657600080fd5b50356105a6565b61013c610651565b61016d6004803603604081101561022b57600080fd5b50803590602001356001600160a01b0316610657565b61011861076e565b61016d6004803603604081101561025f57600080fd5b50803590602001356001600160a01b031661077d565b61016d6004803603602081101561028b57600080fd5b50356001600160a01b0316610899565b610118600480360360208110156102b157600080fd5b5035610997565b6000546001600160a01b031681565b60025481565b6000546001600160a01b03163314806102f057506004546001600160a01b031633145b61032b5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b496022913960400191505060405180910390fd5b610334816109d4565b50565b6004546001600160a01b031681565b600154600160a01b900460ff1690565b6000546001600160a01b031633146103ae576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610409576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61033481610a65565b6000546001600160a01b031690565b6000546001600160a01b031633148061044457506004546001600160a01b031633145b61047f5760405162461bcd60e51b8152600401808060200182810382526022815260200180610b496022913960400191505060405180910390fd5b61033481610ab7565b600154600160a81b900460ff1690565b6001546001600160a01b031680158015906104bb5750336001600160a01b038216145b61050c576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146105fe576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b600081815260056020908152604080832080546001600160a01b031916905580519283525183927f937cf566d78d4769ff0211a7d87a6bea51e1fc026fd4d3d8cd589f0e99b983bd92908290030190a250565b60035481565b6000546001600160a01b031633146106af576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b03811661070a576040805162461bcd60e51b815260206004820152601c60248201527f436f6e74726163742061646472657373206d7573742062652073657400000000604482015290519081900360640190fd5b60008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927f937cf566d78d4769ff0211a7d87a6bea51e1fc026fd4d3d8cd589f0e99b983bd92908290030190a25050565b6001546001600160a01b031681565b6000546001600160a01b031633146107d5576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610829576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b6000828152600560205260408082205481516392eefe9b60e01b81526001600160a01b038581166004830152925192909116926392eefe9b9260248084019382900301818387803b15801561087d57600080fd5b505af1158015610891573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146108f1576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610943576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000908152600560205260409020546001600160a01b031690565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600160159054906101000a900460ff16151581151514156109f457610334565b6001805460ff60a81b1916600160a81b8315158102919091179182905560ff91041615610a2057426003555b60015460408051600160a81b90920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b600160149054906101000a900460ff1615158115151415610ad757610334565b6001805460ff60a01b1916600160a01b8315158102919091179182905560ff91041615610b0357426002555b60015460408051600160a01b90920460ff1615158252517f511b770d1b1dc5cbd412a5017f55cbb2295b826385e5f46c1de2b6ebeb44ae02916020908290030190a15056fe4f6e6c7920476f7665726e6f72206f7220477561726469616e2063616e2063616c6ca264697066735822122046141c8fd6552c59ac42d7971dcd510fb2f7b29d59185bb0c5e411d396e844eb64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/Governed.sol/Governed.dbg.json b/abis/governance/Governed.sol/Governed.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/Governed.sol/Governed.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/Governed.sol/Governed.json b/abis/governance/Governed.sol/Governed.json new file mode 100644 index 000000000..cdc4749b4 --- /dev/null +++ b/abis/governance/Governed.sol/Governed.json @@ -0,0 +1,95 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Governed", + "sourceName": "contracts/governance/Governed.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/IController.sol/IController.dbg.json b/abis/governance/IController.sol/IController.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/IController.sol/IController.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/IController.sol/IController.json b/abis/governance/IController.sol/IController.json new file mode 100644 index 000000000..0842436c4 --- /dev/null +++ b/abis/governance/IController.sol/IController.json @@ -0,0 +1,157 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IController", + "sourceName": "contracts/governance/IController.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + } + ], + "name": "getContractProxy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "partialPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_contractAddress", + "type": "address" + } + ], + "name": "setContractProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_partialPaused", + "type": "bool" + } + ], + "name": "setPartialPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauseGuardian", + "type": "address" + } + ], + "name": "setPauseGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + } + ], + "name": "unsetContractProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_id", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "updateController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/IManaged.sol/IManaged.dbg.json b/abis/governance/IManaged.sol/IManaged.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/IManaged.sol/IManaged.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/IManaged.sol/IManaged.json b/abis/governance/IManaged.sol/IManaged.json new file mode 100644 index 000000000..4b52d9b51 --- /dev/null +++ b/abis/governance/IManaged.sol/IManaged.json @@ -0,0 +1,44 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IManaged", + "sourceName": "contracts/governance/IManaged.sol", + "abi": [ + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/Managed.sol/Managed.dbg.json b/abis/governance/Managed.sol/Managed.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/Managed.sol/Managed.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/Managed.sol/Managed.json b/abis/governance/Managed.sol/Managed.json new file mode 100644 index 000000000..73105a75c --- /dev/null +++ b/abis/governance/Managed.sol/Managed.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Managed", + "sourceName": "contracts/governance/Managed.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/governance/Pausable.sol/Pausable.dbg.json b/abis/governance/Pausable.sol/Pausable.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/governance/Pausable.sol/Pausable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/governance/Pausable.sol/Pausable.json b/abis/governance/Pausable.sol/Pausable.json new file mode 100644 index 000000000..f8b3ce9ce --- /dev/null +++ b/abis/governance/Pausable.sol/Pausable.json @@ -0,0 +1,95 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Pausable", + "sourceName": "contracts/governance/Pausable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "pauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PartialPauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "inputs": [], + "name": "lastPartialPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/curation/IL2Curation.sol/IL2Curation.dbg.json b/abis/l2/curation/IL2Curation.sol/IL2Curation.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/curation/IL2Curation.sol/IL2Curation.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/curation/IL2Curation.sol/IL2Curation.json b/abis/l2/curation/IL2Curation.sol/IL2Curation.json new file mode 100644 index 000000000..000bd066b --- /dev/null +++ b/abis/l2/curation/IL2Curation.sol/IL2Curation.json @@ -0,0 +1,96 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL2Curation", + "sourceName": "contracts/l2/curation/IL2Curation.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "mintTaxFree", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphService", + "type": "address" + } + ], + "name": "setSubgraphService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignalNoTax", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignalToTokensNoTax", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/curation/L2Curation.sol/L2Curation.dbg.json b/abis/l2/curation/L2Curation.sol/L2Curation.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/curation/L2Curation.sol/L2Curation.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/curation/L2Curation.sol/L2Curation.json b/abis/l2/curation/L2Curation.sol/L2Curation.json new file mode 100644 index 000000000..cc31e539b --- /dev/null +++ b/abis/l2/curation/L2Curation.sol/L2Curation.json @@ -0,0 +1,707 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2Curation", + "sourceName": "contracts/l2/curation/L2Curation.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "signal", + "type": "uint256" + } + ], + "name": "Burned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "Collected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "signal", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationTax", + "type": "uint256" + } + ], + "name": "Signalled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newSubgraphService", + "type": "address" + } + ], + "name": "SubgraphServiceSet", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "bondingCurve", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationTokenMaster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultReserveRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCurationPoolTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curator", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_curationTaxPercentage", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isCurated", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumCurationDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_signalOutMin", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "mintTaxFree", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + }, + { + "internalType": "contract IGraphCurationToken", + "name": "gcs", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_curationTokenMaster", + "type": "address" + } + ], + "name": "setCurationTokenMaster", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDefaultReserveRatio", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumCurationDeposit", + "type": "uint256" + } + ], + "name": "setMinimumCurationDeposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphService", + "type": "address" + } + ], + "name": "setSubgraphService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_signalIn", + "type": "uint256" + } + ], + "name": "signalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphService", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignalNoTax", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToSignalToTokensNoTax", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6101806040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea361014052613d0960e61b6101605234801561011a57600080fd5b5060805160a05160c05160e0516101005161012051610140516101605160e01c6128cc61018f60003980610c2f52508061141b52806119025250806113f25250806113c9528061180c5250806113a05280611dbf5250806113775280611ff252508061134e52508061132552506128cc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806399439fee11610104578063cd0ad4a2116100a2578063eff1d50e11610071578063eff1d50e146103f2578063f049b900146103fa578063f115c4271461040d578063f77c479114610415576101da565b8063cd0ad4a2146103af578063cd18119e146103c2578063d6866ea5146103d5578063eba0c8a1146103dd576101da565b80639f94c667116100de5780639f94c6671461035f578063a2594d8214610372578063a25e62c714610385578063b5217bb41461038d576101da565b806399439fee146103265780639b4d9f33146103395780639ce7abe51461034c576101da565b80634c4ea0ed1161017c5780637a2a45b81161014b5780637a2a45b8146102da57806381573288146102ed57806392eefe9b1461030057806393a90a1e14610313576101da565b80634c4ea0ed1461027f5780634c8c7a441461029f5780636536fe32146102b457806369db11a1146102c7576101da565b806326058249116101b857806326058249146102235780633718896d14610238578063375a54ab1461024b57806346e855da1461026c576101da565b80630faaf87f146101df578063185360f91461020857806324bdeec714610210575b600080fd5b6101f26101ed366004612175565b61041d565b6040516101ff91906122ab565b60405180910390f35b6101f26104da565b6101f261021e366004612196565b6104e0565b61022b610662565b6040516101ff9190612273565b6101f2610246366004612175565b610677565b61025e610259366004612196565b6108b6565b6040516101ff9291906127b8565b6101f261027a36600461215d565b610af7565b61029261028d36600461215d565b610b0c565b6040516101ff91906122a0565b6102b26102ad3660046120e4565b610b20565b005b6102b26102c236600461215d565b610cb0565b6101f26102d5366004612175565b610cc4565b6101f26102e8366004612175565b610d78565b6102b26102fb366004612175565b610d8b565b6102b261030e3660046120c8565b610e5e565b6102b26103213660046120c8565b610e6f565b6101f261033436600461215d565b610ecb565b6102b26103473660046120c8565b610f72565b6102b261035a3660046121c1565b610f83565b6101f261036d366004612132565b6110d9565b6102b26103803660046120c8565b61118d565b61022b6112a8565b6103a061039b36600461215d565b6112be565b6040516101ff939291906127dc565b6102b26103bd366004612259565b6112ef565b6102b26103d0366004612259565b61130f565b6102b2611320565b6103e5611441565b6040516101ff9190612801565b61022b611454565b61025e610408366004612175565b611463565b6103e56114c0565b61022b6114cc565b6000828152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b0316908201528161046d85610ecb565b82519091506104975760405162461bcd60e51b815260040161048e906125e8565b60405180910390fd5b838110156104b75760405162461bcd60e51b815260040161048e906124f3565b81516104cf9082906104c990876114db565b90611534565b925050505b92915050565b600d5481565b60006104ea61159b565b33836105085760405162461bcd60e51b815260040161048e906122b4565b8361051382876110d9565b10156105315760405162461bcd60e51b815260040161048e906124af565b600061053d868661041d565b90508381101561055f5760405162461bcd60e51b815260040161048e906123ff565b61056886611709565b6000868152600f60205260409020805461058290836117a8565b8155600181015460405163079cc67960e41b8152600160201b9091046001600160a01b0316906379cc6790906105be9086908a90600401612287565b600060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b505050506105f987610ecb565b61060257600081555b61061461060d611805565b8484611835565b86836001600160a01b03167fe14cd5e80f6821ded0538e85a537487acf10bb5e97a12176df56a099e90bfb3484896040516106509291906127b8565b60405180910390a35095945050505050565b6010546201000090046001600160a01b031681565b600061068161159b565b6106896118fb565b6001600160a01b0316336001600160a01b0316146106b95760405162461bcd60e51b815260040161048e90612781565b816106d65760405162461bcd60e51b815260040161048e906126c0565b60006106e28484611926565b6000858152600f6020526040902090915033906106fe86610b0c565b6107ca576001810154600160201b90046001600160a01b03166107ca57600c5460009061073a90600160401b90046001600160a01b03166119d9565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610769903090600401612273565b600060405180830381600087803b15801561078357600080fd5b505af1158015610797573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b6107d386611709565b60006107dd611805565b90506107ea818488611a76565b81546107f69087611ad5565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f19906108329086908890600401612287565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505086836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf888760006040516108a3939291906127c6565b60405180910390a3509195945050505050565b6000806108c161159b565b836108de5760405162461bcd60e51b815260040161048e906126c0565b6000806108eb8787611463565b915091508482101561090f5760405162461bcd60e51b815260040161048e906123ff565b6000878152600f60205260409020339061092889610b0c565b6109f4576001810154600160201b90046001600160a01b03166109f457600c5460009061096490600160401b90046001600160a01b03166119d9565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610993903090600401612273565b600060405180830381600087803b1580156109ad57600080fd5b505af11580156109c1573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b6109fd89611709565b6000610a07611805565b9050610a1481848b611a76565b610a1e8185611b2f565b610a33610a2b8a866117a8565b835490611ad5565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f1990610a6f9086908990600401612287565b600060405180830381600087803b158015610a8957600080fd5b505af1158015610a9d573d6000803e3d6000fd5b5050505089836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf8b8888604051610adf939291906127c6565b60405180910390a35092989197509095505050505050565b6000818152600f60205260409020545b919050565b6000908152600f6020526040902054151590565b610b28611b7b565b6001600160a01b0316336001600160a01b031614610b83576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601054610100900460ff1680610b9c5750610b9c611ba0565b80610baa575060105460ff16155b610be55760405162461bcd60e51b815260040180806020018281038252602e815260200180612848602e913960400191505060405180910390fd5b601054610100900460ff16158015610c10576010805460ff1961ff0019909116610100171660011790555b610c1985610e66565b600c805467ffffffff000000001916600160201b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff160217905560405160008051602061282883398151915290610c74906123d2565b60405180910390a1610c8583611bb1565b610c8e82611c16565b610c9784611c54565b8015610ca9576010805461ff00191690555b5050505050565b610cb8611ce4565b610cc181611c16565b50565b600081610ce35760405162461bcd60e51b815260040161048e90612322565b6000610cef8484611926565b6000858152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b031690820152919250610d4b83610d4588610ecb565b90611ad5565b8251909150600090610d5d9087611ad5565b9050610d6d826104c983876114db565b979650505050505050565b6000610d848383611926565b9392505050565b6010546201000090046001600160a01b0316331480610dc25750610dad611db8565b6001600160a01b0316336001600160a01b0316145b610dde5760405162461bcd60e51b815260040161048e9061255c565b610de782610b0c565b610e035760405162461bcd60e51b815260040161048e9061245c565b6000828152600f602052604090208054610e1d9083611ad5565b815560405183907ff17fdee613a92b35db6b7598eb43750b24d4072eb304e6eca80121e40402e34b90610e519085906122ab565b60405180910390a2505050565b610e66611de3565b610cc181611e42565b610e77611ce4565b6010805462010000600160b01b031916620100006001600160a01b038416908102919091179091556040517f81dcb738da3dabd5bb2adbc7dd107fbbfca936e9c8aecab25f5b17a710a784c790600090a250565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610f6957806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f649190612241565b610d84565b60009392505050565b610f7a611ce4565b610cc181611c54565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610fbf57600080fd5b505af1158015610fd3573d6000803e3d6000fd5b505050506040513d6020811015610fe957600080fd5b50516001600160a01b03163314611047576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156110bb57600080fd5b505af11580156110cf573d6000803e3d6000fd5b5050505050505050565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015611182576040516370a0823160e01b81526001600160a01b038216906370a082319061112d908790600401612273565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d9190612241565b611185565b60005b949350505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156111c957600080fd5b505af11580156111dd573d6000803e3d6000fd5b505050506040513d60208110156111f357600080fd5b50516001600160a01b03163314611251576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b505050505050565b600c54600160401b90046001600160a01b031681565b600f602052600090815260409020805460019091015463ffffffff811690600160201b90046001600160a01b031683565b6112f7611ce4565b60405162461bcd60e51b815260040161048e906123a3565b611317611ce4565b610cc181611bb1565b6113497f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113727f0000000000000000000000000000000000000000000000000000000000000000611eea565b61139b7f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113c47f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113ed7f0000000000000000000000000000000000000000000000000000000000000000611eea565b6114167f0000000000000000000000000000000000000000000000000000000000000000611eea565b61143f7f0000000000000000000000000000000000000000000000000000000000000000611eea565b565b600c54600160201b900463ffffffff1681565b600e546001600160a01b031681565b600c546000908190819061149790620f4240906104c990879061149190849063ffffffff908116906117a816565b906114db565b905060006114a585836117a8565b905060006114b38784611926565b9791965090945050505050565b600c5463ffffffff1681565b6000546001600160a01b031681565b6000826114ea575060006104d4565b828202828482816114f757fe5b0414610d845760405162461bcd60e51b81526004018080602001828103825260218152602001806128766021913960400191505060405180910390fd5b600080821161158a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161159357fe5b049392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e757600080fd5b505afa1580156115fb573d6000803e3d6000fd5b505050506040513d602081101561161157600080fd5b50511561164e576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561169a57600080fd5b505afa1580156116ae573d6000803e3d6000fd5b505050506040513d60208110156116c457600080fd5b50511561143f576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b6000611713611feb565b90506001600160a01b038116156117a4576040516307470bfb60e21b81526001600160a01b03821690631d1c2fec906117509085906004016122ab565b602060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a29190612241565b505b5050565b6000828211156117ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b905090565b80156117a257826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561189257600080fd5b505af11580156118a6573d6000803e3d6000fd5b505050506040513d60208110156118bc57600080fd5b50516117a2576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b6000828152600f602090815260408083208151606081018352815480825260019092015463ffffffff811694820194909452600160201b9093046001600160a01b0316918301919091526119c657600d548310156119965760405162461bcd60e51b815260040161048e90612359565b600d546119be906119b6906104c96119ae87836117a8565b6001906114db565b600190611ad5565b9150506104d4565b8051611185906104c98561149188610ecb565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610b07576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b80156117a257604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561189257600080fd5b600082820183811015610d84576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80156117a457816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561128c57600080fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611bab306120ae565b15905090565b620f424063ffffffff82161115611bda5760405162461bcd60e51b815260040161048e906126f7565b600c805463ffffffff191663ffffffff831617905560405160008051602061282883398151915290611c0b906125b9565b60405180910390a150565b80611c335760405162461bcd60e51b815260040161048e90612645565b600d81905560405160008051602061282883398151915290611c0b9061242c565b6001600160a01b038116611c7a5760405162461bcd60e51b815260040161048e906122eb565b611c83816120ae565b611c9f5760405162461bcd60e51b815260040161048e90612689565b600c805468010000000000000000600160e01b031916600160401b6001600160a01b0384160217905560405160008051602061282883398151915290611c0b90612754565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3057600080fd5b505afa158015611d44573d6000803e3d6000fd5b505050506040513d6020811015611d5a57600080fd5b50516001600160a01b0316331461143f576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b6000546001600160a01b0316331461143f576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611e96576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611f3757600080fd5b505afa158015611f4b573d6000803e3d6000fd5b505050506040513d6020811015611f6157600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146117a45760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b60006118307f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b0316806104d45760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561207b57600080fd5b505afa15801561208f573d6000803e3d6000fd5b505050506040513d60208110156120a557600080fd5b50519392505050565b3b151590565b803563ffffffff81168114610b0757600080fd5b6000602082840312156120d9578081fd5b8135610d8481612812565b600080600080608085870312156120f9578283fd5b843561210481612812565b9350602085013561211481612812565b9250612122604086016120b4565b9396929550929360600135925050565b60008060408385031215612144578182fd5b823561214f81612812565b946020939093013593505050565b60006020828403121561216e578081fd5b5035919050565b60008060408385031215612187578182fd5b50508035926020909101359150565b6000806000606084860312156121aa578283fd5b505081359360208301359350604090920135919050565b6000806000604084860312156121d5578283fd5b83356121e081612812565b9250602084013567ffffffffffffffff808211156121fc578384fd5b818601915086601f83011261220f578384fd5b81358181111561221d578485fd5b87602082850101111561222e578485fd5b6020830194508093505050509250925092565b600060208284031215612252578081fd5b5051919050565b60006020828403121561226a578081fd5b610d84826120b4565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b60208082526017908201527f43616e6e6f74206275726e207a65726f207369676e616c000000000000000000604082015260600190565b6020808252601e908201527f546f6b656e206d6173746572206d757374206265206e6f6e2d656d7074790000604082015260600190565b6020808252601d908201527f43616e27742063616c63756c6174652077697468203020746f6b656e73000000604082015260600190565b6020808252602a908201527f4375726174696f6e206465706f7369742069732062656c6f77206d696e696d756040820152691b481c995c5d5a5c995960b21b606082015260800190565b6020808252601590820152742737ba1034b6b83632b6b2b73a32b21034b710261960591b604082015260600190565b60208082526013908201527264656661756c7452657365727665526174696f60681b604082015260600190565b60208082526013908201527229b634b83830b3b290383937ba32b1ba34b7b760691b604082015260600190565b6020808252601690820152751b5a5b9a5b5d5b50dd5c985d1a5bdb91195c1bdcda5d60521b604082015260600190565b60208082526033908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527274656420746f20636f6c6c656374206665657360681b606082015260800190565b60208082526024908201527f43616e6e6f74206275726e206d6f7265207369676e616c207468616e20796f756040820152631037bbb760e11b606082015260800190565b60208082526043908201527f5369676e616c206d7573742062652061626f7665206f7220657175616c20746f60408201527f207369676e616c2069737375656420696e20746865206375726174696f6e20706060820152621bdbdb60ea1b608082015260a00190565b60208082526037908201527f43616c6c6572206d75737420626520746865207375626772617068207365727660408201527f696365206f72207374616b696e6720636f6e7472616374000000000000000000606082015260800190565b6020808252601590820152746375726174696f6e54617850657263656e7461676560581b604082015260600190565b6020808252603b908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527f74656420746f20706572666f726d2063616c63756c6174696f6e730000000000606082015260800190565b60208082526024908201527f4d696e696d756d206375726174696f6e206465706f7369742063616e6e6f74206040820152630626520360e41b606082015260800190565b6020808252601f908201527f546f6b656e206d6173746572206d757374206265206120636f6e747261637400604082015260600190565b6020808252601a908201527f43616e6e6f74206465706f736974207a65726f20746f6b656e73000000000000604082015260600190565b60208082526039908201527f4375726174696f6e207461782070657263656e74616765206d7573742062652060408201527f62656c6f77206f7220657175616c20746f204d41585f50504d00000000000000606082015260800190565b60208082526013908201527231bab930ba34b7b72a37b5b2b726b0b9ba32b960691b604082015260600190565b6020808252601a908201527f4f6e6c792074686520474e532063616e2063616c6c2074686973000000000000604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b92835263ffffffff9190911660208301526001600160a01b0316604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b0381168114610cc157600080fdfe96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e180fbdd3c5023662fb221e14806e540b9c3e732dc346f7caf36db14e1987c4964736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806399439fee11610104578063cd0ad4a2116100a2578063eff1d50e11610071578063eff1d50e146103f2578063f049b900146103fa578063f115c4271461040d578063f77c479114610415576101da565b8063cd0ad4a2146103af578063cd18119e146103c2578063d6866ea5146103d5578063eba0c8a1146103dd576101da565b80639f94c667116100de5780639f94c6671461035f578063a2594d8214610372578063a25e62c714610385578063b5217bb41461038d576101da565b806399439fee146103265780639b4d9f33146103395780639ce7abe51461034c576101da565b80634c4ea0ed1161017c5780637a2a45b81161014b5780637a2a45b8146102da57806381573288146102ed57806392eefe9b1461030057806393a90a1e14610313576101da565b80634c4ea0ed1461027f5780634c8c7a441461029f5780636536fe32146102b457806369db11a1146102c7576101da565b806326058249116101b857806326058249146102235780633718896d14610238578063375a54ab1461024b57806346e855da1461026c576101da565b80630faaf87f146101df578063185360f91461020857806324bdeec714610210575b600080fd5b6101f26101ed366004612175565b61041d565b6040516101ff91906122ab565b60405180910390f35b6101f26104da565b6101f261021e366004612196565b6104e0565b61022b610662565b6040516101ff9190612273565b6101f2610246366004612175565b610677565b61025e610259366004612196565b6108b6565b6040516101ff9291906127b8565b6101f261027a36600461215d565b610af7565b61029261028d36600461215d565b610b0c565b6040516101ff91906122a0565b6102b26102ad3660046120e4565b610b20565b005b6102b26102c236600461215d565b610cb0565b6101f26102d5366004612175565b610cc4565b6101f26102e8366004612175565b610d78565b6102b26102fb366004612175565b610d8b565b6102b261030e3660046120c8565b610e5e565b6102b26103213660046120c8565b610e6f565b6101f261033436600461215d565b610ecb565b6102b26103473660046120c8565b610f72565b6102b261035a3660046121c1565b610f83565b6101f261036d366004612132565b6110d9565b6102b26103803660046120c8565b61118d565b61022b6112a8565b6103a061039b36600461215d565b6112be565b6040516101ff939291906127dc565b6102b26103bd366004612259565b6112ef565b6102b26103d0366004612259565b61130f565b6102b2611320565b6103e5611441565b6040516101ff9190612801565b61022b611454565b61025e610408366004612175565b611463565b6103e56114c0565b61022b6114cc565b6000828152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b0316908201528161046d85610ecb565b82519091506104975760405162461bcd60e51b815260040161048e906125e8565b60405180910390fd5b838110156104b75760405162461bcd60e51b815260040161048e906124f3565b81516104cf9082906104c990876114db565b90611534565b925050505b92915050565b600d5481565b60006104ea61159b565b33836105085760405162461bcd60e51b815260040161048e906122b4565b8361051382876110d9565b10156105315760405162461bcd60e51b815260040161048e906124af565b600061053d868661041d565b90508381101561055f5760405162461bcd60e51b815260040161048e906123ff565b61056886611709565b6000868152600f60205260409020805461058290836117a8565b8155600181015460405163079cc67960e41b8152600160201b9091046001600160a01b0316906379cc6790906105be9086908a90600401612287565b600060405180830381600087803b1580156105d857600080fd5b505af11580156105ec573d6000803e3d6000fd5b505050506105f987610ecb565b61060257600081555b61061461060d611805565b8484611835565b86836001600160a01b03167fe14cd5e80f6821ded0538e85a537487acf10bb5e97a12176df56a099e90bfb3484896040516106509291906127b8565b60405180910390a35095945050505050565b6010546201000090046001600160a01b031681565b600061068161159b565b6106896118fb565b6001600160a01b0316336001600160a01b0316146106b95760405162461bcd60e51b815260040161048e90612781565b816106d65760405162461bcd60e51b815260040161048e906126c0565b60006106e28484611926565b6000858152600f6020526040902090915033906106fe86610b0c565b6107ca576001810154600160201b90046001600160a01b03166107ca57600c5460009061073a90600160401b90046001600160a01b03166119d9565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610769903090600401612273565b600060405180830381600087803b15801561078357600080fd5b505af1158015610797573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b6107d386611709565b60006107dd611805565b90506107ea818488611a76565b81546107f69087611ad5565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f19906108329086908890600401612287565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505086836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf888760006040516108a3939291906127c6565b60405180910390a3509195945050505050565b6000806108c161159b565b836108de5760405162461bcd60e51b815260040161048e906126c0565b6000806108eb8787611463565b915091508482101561090f5760405162461bcd60e51b815260040161048e906123ff565b6000878152600f60205260409020339061092889610b0c565b6109f4576001810154600160201b90046001600160a01b03166109f457600c5460009061096490600160401b90046001600160a01b03166119d9565b60405163189acdbd60e31b81529091506001600160a01b0382169063c4d66de890610993903090600401612273565b600060405180830381600087803b1580156109ad57600080fd5b505af11580156109c1573d6000803e3d6000fd5b5050506001830180546001600160a01b03909316600160201b02640100000000600160c01b031990931692909217909155505b6109fd89611709565b6000610a07611805565b9050610a1481848b611a76565b610a1e8185611b2f565b610a33610a2b8a866117a8565b835490611ad5565b825560018201546040516340c10f1960e01b8152600160201b9091046001600160a01b0316906340c10f1990610a6f9086908990600401612287565b600060405180830381600087803b158015610a8957600080fd5b505af1158015610a9d573d6000803e3d6000fd5b5050505089836001600160a01b03167fb7bf5f4e5b23ef992df9875ecea572620d18dab0c1a5486a9b695d20d9ec50cf8b8888604051610adf939291906127c6565b60405180910390a35092989197509095505050505050565b6000818152600f60205260409020545b919050565b6000908152600f6020526040902054151590565b610b28611b7b565b6001600160a01b0316336001600160a01b031614610b83576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601054610100900460ff1680610b9c5750610b9c611ba0565b80610baa575060105460ff16155b610be55760405162461bcd60e51b815260040180806020018281038252602e815260200180612848602e913960400191505060405180910390fd5b601054610100900460ff16158015610c10576010805460ff1961ff0019909116610100171660011790555b610c1985610e66565b600c805467ffffffff000000001916600160201b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff160217905560405160008051602061282883398151915290610c74906123d2565b60405180910390a1610c8583611bb1565b610c8e82611c16565b610c9784611c54565b8015610ca9576010805461ff00191690555b5050505050565b610cb8611ce4565b610cc181611c16565b50565b600081610ce35760405162461bcd60e51b815260040161048e90612322565b6000610cef8484611926565b6000858152600f6020908152604080832081516060810183528154815260019091015463ffffffff811693820193909352600160201b9092046001600160a01b031690820152919250610d4b83610d4588610ecb565b90611ad5565b8251909150600090610d5d9087611ad5565b9050610d6d826104c983876114db565b979650505050505050565b6000610d848383611926565b9392505050565b6010546201000090046001600160a01b0316331480610dc25750610dad611db8565b6001600160a01b0316336001600160a01b0316145b610dde5760405162461bcd60e51b815260040161048e9061255c565b610de782610b0c565b610e035760405162461bcd60e51b815260040161048e9061245c565b6000828152600f602052604090208054610e1d9083611ad5565b815560405183907ff17fdee613a92b35db6b7598eb43750b24d4072eb304e6eca80121e40402e34b90610e519085906122ab565b60405180910390a2505050565b610e66611de3565b610cc181611e42565b610e77611ce4565b6010805462010000600160b01b031916620100006001600160a01b038416908102919091179091556040517f81dcb738da3dabd5bb2adbc7dd107fbbfca936e9c8aecab25f5b17a710a784c790600090a250565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015610f6957806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2c57600080fd5b505afa158015610f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f649190612241565b610d84565b60009392505050565b610f7a611ce4565b610cc181611c54565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610fbf57600080fd5b505af1158015610fd3573d6000803e3d6000fd5b505050506040513d6020811015610fe957600080fd5b50516001600160a01b03163314611047576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156110bb57600080fd5b505af11580156110cf573d6000803e3d6000fd5b5050505050505050565b6000818152600f6020526040812060010154600160201b90046001600160a01b03168015611182576040516370a0823160e01b81526001600160a01b038216906370a082319061112d908790600401612273565b60206040518083038186803b15801561114557600080fd5b505afa158015611159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117d9190612241565b611185565b60005b949350505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156111c957600080fd5b505af11580156111dd573d6000803e3d6000fd5b505050506040513d60208110156111f357600080fd5b50516001600160a01b03163314611251576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b505050505050565b600c54600160401b90046001600160a01b031681565b600f602052600090815260409020805460019091015463ffffffff811690600160201b90046001600160a01b031683565b6112f7611ce4565b60405162461bcd60e51b815260040161048e906123a3565b611317611ce4565b610cc181611bb1565b6113497f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113727f0000000000000000000000000000000000000000000000000000000000000000611eea565b61139b7f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113c47f0000000000000000000000000000000000000000000000000000000000000000611eea565b6113ed7f0000000000000000000000000000000000000000000000000000000000000000611eea565b6114167f0000000000000000000000000000000000000000000000000000000000000000611eea565b61143f7f0000000000000000000000000000000000000000000000000000000000000000611eea565b565b600c54600160201b900463ffffffff1681565b600e546001600160a01b031681565b600c546000908190819061149790620f4240906104c990879061149190849063ffffffff908116906117a816565b906114db565b905060006114a585836117a8565b905060006114b38784611926565b9791965090945050505050565b600c5463ffffffff1681565b6000546001600160a01b031681565b6000826114ea575060006104d4565b828202828482816114f757fe5b0414610d845760405162461bcd60e51b81526004018080602001828103825260218152602001806128766021913960400191505060405180910390fd5b600080821161158a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161159357fe5b049392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115e757600080fd5b505afa1580156115fb573d6000803e3d6000fd5b505050506040513d602081101561161157600080fd5b50511561164e576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561169a57600080fd5b505afa1580156116ae573d6000803e3d6000fd5b505050506040513d60208110156116c457600080fd5b50511561143f576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b6000611713611feb565b90506001600160a01b038116156117a4576040516307470bfb60e21b81526001600160a01b03821690631d1c2fec906117509085906004016122ab565b602060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a29190612241565b505b5050565b6000828211156117ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b905090565b80156117a257826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561189257600080fd5b505af11580156118a6573d6000803e3d6000fd5b505050506040513d60208110156118bc57600080fd5b50516117a2576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b6000828152600f602090815260408083208151606081018352815480825260019092015463ffffffff811694820194909452600160201b9093046001600160a01b0316918301919091526119c657600d548310156119965760405162461bcd60e51b815260040161048e90612359565b600d546119be906119b6906104c96119ae87836117a8565b6001906114db565b600190611ad5565b9150506104d4565b8051611185906104c98561149188610ecb565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b038116610b07576040805162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015290519081900360640190fd5b80156117a257604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561189257600080fd5b600082820183811015610d84576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b80156117a457816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561128c57600080fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611bab306120ae565b15905090565b620f424063ffffffff82161115611bda5760405162461bcd60e51b815260040161048e906126f7565b600c805463ffffffff191663ffffffff831617905560405160008051602061282883398151915290611c0b906125b9565b60405180910390a150565b80611c335760405162461bcd60e51b815260040161048e90612645565b600d81905560405160008051602061282883398151915290611c0b9061242c565b6001600160a01b038116611c7a5760405162461bcd60e51b815260040161048e906122eb565b611c83816120ae565b611c9f5760405162461bcd60e51b815260040161048e90612689565b600c805468010000000000000000600160e01b031916600160401b6001600160a01b0384160217905560405160008051602061282883398151915290611c0b90612754565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015611d3057600080fd5b505afa158015611d44573d6000803e3d6000fd5b505050506040513d6020811015611d5a57600080fd5b50516001600160a01b0316331461143f576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006118307f0000000000000000000000000000000000000000000000000000000000000000612012565b6000546001600160a01b0316331461143f576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611e96576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611f3757600080fd5b505afa158015611f4b573d6000803e3d6000fd5b505050506040513d6020811015611f6157600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146117a45760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b60006118307f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b0316806104d45760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561207b57600080fd5b505afa15801561208f573d6000803e3d6000fd5b505050506040513d60208110156120a557600080fd5b50519392505050565b3b151590565b803563ffffffff81168114610b0757600080fd5b6000602082840312156120d9578081fd5b8135610d8481612812565b600080600080608085870312156120f9578283fd5b843561210481612812565b9350602085013561211481612812565b9250612122604086016120b4565b9396929550929360600135925050565b60008060408385031215612144578182fd5b823561214f81612812565b946020939093013593505050565b60006020828403121561216e578081fd5b5035919050565b60008060408385031215612187578182fd5b50508035926020909101359150565b6000806000606084860312156121aa578283fd5b505081359360208301359350604090920135919050565b6000806000604084860312156121d5578283fd5b83356121e081612812565b9250602084013567ffffffffffffffff808211156121fc578384fd5b818601915086601f83011261220f578384fd5b81358181111561221d578485fd5b87602082850101111561222e578485fd5b6020830194508093505050509250925092565b600060208284031215612252578081fd5b5051919050565b60006020828403121561226a578081fd5b610d84826120b4565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b60208082526017908201527f43616e6e6f74206275726e207a65726f207369676e616c000000000000000000604082015260600190565b6020808252601e908201527f546f6b656e206d6173746572206d757374206265206e6f6e2d656d7074790000604082015260600190565b6020808252601d908201527f43616e27742063616c63756c6174652077697468203020746f6b656e73000000604082015260600190565b6020808252602a908201527f4375726174696f6e206465706f7369742069732062656c6f77206d696e696d756040820152691b481c995c5d5a5c995960b21b606082015260800190565b6020808252601590820152742737ba1034b6b83632b6b2b73a32b21034b710261960591b604082015260600190565b60208082526013908201527264656661756c7452657365727665526174696f60681b604082015260600190565b60208082526013908201527229b634b83830b3b290383937ba32b1ba34b7b760691b604082015260600190565b6020808252601690820152751b5a5b9a5b5d5b50dd5c985d1a5bdb91195c1bdcda5d60521b604082015260600190565b60208082526033908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527274656420746f20636f6c6c656374206665657360681b606082015260800190565b60208082526024908201527f43616e6e6f74206275726e206d6f7265207369676e616c207468616e20796f756040820152631037bbb760e11b606082015260800190565b60208082526043908201527f5369676e616c206d7573742062652061626f7665206f7220657175616c20746f60408201527f207369676e616c2069737375656420696e20746865206375726174696f6e20706060820152621bdbdb60ea1b608082015260a00190565b60208082526037908201527f43616c6c6572206d75737420626520746865207375626772617068207365727660408201527f696365206f72207374616b696e6720636f6e7472616374000000000000000000606082015260800190565b6020808252601590820152746375726174696f6e54617850657263656e7461676560581b604082015260600190565b6020808252603b908201527f5375626772617068206465706c6f796d656e74206d757374206265206375726160408201527f74656420746f20706572666f726d2063616c63756c6174696f6e730000000000606082015260800190565b60208082526024908201527f4d696e696d756d206375726174696f6e206465706f7369742063616e6e6f74206040820152630626520360e41b606082015260800190565b6020808252601f908201527f546f6b656e206d6173746572206d757374206265206120636f6e747261637400604082015260600190565b6020808252601a908201527f43616e6e6f74206465706f736974207a65726f20746f6b656e73000000000000604082015260600190565b60208082526039908201527f4375726174696f6e207461782070657263656e74616765206d7573742062652060408201527f62656c6f77206f7220657175616c20746f204d41585f50504d00000000000000606082015260800190565b60208082526013908201527231bab930ba34b7b72a37b5b2b726b0b9ba32b960691b604082015260600190565b6020808252601a908201527f4f6e6c792074686520474e532063616e2063616c6c2074686973000000000000604082015260600190565b918252602082015260400190565b9283526020830191909152604082015260600190565b92835263ffffffff9190911660208301526001600160a01b0316604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b0381168114610cc157600080fdfe96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e180fbdd3c5023662fb221e14806e540b9c3e732dc346f7caf36db14e1987c4964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/discovery/IL2GNS.sol/IL2GNS.dbg.json b/abis/l2/discovery/IL2GNS.sol/IL2GNS.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/discovery/IL2GNS.sol/IL2GNS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/discovery/IL2GNS.sol/IL2GNS.json b/abis/l2/discovery/IL2GNS.sol/IL2GNS.json new file mode 100644 index 000000000..2b5d627cb --- /dev/null +++ b/abis/l2/discovery/IL2GNS.sol/IL2GNS.json @@ -0,0 +1,100 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL2GNS", + "sourceName": "contracts/l2/discovery/IL2GNS.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "finishSubgraphTransferFromL1", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l1SubgraphID", + "type": "uint256" + } + ], + "name": "getAliasedL2SubgraphID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + } + ], + "name": "getUnaliasedL1SubgraphID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/discovery/L2GNS.sol/L2GNS.dbg.json b/abis/l2/discovery/L2GNS.sol/L2GNS.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/discovery/L2GNS.sol/L2GNS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/discovery/L2GNS.sol/L2GNS.json b/abis/l2/discovery/L2GNS.sol/L2GNS.json new file mode 100644 index 000000000..36f2bd3a5 --- /dev/null +++ b/abis/l2/discovery/L2GNS.sol/L2GNS.json @@ -0,0 +1,1417 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2GNS", + "sourceName": "contracts/l2/discovery/L2GNS.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "CounterpartGNSAddressUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_l1SubgraphId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "CuratorBalanceReceived", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_l1SubgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "CuratorBalanceReturnedToBeneficiary", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawnGRT", + "type": "uint256" + } + ], + "name": "GRTWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subgraphNumber", + "type": "uint256" + } + ], + "name": "LegacySubgraphClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nameSystem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nameIdentifier", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "SetDefaultName", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensReceived", + "type": "uint256" + } + ], + "name": "SignalBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensDeposited", + "type": "uint256" + } + ], + "name": "SignalMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalTransferred", + "type": "uint256" + } + ], + "name": "SignalTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "name": "SubgraphDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + } + ], + "name": "SubgraphL2TransferFinalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphMetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "subgraphNFT", + "type": "address" + } + ], + "name": "SubgraphNFTUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + } + ], + "name": "SubgraphPublished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_l1SubgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "SubgraphReceivedFromL1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensSignalled", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "SubgraphUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "versionMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphVersionUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "MAX_ROUNDING_ERROR", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SUBGRAPH_ID_ALIAS_OFFSET", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burnSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGNSAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "deprecateSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "finishSubgraphTransferFromL1", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l1SubgraphID", + "type": "uint256" + } + ], + "name": "getAliasedL2SubgraphID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_curator", + "type": "address" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "getLegacySubgraphKey", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_l2SubgraphID", + "type": "uint256" + } + ], + "name": "getUnaliasedL1SubgraphID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isLegacySubgraph", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isPublished", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subgraphNumber", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "migrateLegacySubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalOutMin", + "type": "uint256" + } + ], + "name": "mintSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToVSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenID", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "publishNewSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "publishNewVersion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartGNSAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_nameSystem", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_nameIdentifier", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "setDefaultName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_ownerTaxPercentage", + "type": "uint32" + } + ], + "name": "setOwnerTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "setSubgraphNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphL2TransferData", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "l2Done", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "subgraphReceivedOnL2BlockNumber", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "updateSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_vSignalIn", + "type": "uint256" + } + ], + "name": "vSignalToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101806040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea361014052613d0960e61b6101605234801561011a57600080fd5b5060805160a05160c05160e0516101005161012051610140516101605160e01c61446061019960003980610f115280610f6a5280611e465280612f0152508061200b525080611fe25280612ea1525080611fb952806127a6525080611f90525080611f67525080611f3e525080611f15528061289c52506144606000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80639f5ebfdb1161015c578063be8f4920116100ce578063d882538611610087578063d8825386146105dd578063d916f277146105f0578063e132973214610603578063ea0f2eba14610616578063eec16b0e14610629578063f77c4791146106315761028a565b8063be8f492014610576578063cc2d23c714610589578063d1a806121461059c578063d495f9a7146105af578063d6866ea5146105c2578063d797f4bb146105ca5761028a565b8063a5143f0211610120578063a5143f02146104e9578063ac9650d8146104fc578063b22350561461051c578063b22ff4e81461052f578063b43f6a0214610542578063b78edf70146105635761028a565b80639f5ebfdb146104a0578063a2594d82146104a8578063a32571ee146104bb578063a49a15f1146104c3578063a4c0ed36146104d65761028a565b8063616fdce4116102005780637ba95862116101b95780637ba958621461042e5780637bd1b0bf1461044157806392eefe9b146104545780639c6c022b146104675780639ce7abe51461047a5780639f0f22b71461048d5761028a565b8063616fdce41461039e57806361f712d6146103a65780636352211e146103c857806363bd3abe146103e85780636a464ac2146103fb5780637b156fb51461040e5761028a565b8063428e593611610252578063428e59361461031b578063485cc955146103305780634ca94ed5146103435780634dbecf2f1461035657806353f615c91461036957806356ee0a851461038b5761028a565b806314a76fdb1461028f578063186722fa146102b95780632e1a7d4d146102d95780633710652c146102ee578063380d0c0814610313575b600080fd5b6102a261029d366004613a28565b610639565b6040516102b0929190613c3b565b60405180910390f35b6102cc6102c7366004613a58565b61065d565b6040516102b09190613cbf565b6102ec6102e7366004613a28565b61068e565b005b6103016102fc36600461375c565b6107f7565b6040516102b0969594939291906142be565b6102ec610844565b6103236108d7565b6040516102b091906142ee565b6102ec61033e366004613724565b6108e3565b6102a2610351366004613a28565b610a1f565b6102cc610364366004613a28565b610a44565b61037c610377366004613ab3565b610a7e565b6040516102b093929190613cd6565b6102ec610399366004613a28565b610b3b565b6102cc610c92565b6103b96103b4366004613a28565b610c98565b6040516102b0939291906142a8565b6103db6103d6366004613a28565b610cbc565b6040516102b09190613c27565b6102ec6103f6366004613a7c565b610d3d565b610301610409366004613a28565b610e68565b61042161041c366004613a28565b610eaa565b6040516102b09190613cb4565b6102ec61043c366004613913565b610ebd565b6102ec61044f366004613913565b610fe9565b6102ec6104623660046136ec565b611227565b6102cc610475366004613a28565b611238565b6102ec61048836600461393e565b611246565b6102ec61049b3660046136ec565b61139c565b6102cc6113fa565b6102ec6104b63660046136ec565b611407565b6103db611522565b6102cc6104d1366004613ab3565b611531565b6102ec6104e43660046137bb565b61156d565b6102ec6104f73660046136ec565b611641565b61050f61050a366004613884565b611652565b6040516102b09190613c54565b6102cc61052a3660046136ec565b611792565b6102ec61053d366004613787565b6117a4565b610555610550366004613ab3565b6118eb565b6040516102b0929190613cc8565b6102ec610571366004613b28565b6119a4565b6102cc610584366004613a28565b6119b5565b6102ec610597366004613815565b6119ca565b6102ec6105aa366004613ad4565b611a40565b6102cc6105bd366004613ab3565b611eec565b6102ec611f10565b6104216105d8366004613a28565b612031565b6102ec6105eb366004613913565b612050565b6102ec6105fe366004613ab3565b6121e5565b6102ec610611366004613913565b612220565b6102cc610624366004613a28565b6124d0565b6103db6124de565b6103db6124ed565b600090815260116020526040902080546001909101546001600160a01b0390911691565b6000610668836124fc565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b61069661250d565b60006106a1826124fc565b6004810154909150600160201b900460ff1615156001146106dd5760405162461bcd60e51b81526004016106d490614204565b60405180910390fd5b60058101546106fe5760405162461bcd60e51b81526004016106d490613e29565b3360008181526002830160205260409020548061072d5760405162461bcd60e51b81526004016106d490614102565b6000610754846001015461074e86600501548561267b90919063ffffffff16565b906126db565b6001600160a01b038416600090815260028601602052604081205560018501549091506107819083612742565b600185015560058401546107959082612742565b60058501556107ac6107a561279f565b84836127cf565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a84846040516107e8929190613cc8565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff811691600160201b90910460ff169086565b61084c61279f565b6001600160a01b031663095ea7b3610862612895565b6000196040518363ffffffff1660e01b8152600401610882929190613c3b565b602060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906138f3565b50565b600c5463ffffffff1681565b6108eb6128c0565b6001600160a01b0316336001600160a01b031614610946576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff168061096157506109616128e5565b806109765750601354600160a01b900460ff16155b6109b15760405162461bcd60e51b815260040180806020018281038252602e8152602001806143dc602e913960400191505060405180910390fd5b601354600160a81b900460ff161580156109e8576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b6109f18361122f565b6109fd6207a1206128f6565b610a0682612962565b8015610a1a576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610a50836124fc565b6001015490508015610a73576000610a6884836118eb565b9350610a7992505050565b60009150505b919050565b600080600080610a8d866124fc565b9050600080610a9a612895565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610acb929190613cc8565b604080518083038186803b158015610ae257600080fd5b505afa158015610af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1a9190613b05565b915091506000610b2a8984611531565b929650919450925050509250925092565b610b436129f8565b8033610b4e82610cbc565b6001600160a01b031614610b745760405162461bcd60e51b81526004016106d49061401e565b6000610b7f83612aab565b90508060010154600014610c2557610b95612895565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610bcd929091600090600401613cd6565b602060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190613a40565b60058201555b6004810180546000835563ffffffff1964ff0000000019909116600160201b17169055610c5183612ae3565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba18260050154604051610c859190613cbf565b60405180910390a2505050565b6103e881565b604760205260009081526040902080546002820154600390920154909160ff169083565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e90610ced908590600401613cbf565b60206040518083038186803b158015610d0557600080fd5b505afa158015610d19573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106889190613708565b610d4561250d565b6001600160a01b038216610d6b5760405162461bcd60e51b81526004016106d4906140b2565b6000610d7684612aab565b3360008181526002830160205260409020549192509083811015610dac5760405162461bcd60e51b81526004016106d490613d50565b6001600160a01b0382166000908152600284016020526040902054610dd19085612742565b6001600160a01b0380841660009081526002860160205260408082209390935590871681522054610e029085612b41565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490610e58908990613cbf565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff811691600160201b90910460ff169086565b6000610688610eb8836124fc565b612b9b565b610ec56129f8565b82610ee25760405162461bcd60e51b81526004016106d490613f2f565b336000610eee82612bbf565b90506000610efb826124fc565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff161790559050610f458383612bd3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f0000000000000000000000000000000000000000000000000000000000000000604051610f9691906142ee565b60405180910390a3610fa88285612c1f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc87604051610fd99190613cbf565b60405180910390a3505050505050565b610ff161250d565b6000610ffc84612aab565b33600081815260028301602052604090205491925090808511156110325760405162461bcd60e51b81526004016106d490614055565b600061103e8787611eec565b9050600061104a612895565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b815260040161107d93929190613cd6565b602060405180830381600087803b15801561109757600080fd5b505af11580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190613a40565b85549091506110de9083612742565b855560018501546110ef9088612742565b60018601556001600160a01b03841660009081526002860160205260409020546111199088612742565b6001600160a01b038516600090815260028701602052604090205561113c61279f565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b8152600401611169929190613c3b565b602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb91906138f3565b6111d75760405162461bcd60e51b81526004016106d490613df2565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161121593929190613cd6565b60405180910390a35050505050505050565b61122f612cbf565b6108d481612d1e565b61111161eeef60f01b030190565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561128257600080fd5b505af1158015611296573d6000803e3d6000fd5b505050506040513d60208110156112ac57600080fd5b50516001600160a01b0316331461130a576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050505050505050565b6113a4612dc6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f941906113ef908390613c27565b60405180910390a150565b61111161111160f01b0181565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050506040513d602081101561146d57600080fd5b50516001600160a01b031633146114cb576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561150657600080fd5b505af115801561151a573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b60008061153d846124fc565b805490915061154f5782915050610688565b80546001820154611565919061074e908661267b565b949350505050565b61157561250d565b61157d612e9a565b6001600160a01b0316336001600160a01b0316146115ad5760405162461bcd60e51b81526004016106d490613d9c565b6014546001600160a01b038581169116146115da5760405162461bcd60e51b81526004016106d490613ece565b600080806115ea84860186613b60565b9194509250905060ff831661160957611604828288612ec5565b611638565b60ff83166001141561162057611604828288612f83565b60405162461bcd60e51b81526004016106d490613d2a565b50505050505050565b611649612dc6565b6108d481612962565b60608167ffffffffffffffff8111801561166b57600080fd5b5060405190808252806020026020018201604052801561169f57816020015b606081526020019060019003908161168a5790505b50905060005b8281101561178b57600080308686858181106116bd57fe5b90506020028101906116cf919061433f565b6040516116dd929190613c17565b600060405180830381855af49150503d8060008114611718576040519150601f19603f3d011682016040523d82523d6000602084013e61171d565b606091505b5091509150816117695760448151101561173657600080fd5b600481019050808060200190518101906117509190613991565b60405162461bcd60e51b81526004016106d49190613cec565b8084848151811061177657fe5b602090810291909101015250506001016116a5565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f602090815260408083208584529091529020600301541515600181146117ed5760405162461bcd60e51b81526004016106d490613e97565b60006117f98585613307565b6000818152601160205260409020549091506001600160a01b0316156118315760405162461bcd60e51b81526004016106d490614267565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d8252828120878252909152908120556118998582612bd3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b587856040516118d29190613cbf565b60405180910390a26118e48184612c1f565b5050505050565b60008060006118f985612aab565b905060006119078686611eec565b90506000611913612895565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611944929190613cc8565b60206040518083038186803b15801561195c57600080fd5b505afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119949190613a40565b91945090925050505b9250929050565b6119ac612dc6565b6108d4816128f6565b60006119c0826124fc565b6001015492915050565b6001600160a01b03851633146119f25760405162461bcd60e51b81526004016106d490613e60565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611a3194939291906142ff565b60405180910390a25050505050565b611a4861250d565b8333611a5382610cbc565b6001600160a01b031614611a795760405162461bcd60e51b81526004016106d49061401e565b600085815260476020526040812090611a91876124fc565b9050816003015460001415611ab85760405162461bcd60e51b81526004016106d490613f05565b600282015460ff1615611add5760405162461bcd60e51b81526004016106d4906141de565b60028201805460ff1916600117905585611b095760405162461bcd60e51b81526004016106d490613dc2565b6000611b13612895565b83546040516369db11a160e01b81529192506000918291829182906001600160a01b038716906369db11a190611b4f908f908690600401613cc8565b60206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190613a40565b9050611bbc8261074e620f4240611bb68386612742565b9061267b565b9250506103e88211611cdc57604051633718896d60e01b81526001600160a01b03861690633718896d90611bf6908e908590600401613cc8565b602060405180830381600087803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c489190613a40565b9350611c548c85611531565b9250336001600160a01b03168c7fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a858785604051611c9493929190613cd6565b60405180910390a38a8c7f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508968684604051611ccf929190613cc8565b60405180910390a3611de2565b611ce461279f565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401611d11929190613c3b565b602060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d6391906138f3565b5033611d6e8d611238565b7f2829443ff346b88d03a24362b6fa7a04bd8a386c93f40c594c5894431ebd062183604051611d9d9190613cbf565b60405180910390a38a8c7f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc8350896866000604051611dd9929190613cc8565b60405180910390a35b60048601805464ff0000000019169055838655600186018390553360009081526002870160205260409020839055600386018b9055611e218c8b612c1f565b8a8c7f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f0000000000000000000000000000000000000000000000000000000000000000604051611e7291906142ee565b60405180910390a38a8c7f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8b604051611eab9190613cbf565b60405180910390a36040518c907f2601dd98f7004e1bdae7219514e798a9f78655ea8777053614c77f321a7c2c8290600090a2505050505050505050505050565b600080611ef8846124fc565b600181015481549192506115659161074e908661267b565b611f397f000000000000000000000000000000000000000000000000000000000000000061333b565b611f627f000000000000000000000000000000000000000000000000000000000000000061333b565b611f8b7f000000000000000000000000000000000000000000000000000000000000000061333b565b611fb47f000000000000000000000000000000000000000000000000000000000000000061333b565b611fdd7f000000000000000000000000000000000000000000000000000000000000000061333b565b6120067f000000000000000000000000000000000000000000000000000000000000000061333b565b61202f7f000000000000000000000000000000000000000000000000000000000000000061333b565b565b60008061203d83610639565b506001600160a01b031615159392505050565b61205861250d565b600061206384612aab565b90503361207861207161279f565b828661343d565b6000612082612895565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b81526004016120b693929190613cd6565b6040805180830381600087803b1580156120cf57600080fd5b505af11580156120e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121079190613b05565b50905060006121168783611531565b9050848110156121385760405162461bcd60e51b81526004016106d490613fe7565b83546121449083612b41565b845560018401546121559082612b41565b60018501556001600160a01b038316600090815260028501602052604090205461217f9082612b41565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906121d490859087908c90613cd6565b60405180910390a350505050505050565b81336121f082610cbc565b6001600160a01b0316146122165760405162461bcd60e51b81526004016106d49061401e565b610a1a8383612c1f565b6122286129f8565b823361223382610cbc565b6001600160a01b0316146122595760405162461bcd60e51b81526004016106d49061401e565b600061226485612aab565b9050836122835760405162461bcd60e51b81526004016106d490613f2f565b80600301548414156122a75760405162461bcd60e51b81526004016106d490613f7b565b60006122b1612895565b9050816001015460001461249657600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926122f79291908690600401613cd6565b602060405180830381600087803b15801561231157600080fd5b505af1158015612325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123499190613a40565b9050600033905060006123cd8383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b15801561239057600080fd5b505afa1580156123a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c89190613b44565b61349c565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab90612401908b908590600090600401613cd6565b6040805180830381600087803b15801561241a57600080fd5b505af115801561242e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124529190613b05565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508969161248a918690613cc8565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc86604051610fd99190613cbf565b61111161111160f01b010190565b6013546001600160a01b031681565b6000546001600160a01b031681565b600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561255957600080fd5b505afa15801561256d573d6000803e3d6000fd5b505050506040513d602081101561258357600080fd5b5051156125c0576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561260c57600080fd5b505afa158015612620573d6000803e3d6000fd5b505050506040513d602081101561263657600080fd5b50511561202f576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261268a57506000610688565b8282028284828161269757fe5b04146126d45760405162461bcd60e51b815260040180806020018281038252602181526020018061440a6021913960400191505060405180910390fd5b9392505050565b6000808211612731576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161273a57fe5b049392505050565b600082821115612799576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b905090565b8015610a1a57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561282c57600080fd5b505af1158015612840573d6000803e3d6000fd5b505050506040513d602081101561285657600080fd5b5051610a1a576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006128f030613617565b15905090565b620f424063ffffffff8216111561291f5760405162461bcd60e51b81526004016106d490614139565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c906113ef9061423b565b6001600160a01b0381166129885760405162461bcd60e51b81526004016106d49061417a565b61299181613617565b6129ad5760405162461bcd60e51b81526004016106d490613cff565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee906113ef908390613c27565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d6020811015612a6e57600080fd5b50511561202f576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612ab7836124fc565b9050612ac281612b9b565b15156001146106885760405162461bcd60e51b81526004016106d4906141b1565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612b13908490600401613cbf565b600060405180830381600087803b158015612b2d57600080fd5b505af11580156118e4573d6000803e3d6000fd5b6000828201838110156126d4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60038101546000901580159061068857505060040154600160201b900460ff161590565b600061068882612bce8461361d565b613661565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612c059085908590600401613c3b565b600060405180830381600087803b15801561150657600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612c519085908590600401613cc8565b600060405180830381600087803b158015612c6b57600080fd5b505af1158015612c7f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612cb39190613cbf565b60405180910390a25050565b6000546001600160a01b0316331461202f576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612d72576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d6020811015612e3c57600080fd5b50516001600160a01b0316331461202f576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b6000612ed0846124d0565b90506000612edd826124fc565b6000838152604760205260409020600482018054600160201b63ffffffff199091167f000000000000000000000000000000000000000000000000000000000000000063ffffffff161764ff000000001916179055848155436003820155909150612f488584612bd3565b846001600160a01b031683877fb7c59c854d0e4282bb1528e489af598754d77e4e4d57d1e3125c7891c0aa3c6987604051610e589190613cbf565b6000612f8e846124d0565b6000818152604760205260408120919250612fa8836124fc565b90506000612fb4612895565b600284015490915060009060ff168015612fda57506004830154600160201b900460ff16155b1561307e5760038301546040516369db11a160e01b81526000916001600160a01b038516916369db11a191613013918b90600401613cc8565b60206040518083038186803b15801561302b57600080fd5b505afa15801561303f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130639190613a40565b905061307a8761074e620f4240611bb68386612742565b9150505b600284015460ff16158061309d57506004830154600160201b900460ff165b806130a957506103e881115b1561317d576130b661279f565b6001600160a01b031663a9059cbb88886040518363ffffffff1660e01b81526004016130e3929190613c3b565b602060405180830381600087803b1580156130fd57600080fd5b505af1158015613111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313591906138f3565b50866001600160a01b0316887f2829443ff346b88d03a24362b6fa7a04bd8a386c93f40c594c5894431ebd0621886040516131709190613cbf565b60405180910390a3611392565b6003830154604051633718896d60e01b81526000916001600160a01b03851691633718896d916131b1918b90600401613cc8565b602060405180830381600087803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132039190613a40565b905060006132118783611531565b85549091506132209083612b41565b855560018501546132319082612b41565b60018601556001600160a01b038916600090815260028601602052604090205461325b9082612b41565b6001600160a01b038a1660008181526002880160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906132b090859087908e90613cd6565b60405180910390a3886001600160a01b0316878b7f1d23f0eccc1a3018be8d9d383695e0856ce697f93fa9f29c707748e0540c3f268b6040516132f39190613cbf565b60405180910390a450505050505050505050565b6000828260405160200161331c929190613bcb565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561338857600080fd5b505afa15801561339c573d6000803e3d6000fd5b505050506040513d60208110156133b257600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146134395760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610a1a57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561282c57600080fd5b600063ffffffff821615806134b75750600c5463ffffffff16155b156134c35750826126d4565b60006134df620f424061074e8763ffffffff8781169061267b16565b905060006134ed8683612742565b600c5490915060009061351490620f42409061074e90869063ffffffff9081169061267b16565b905060006135228383612b41565b9050600061354c61353f620f424063ffffffff808b169061274216565b61074e84620f424061267b565b9050600061355a828b612742565b905061356e61356761279f565b8a8361343d565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806106885760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156135e457600080fd5b505afa1580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b50519392505050565b3b151590565b6001600160a01b0381166000908152600e6020526040812054613641816001612b41565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061367b90859085908490602001613bed565b60408051601f198184030181529190528051602090910120949350505050565b60008083601f8401126136ac578182fd5b50813567ffffffffffffffff8111156136c3578182fd5b60208301915083602082850101111561199d57600080fd5b803560ff81168114610a7957600080fd5b6000602082840312156136fd578081fd5b81356126d4816143b4565b600060208284031215613719578081fd5b81516126d4816143b4565b60008060408385031215613736578081fd5b8235613741816143b4565b91506020830135613751816143b4565b809150509250929050565b6000806040838503121561376e578182fd5b8235613779816143b4565b946020939093013593505050565b60008060006060848603121561379b578081fd5b83356137a6816143b4565b95602085013595506040909401359392505050565b600080600080606085870312156137d0578081fd5b84356137db816143b4565b935060208501359250604085013567ffffffffffffffff8111156137fd578182fd5b6138098782880161369b565b95989497509550505050565b60008060008060006080868803121561382c578081fd5b8535613837816143b4565b9450613845602087016136db565b935060408601359250606086013567ffffffffffffffff811115613867578182fd5b6138738882890161369b565b969995985093965092949392505050565b60008060208385031215613896578182fd5b823567ffffffffffffffff808211156138ad578384fd5b818501915085601f8301126138c0578384fd5b8135818111156138ce578485fd5b86602080830285010111156138e1578485fd5b60209290920196919550909350505050565b600060208284031215613904578081fd5b815180151581146126d4578182fd5b600080600060608486031215613927578081fd5b505081359360208301359350604090920135919050565b600080600060408486031215613952578081fd5b833561395d816143b4565b9250602084013567ffffffffffffffff811115613978578182fd5b6139848682870161369b565b9497909650939450505050565b6000602082840312156139a2578081fd5b815167ffffffffffffffff808211156139b9578283fd5b818401915084601f8301126139cc578283fd5b8151818111156139d857fe5b604051601f8201601f1916810160200183811182821017156139f657fe5b604052818152838201602001871015613a0d578485fd5b613a1e826020830160208701614384565b9695505050505050565b600060208284031215613a39578081fd5b5035919050565b600060208284031215613a51578081fd5b5051919050565b60008060408385031215613a6a578182fd5b823591506020830135613751816143b4565b600080600060608486031215613a90578081fd5b833592506020840135613aa2816143b4565b929592945050506040919091013590565b60008060408385031215613ac5578182fd5b50508035926020909101359150565b60008060008060808587031215613ae9578182fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215613b17578182fd5b505080516020909101519092909150565b600060208284031215613b39578081fd5b81356126d4816143c9565b600060208284031215613b55578081fd5b81516126d4816143c9565b600080600060608486031215613b74578081fd5b613b7d846136db565b9250602084013591506040840135613b94816143b4565b809150509250925092565b60008151808452613bb7816020860160208601614384565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613ca757603f19888603018452613c95858351613b9f565b94509285019290850190600101613c79565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526126d46020830184613b9f565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252600c908201526b494e56414c49445f434f444560a01b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b6020808252600c908201526b4f4e4c595f4741544557415960a01b604082015260600190565b6020808252601690820152750474e533a206465706c6f796d656e74494420213d20360541b604082015260600190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601a908201527f4f4e4c595f4c315f474e535f5448524f5547485f425249444745000000000000604082015260600190565b60208082526010908201526f0929cac82989288bea6aa848ea482a0960831b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b9283529015156020830152604082015260600190565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b6000808335601e19843603018112614355578283fd5b83018035915067ffffffffffffffff82111561436f578283fd5b60200191503681900382131561199d57600080fd5b60005b8381101561439f578181015183820152602001614387565b838111156143ae576000848401525b50505050565b6001600160a01b03811681146108d457600080fd5b63ffffffff811681146108d457600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d7e84f4678c09b06ab59bfddb700d7f8735c60bded2d194ddc00dd54b801ee9564736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061028a5760003560e01c80639f5ebfdb1161015c578063be8f4920116100ce578063d882538611610087578063d8825386146105dd578063d916f277146105f0578063e132973214610603578063ea0f2eba14610616578063eec16b0e14610629578063f77c4791146106315761028a565b8063be8f492014610576578063cc2d23c714610589578063d1a806121461059c578063d495f9a7146105af578063d6866ea5146105c2578063d797f4bb146105ca5761028a565b8063a5143f0211610120578063a5143f02146104e9578063ac9650d8146104fc578063b22350561461051c578063b22ff4e81461052f578063b43f6a0214610542578063b78edf70146105635761028a565b80639f5ebfdb146104a0578063a2594d82146104a8578063a32571ee146104bb578063a49a15f1146104c3578063a4c0ed36146104d65761028a565b8063616fdce4116102005780637ba95862116101b95780637ba958621461042e5780637bd1b0bf1461044157806392eefe9b146104545780639c6c022b146104675780639ce7abe51461047a5780639f0f22b71461048d5761028a565b8063616fdce41461039e57806361f712d6146103a65780636352211e146103c857806363bd3abe146103e85780636a464ac2146103fb5780637b156fb51461040e5761028a565b8063428e593611610252578063428e59361461031b578063485cc955146103305780634ca94ed5146103435780634dbecf2f1461035657806353f615c91461036957806356ee0a851461038b5761028a565b806314a76fdb1461028f578063186722fa146102b95780632e1a7d4d146102d95780633710652c146102ee578063380d0c0814610313575b600080fd5b6102a261029d366004613a28565b610639565b6040516102b0929190613c3b565b60405180910390f35b6102cc6102c7366004613a58565b61065d565b6040516102b09190613cbf565b6102ec6102e7366004613a28565b61068e565b005b6103016102fc36600461375c565b6107f7565b6040516102b0969594939291906142be565b6102ec610844565b6103236108d7565b6040516102b091906142ee565b6102ec61033e366004613724565b6108e3565b6102a2610351366004613a28565b610a1f565b6102cc610364366004613a28565b610a44565b61037c610377366004613ab3565b610a7e565b6040516102b093929190613cd6565b6102ec610399366004613a28565b610b3b565b6102cc610c92565b6103b96103b4366004613a28565b610c98565b6040516102b0939291906142a8565b6103db6103d6366004613a28565b610cbc565b6040516102b09190613c27565b6102ec6103f6366004613a7c565b610d3d565b610301610409366004613a28565b610e68565b61042161041c366004613a28565b610eaa565b6040516102b09190613cb4565b6102ec61043c366004613913565b610ebd565b6102ec61044f366004613913565b610fe9565b6102ec6104623660046136ec565b611227565b6102cc610475366004613a28565b611238565b6102ec61048836600461393e565b611246565b6102ec61049b3660046136ec565b61139c565b6102cc6113fa565b6102ec6104b63660046136ec565b611407565b6103db611522565b6102cc6104d1366004613ab3565b611531565b6102ec6104e43660046137bb565b61156d565b6102ec6104f73660046136ec565b611641565b61050f61050a366004613884565b611652565b6040516102b09190613c54565b6102cc61052a3660046136ec565b611792565b6102ec61053d366004613787565b6117a4565b610555610550366004613ab3565b6118eb565b6040516102b0929190613cc8565b6102ec610571366004613b28565b6119a4565b6102cc610584366004613a28565b6119b5565b6102ec610597366004613815565b6119ca565b6102ec6105aa366004613ad4565b611a40565b6102cc6105bd366004613ab3565b611eec565b6102ec611f10565b6104216105d8366004613a28565b612031565b6102ec6105eb366004613913565b612050565b6102ec6105fe366004613ab3565b6121e5565b6102ec610611366004613913565b612220565b6102cc610624366004613a28565b6124d0565b6103db6124de565b6103db6124ed565b600090815260116020526040902080546001909101546001600160a01b0390911691565b6000610668836124fc565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b61069661250d565b60006106a1826124fc565b6004810154909150600160201b900460ff1615156001146106dd5760405162461bcd60e51b81526004016106d490614204565b60405180910390fd5b60058101546106fe5760405162461bcd60e51b81526004016106d490613e29565b3360008181526002830160205260409020548061072d5760405162461bcd60e51b81526004016106d490614102565b6000610754846001015461074e86600501548561267b90919063ffffffff16565b906126db565b6001600160a01b038416600090815260028601602052604081205560018501549091506107819083612742565b600185015560058401546107959082612742565b60058501556107ac6107a561279f565b84836127cf565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a84846040516107e8929190613cc8565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff811691600160201b90910460ff169086565b61084c61279f565b6001600160a01b031663095ea7b3610862612895565b6000196040518363ffffffff1660e01b8152600401610882929190613c3b565b602060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906138f3565b50565b600c5463ffffffff1681565b6108eb6128c0565b6001600160a01b0316336001600160a01b031614610946576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff168061096157506109616128e5565b806109765750601354600160a01b900460ff16155b6109b15760405162461bcd60e51b815260040180806020018281038252602e8152602001806143dc602e913960400191505060405180910390fd5b601354600160a81b900460ff161580156109e8576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b6109f18361122f565b6109fd6207a1206128f6565b610a0682612962565b8015610a1a576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610a50836124fc565b6001015490508015610a73576000610a6884836118eb565b9350610a7992505050565b60009150505b919050565b600080600080610a8d866124fc565b9050600080610a9a612895565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610acb929190613cc8565b604080518083038186803b158015610ae257600080fd5b505afa158015610af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1a9190613b05565b915091506000610b2a8984611531565b929650919450925050509250925092565b610b436129f8565b8033610b4e82610cbc565b6001600160a01b031614610b745760405162461bcd60e51b81526004016106d49061401e565b6000610b7f83612aab565b90508060010154600014610c2557610b95612895565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610bcd929091600090600401613cd6565b602060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190613a40565b60058201555b6004810180546000835563ffffffff1964ff0000000019909116600160201b17169055610c5183612ae3565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba18260050154604051610c859190613cbf565b60405180910390a2505050565b6103e881565b604760205260009081526040902080546002820154600390920154909160ff169083565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e90610ced908590600401613cbf565b60206040518083038186803b158015610d0557600080fd5b505afa158015610d19573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106889190613708565b610d4561250d565b6001600160a01b038216610d6b5760405162461bcd60e51b81526004016106d4906140b2565b6000610d7684612aab565b3360008181526002830160205260409020549192509083811015610dac5760405162461bcd60e51b81526004016106d490613d50565b6001600160a01b0382166000908152600284016020526040902054610dd19085612742565b6001600160a01b0380841660009081526002860160205260408082209390935590871681522054610e029085612b41565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490610e58908990613cbf565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff811691600160201b90910460ff169086565b6000610688610eb8836124fc565b612b9b565b610ec56129f8565b82610ee25760405162461bcd60e51b81526004016106d490613f2f565b336000610eee82612bbf565b90506000610efb826124fc565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff161790559050610f458383612bd3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f0000000000000000000000000000000000000000000000000000000000000000604051610f9691906142ee565b60405180910390a3610fa88285612c1f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc87604051610fd99190613cbf565b60405180910390a3505050505050565b610ff161250d565b6000610ffc84612aab565b33600081815260028301602052604090205491925090808511156110325760405162461bcd60e51b81526004016106d490614055565b600061103e8787611eec565b9050600061104a612895565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b815260040161107d93929190613cd6565b602060405180830381600087803b15801561109757600080fd5b505af11580156110ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110cf9190613a40565b85549091506110de9083612742565b855560018501546110ef9088612742565b60018601556001600160a01b03841660009081526002860160205260409020546111199088612742565b6001600160a01b038516600090815260028701602052604090205561113c61279f565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b8152600401611169929190613c3b565b602060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb91906138f3565b6111d75760405162461bcd60e51b81526004016106d490613df2565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161121593929190613cd6565b60405180910390a35050505050505050565b61122f612cbf565b6108d481612d1e565b61111161eeef60f01b030190565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561128257600080fd5b505af1158015611296573d6000803e3d6000fd5b505050506040513d60208110156112ac57600080fd5b50516001600160a01b0316331461130a576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050505050505050565b6113a4612dc6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f941906113ef908390613c27565b60405180910390a150565b61111161111160f01b0181565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050506040513d602081101561146d57600080fd5b50516001600160a01b031633146114cb576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561150657600080fd5b505af115801561151a573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b60008061153d846124fc565b805490915061154f5782915050610688565b80546001820154611565919061074e908661267b565b949350505050565b61157561250d565b61157d612e9a565b6001600160a01b0316336001600160a01b0316146115ad5760405162461bcd60e51b81526004016106d490613d9c565b6014546001600160a01b038581169116146115da5760405162461bcd60e51b81526004016106d490613ece565b600080806115ea84860186613b60565b9194509250905060ff831661160957611604828288612ec5565b611638565b60ff83166001141561162057611604828288612f83565b60405162461bcd60e51b81526004016106d490613d2a565b50505050505050565b611649612dc6565b6108d481612962565b60608167ffffffffffffffff8111801561166b57600080fd5b5060405190808252806020026020018201604052801561169f57816020015b606081526020019060019003908161168a5790505b50905060005b8281101561178b57600080308686858181106116bd57fe5b90506020028101906116cf919061433f565b6040516116dd929190613c17565b600060405180830381855af49150503d8060008114611718576040519150601f19603f3d011682016040523d82523d6000602084013e61171d565b606091505b5091509150816117695760448151101561173657600080fd5b600481019050808060200190518101906117509190613991565b60405162461bcd60e51b81526004016106d49190613cec565b8084848151811061177657fe5b602090810291909101015250506001016116a5565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f602090815260408083208584529091529020600301541515600181146117ed5760405162461bcd60e51b81526004016106d490613e97565b60006117f98585613307565b6000818152601160205260409020549091506001600160a01b0316156118315760405162461bcd60e51b81526004016106d490614267565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d8252828120878252909152908120556118998582612bd3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b587856040516118d29190613cbf565b60405180910390a26118e48184612c1f565b5050505050565b60008060006118f985612aab565b905060006119078686611eec565b90506000611913612895565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611944929190613cc8565b60206040518083038186803b15801561195c57600080fd5b505afa158015611970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119949190613a40565b91945090925050505b9250929050565b6119ac612dc6565b6108d4816128f6565b60006119c0826124fc565b6001015492915050565b6001600160a01b03851633146119f25760405162461bcd60e51b81526004016106d490613e60565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611a3194939291906142ff565b60405180910390a25050505050565b611a4861250d565b8333611a5382610cbc565b6001600160a01b031614611a795760405162461bcd60e51b81526004016106d49061401e565b600085815260476020526040812090611a91876124fc565b9050816003015460001415611ab85760405162461bcd60e51b81526004016106d490613f05565b600282015460ff1615611add5760405162461bcd60e51b81526004016106d4906141de565b60028201805460ff1916600117905585611b095760405162461bcd60e51b81526004016106d490613dc2565b6000611b13612895565b83546040516369db11a160e01b81529192506000918291829182906001600160a01b038716906369db11a190611b4f908f908690600401613cc8565b60206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190613a40565b9050611bbc8261074e620f4240611bb68386612742565b9061267b565b9250506103e88211611cdc57604051633718896d60e01b81526001600160a01b03861690633718896d90611bf6908e908590600401613cc8565b602060405180830381600087803b158015611c1057600080fd5b505af1158015611c24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c489190613a40565b9350611c548c85611531565b9250336001600160a01b03168c7fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a858785604051611c9493929190613cd6565b60405180910390a38a8c7f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508968684604051611ccf929190613cc8565b60405180910390a3611de2565b611ce461279f565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401611d11929190613c3b565b602060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d6391906138f3565b5033611d6e8d611238565b7f2829443ff346b88d03a24362b6fa7a04bd8a386c93f40c594c5894431ebd062183604051611d9d9190613cbf565b60405180910390a38a8c7f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc8350896866000604051611dd9929190613cc8565b60405180910390a35b60048601805464ff0000000019169055838655600186018390553360009081526002870160205260409020839055600386018b9055611e218c8b612c1f565b8a8c7f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f0000000000000000000000000000000000000000000000000000000000000000604051611e7291906142ee565b60405180910390a38a8c7f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc8b604051611eab9190613cbf565b60405180910390a36040518c907f2601dd98f7004e1bdae7219514e798a9f78655ea8777053614c77f321a7c2c8290600090a2505050505050505050505050565b600080611ef8846124fc565b600181015481549192506115659161074e908661267b565b611f397f000000000000000000000000000000000000000000000000000000000000000061333b565b611f627f000000000000000000000000000000000000000000000000000000000000000061333b565b611f8b7f000000000000000000000000000000000000000000000000000000000000000061333b565b611fb47f000000000000000000000000000000000000000000000000000000000000000061333b565b611fdd7f000000000000000000000000000000000000000000000000000000000000000061333b565b6120067f000000000000000000000000000000000000000000000000000000000000000061333b565b61202f7f000000000000000000000000000000000000000000000000000000000000000061333b565b565b60008061203d83610639565b506001600160a01b031615159392505050565b61205861250d565b600061206384612aab565b90503361207861207161279f565b828661343d565b6000612082612895565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b81526004016120b693929190613cd6565b6040805180830381600087803b1580156120cf57600080fd5b505af11580156120e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121079190613b05565b50905060006121168783611531565b9050848110156121385760405162461bcd60e51b81526004016106d490613fe7565b83546121449083612b41565b845560018401546121559082612b41565b60018501556001600160a01b038316600090815260028501602052604090205461217f9082612b41565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906121d490859087908c90613cd6565b60405180910390a350505050505050565b81336121f082610cbc565b6001600160a01b0316146122165760405162461bcd60e51b81526004016106d49061401e565b610a1a8383612c1f565b6122286129f8565b823361223382610cbc565b6001600160a01b0316146122595760405162461bcd60e51b81526004016106d49061401e565b600061226485612aab565b9050836122835760405162461bcd60e51b81526004016106d490613f2f565b80600301548414156122a75760405162461bcd60e51b81526004016106d490613f7b565b60006122b1612895565b9050816001015460001461249657600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926122f79291908690600401613cd6565b602060405180830381600087803b15801561231157600080fd5b505af1158015612325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123499190613a40565b9050600033905060006123cd8383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b15801561239057600080fd5b505afa1580156123a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c89190613b44565b61349c565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab90612401908b908590600090600401613cd6565b6040805180830381600087803b15801561241a57600080fd5b505af115801561242e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124529190613b05565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc83508969161248a918690613cc8565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc86604051610fd99190613cbf565b61111161111160f01b010190565b6013546001600160a01b031681565b6000546001600160a01b031681565b600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561255957600080fd5b505afa15801561256d573d6000803e3d6000fd5b505050506040513d602081101561258357600080fd5b5051156125c0576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561260c57600080fd5b505afa158015612620573d6000803e3d6000fd5b505050506040513d602081101561263657600080fd5b50511561202f576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261268a57506000610688565b8282028284828161269757fe5b04146126d45760405162461bcd60e51b815260040180806020018281038252602181526020018061440a6021913960400191505060405180910390fd5b9392505050565b6000808211612731576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161273a57fe5b049392505050565b600082821115612799576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b905090565b8015610a1a57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561282c57600080fd5b505af1158015612840573d6000803e3d6000fd5b505050506040513d602081101561285657600080fd5b5051610a1a576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006128f030613617565b15905090565b620f424063ffffffff8216111561291f5760405162461bcd60e51b81526004016106d490614139565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c906113ef9061423b565b6001600160a01b0381166129885760405162461bcd60e51b81526004016106d49061417a565b61299181613617565b6129ad5760405162461bcd60e51b81526004016106d490613cff565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee906113ef908390613c27565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612a4457600080fd5b505afa158015612a58573d6000803e3d6000fd5b505050506040513d6020811015612a6e57600080fd5b50511561202f576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612ab7836124fc565b9050612ac281612b9b565b15156001146106885760405162461bcd60e51b81526004016106d4906141b1565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612b13908490600401613cbf565b600060405180830381600087803b158015612b2d57600080fd5b505af11580156118e4573d6000803e3d6000fd5b6000828201838110156126d4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60038101546000901580159061068857505060040154600160201b900460ff161590565b600061068882612bce8461361d565b613661565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612c059085908590600401613c3b565b600060405180830381600087803b15801561150657600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612c519085908590600401613cc8565b600060405180830381600087803b158015612c6b57600080fd5b505af1158015612c7f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612cb39190613cbf565b60405180910390a25050565b6000546001600160a01b0316331461202f576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612d72576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1257600080fd5b505afa158015612e26573d6000803e3d6000fd5b505050506040513d6020811015612e3c57600080fd5b50516001600160a01b0316331461202f576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60006127ca7f000000000000000000000000000000000000000000000000000000000000000061357b565b6000612ed0846124d0565b90506000612edd826124fc565b6000838152604760205260409020600482018054600160201b63ffffffff199091167f000000000000000000000000000000000000000000000000000000000000000063ffffffff161764ff000000001916179055848155436003820155909150612f488584612bd3565b846001600160a01b031683877fb7c59c854d0e4282bb1528e489af598754d77e4e4d57d1e3125c7891c0aa3c6987604051610e589190613cbf565b6000612f8e846124d0565b6000818152604760205260408120919250612fa8836124fc565b90506000612fb4612895565b600284015490915060009060ff168015612fda57506004830154600160201b900460ff16155b1561307e5760038301546040516369db11a160e01b81526000916001600160a01b038516916369db11a191613013918b90600401613cc8565b60206040518083038186803b15801561302b57600080fd5b505afa15801561303f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130639190613a40565b905061307a8761074e620f4240611bb68386612742565b9150505b600284015460ff16158061309d57506004830154600160201b900460ff165b806130a957506103e881115b1561317d576130b661279f565b6001600160a01b031663a9059cbb88886040518363ffffffff1660e01b81526004016130e3929190613c3b565b602060405180830381600087803b1580156130fd57600080fd5b505af1158015613111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313591906138f3565b50866001600160a01b0316887f2829443ff346b88d03a24362b6fa7a04bd8a386c93f40c594c5894431ebd0621886040516131709190613cbf565b60405180910390a3611392565b6003830154604051633718896d60e01b81526000916001600160a01b03851691633718896d916131b1918b90600401613cc8565b602060405180830381600087803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132039190613a40565b905060006132118783611531565b85549091506132209083612b41565b855560018501546132319082612b41565b60018601556001600160a01b038916600090815260028601602052604090205461325b9082612b41565b6001600160a01b038a1660008181526002880160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a906132b090859087908e90613cd6565b60405180910390a3886001600160a01b0316878b7f1d23f0eccc1a3018be8d9d383695e0856ce697f93fa9f29c707748e0540c3f268b6040516132f39190613cbf565b60405180910390a450505050505050505050565b6000828260405160200161331c929190613bcb565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561338857600080fd5b505afa15801561339c573d6000803e3d6000fd5b505050506040513d60208110156133b257600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146134395760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610a1a57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561282c57600080fd5b600063ffffffff821615806134b75750600c5463ffffffff16155b156134c35750826126d4565b60006134df620f424061074e8763ffffffff8781169061267b16565b905060006134ed8683612742565b600c5490915060009061351490620f42409061074e90869063ffffffff9081169061267b16565b905060006135228383612b41565b9050600061354c61353f620f424063ffffffff808b169061274216565b61074e84620f424061267b565b9050600061355a828b612742565b905061356e61356761279f565b8a8361343d565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806106885760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156135e457600080fd5b505afa1580156135f8573d6000803e3d6000fd5b505050506040513d602081101561360e57600080fd5b50519392505050565b3b151590565b6001600160a01b0381166000908152600e6020526040812054613641816001612b41565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061367b90859085908490602001613bed565b60408051601f198184030181529190528051602090910120949350505050565b60008083601f8401126136ac578182fd5b50813567ffffffffffffffff8111156136c3578182fd5b60208301915083602082850101111561199d57600080fd5b803560ff81168114610a7957600080fd5b6000602082840312156136fd578081fd5b81356126d4816143b4565b600060208284031215613719578081fd5b81516126d4816143b4565b60008060408385031215613736578081fd5b8235613741816143b4565b91506020830135613751816143b4565b809150509250929050565b6000806040838503121561376e578182fd5b8235613779816143b4565b946020939093013593505050565b60008060006060848603121561379b578081fd5b83356137a6816143b4565b95602085013595506040909401359392505050565b600080600080606085870312156137d0578081fd5b84356137db816143b4565b935060208501359250604085013567ffffffffffffffff8111156137fd578182fd5b6138098782880161369b565b95989497509550505050565b60008060008060006080868803121561382c578081fd5b8535613837816143b4565b9450613845602087016136db565b935060408601359250606086013567ffffffffffffffff811115613867578182fd5b6138738882890161369b565b969995985093965092949392505050565b60008060208385031215613896578182fd5b823567ffffffffffffffff808211156138ad578384fd5b818501915085601f8301126138c0578384fd5b8135818111156138ce578485fd5b86602080830285010111156138e1578485fd5b60209290920196919550909350505050565b600060208284031215613904578081fd5b815180151581146126d4578182fd5b600080600060608486031215613927578081fd5b505081359360208301359350604090920135919050565b600080600060408486031215613952578081fd5b833561395d816143b4565b9250602084013567ffffffffffffffff811115613978578182fd5b6139848682870161369b565b9497909650939450505050565b6000602082840312156139a2578081fd5b815167ffffffffffffffff808211156139b9578283fd5b818401915084601f8301126139cc578283fd5b8151818111156139d857fe5b604051601f8201601f1916810160200183811182821017156139f657fe5b604052818152838201602001871015613a0d578485fd5b613a1e826020830160208701614384565b9695505050505050565b600060208284031215613a39578081fd5b5035919050565b600060208284031215613a51578081fd5b5051919050565b60008060408385031215613a6a578182fd5b823591506020830135613751816143b4565b600080600060608486031215613a90578081fd5b833592506020840135613aa2816143b4565b929592945050506040919091013590565b60008060408385031215613ac5578182fd5b50508035926020909101359150565b60008060008060808587031215613ae9578182fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215613b17578182fd5b505080516020909101519092909150565b600060208284031215613b39578081fd5b81356126d4816143c9565b600060208284031215613b55578081fd5b81516126d4816143c9565b600080600060608486031215613b74578081fd5b613b7d846136db565b9250602084013591506040840135613b94816143b4565b809150509250925092565b60008151808452613bb7816020860160208601614384565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613ca757603f19888603018452613c95858351613b9f565b94509285019290850190600101613c79565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526126d46020830184613b9f565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252600c908201526b494e56414c49445f434f444560a01b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b6020808252600c908201526b4f4e4c595f4741544557415960a01b604082015260600190565b6020808252601690820152750474e533a206465706c6f796d656e74494420213d20360541b604082015260600190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601a908201527f4f4e4c595f4c315f474e535f5448524f5547485f425249444745000000000000604082015260600190565b60208082526010908201526f0929cac82989288bea6aa848ea482a0960831b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b9283529015156020830152604082015260600190565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b6000808335601e19843603018112614355578283fd5b83018035915067ffffffffffffffff82111561436f578283fd5b60200191503681900382131561199d57600080fd5b60005b8381101561439f578181015183820152602001614387565b838111156143ae576000848401525b50505050565b6001600160a01b03811681146108d457600080fd5b63ffffffff811681146108d457600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d7e84f4678c09b06ab59bfddb700d7f8735c60bded2d194ddc00dd54b801ee9564736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.dbg.json b/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.json b/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.json new file mode 100644 index 000000000..72ff0bcdc --- /dev/null +++ b/abis/l2/discovery/L2GNSStorage.sol/L2GNSV1Storage.json @@ -0,0 +1,40 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2GNSV1Storage", + "sourceName": "contracts/l2/discovery/L2GNSStorage.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphL2TransferData", + "outputs": [ + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "l2Done", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "subgraphReceivedOnL2BlockNumber", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.dbg.json b/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.json b/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.json new file mode 100644 index 000000000..d45f5433c --- /dev/null +++ b/abis/l2/gateway/L2GraphTokenGateway.sol/L2GraphTokenGateway.json @@ -0,0 +1,647 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2GraphTokenGateway", + "sourceName": "contracts/l2/gateway/L2GraphTokenGateway.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "l1Token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "DepositFinalized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1Counterpart", + "type": "address" + } + ], + "name": "L1CounterpartAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1GRT", + "type": "address" + } + ], + "name": "L1TokenAddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l2Router", + "type": "address" + } + ], + "name": "L2RouterSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPauseGuardian", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "pauseGuardian", + "type": "address" + } + ], + "name": "NewPauseGuardian", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PartialPauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bool", + "name": "isPaused", + "type": "bool" + } + ], + "name": "PauseChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "TxToL1", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1Token", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "l2ToL1Id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "exitNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "WithdrawalInitiated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "l1ERC20", + "type": "address" + } + ], + "name": "calculateL2TokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "finalizeInboundTransfer", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "getOutboundCalldata", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "l1Counterpart", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l1GRT", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2Router", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPartialPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastPauseTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "outboundTransfer", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Token", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "outboundTransfer", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseGuardian", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Counterpart", + "type": "address" + } + ], + "name": "setL1CounterpartAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1GRT", + "type": "address" + } + ], + "name": "setL1TokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2Router", + "type": "address" + } + ], + "name": "setL2Router", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauseGuardian", + "type": "address" + } + ], + "name": "setPauseGuardian", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_newPaused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161222b6101696000398061112f5250806111065250806110dd528061150a5250806110b452508061108b525080611062525080611039525061222b6000f3fe6080604052600436106101405760003560e01c806392eefe9b116100b6578063c4d66de81161006f578063c4d66de814610355578063d2ce7d6514610375578063d685c0b214610388578063d6866ea5146103a8578063f14a4bd5146103bd578063f77c4791146103d257610140565b806392eefe9b146102a05780639ce7abe5146102c0578063a0c76a96146102e0578063a2594d8214610300578063a7e28d4814610320578063c4c0087c1461034057610140565b806348bde20c1161010857806348bde20c146101e75780634adc698a146102075780635c975abb1461021c57806369bc8cd41461023e5780637b3a3c8b1461025e57806391b4ded91461028b57610140565b80630252fec114610145578063147ddef51461016757806316c38b3c1461019257806324a3d622146101b25780632e567b36146101d4575b600080fd5b34801561015157600080fd5b50610165610160366004611b43565b6103e7565b005b34801561017357600080fd5b5061017c610474565b60405161018991906121a9565b60405180910390f35b34801561019e57600080fd5b506101656101ad366004611da9565b61047a565b3480156101be57600080fd5b506101c7610572565b6040516101899190611e67565b6101656101e2366004611bb4565b610581565b3480156101f357600080fd5b50610165610202366004611b43565b6107b9565b34801561021357600080fd5b506101c7610825565b34801561022857600080fd5b50610231610834565b6040516101899190611f43565b34801561024a57600080fd5b50610165610259366004611b43565b610842565b34801561026a57600080fd5b5061027e610279366004611cb4565b6108bb565b6040516101899190611f4e565b34801561029757600080fd5b5061017c6108d7565b3480156102ac57600080fd5b506101656102bb366004611b43565b6108dd565b3480156102cc57600080fd5b506101656102db366004611dc9565b6108ee565b3480156102ec57600080fd5b5061027e6102fb366004611c37565b610a44565b34801561030c57600080fd5b5061016561031b366004611b43565b610ac4565b34801561032c57600080fd5b506101c761033b366004611b43565b610bdf565b34801561034c57600080fd5b506101c7610c0f565b34801561036157600080fd5b50610165610370366004611b43565b610c1e565b61027e610383366004611d25565b610d44565b34801561039457600080fd5b506101656103a3366004611b43565b610fbb565b3480156103b457600080fd5b50610165611034565b3480156103c957600080fd5b506101c7611155565b3480156103de57600080fd5b506101c7611164565b6103ef611173565b6001600160a01b03811661041e5760405162461bcd60e51b815260040161041590612034565b60405180910390fd5b607780546001600160a01b0319166001600160a01b0383161790556040517f43a303848c82a28f94def3043839eaebd654c19fdada874a74fb94d8bf7d343890610469908390611e67565b60405180910390a150565b60015481565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50516001600160a01b031633148061050857506003546001600160a01b031633145b610559576040805162461bcd60e51b815260206004820152601960248201527f4f6e6c7920476f7665726e6f72206f7220477561726469616e00000000000000604482015290519081900360640190fd5b806105665761056661123d565b61056f816112b5565b50565b6003546001600160a01b031681565b600260435414156105d9576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026043556105e6611340565b6076546105fb906001600160a01b0316611391565b6001600160a01b0316336001600160a01b03161461062b5760405162461bcd60e51b815260040161041590612172565b6075546001600160a01b038781169116146106585760405162461bcd60e51b81526004016104159061214b565b34156106765760405162461bcd60e51b815260040161041590611fdd565b60755461068b906001600160a01b0316610bdf565b6001600160a01b0316638c2a993e85856040518363ffffffff1660e01b81526004016106b8929190611ee2565b600060405180830381600087803b1580156106d257600080fd5b505af11580156106e6573d6000803e3d6000fd5b505082159150610757905057604051635260769b60e11b81526001600160a01b0385169063a4c0ed3690610724908890879087908790600401611efb565b600060405180830381600087803b15801561073e57600080fd5b505af1158015610752573d6000803e3d6000fd5b505050505b836001600160a01b0316856001600160a01b0316876001600160a01b03167fc7f2e9c55c40a50fbc217dfc70cd39a222940dfa62145aa0ca49eb9535d4fcb2866040516107a491906121a9565b60405180910390a45050600160435550505050565b6107c1611173565b6001600160a01b03811661081c576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61056f816113aa565b6077546001600160a01b031681565b600054610100900460ff1690565b61084a611173565b6001600160a01b0381166108705760405162461bcd60e51b81526004016104159061200c565b607580546001600160a01b0319166001600160a01b0383161790556040517f0b7cf729ac6c387cab57a28d257c6ecac863c24b086353121057083c7bfc79f990610469908390611e67565b60606108cd8686866000808888610d44565b9695505050505050565b60025481565b6108e56113fc565b61056f8161145b565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561092a57600080fd5b505af115801561093e573d6000803e3d6000fd5b505050506040513d602081101561095457600080fd5b50516001600160a01b031633146109b2576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b5050505050505050565b6060632e567b3660e01b86868686600087604051602001610a66929190611f61565b60408051601f1981840301815290829052610a879594939291602401611e7b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905095945050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610b0057600080fd5b505af1158015610b14573d6000803e3d6000fd5b505050506040513d6020811015610b2a57600080fd5b50516001600160a01b03163314610b88576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b6075546000906001600160a01b03838116911614610bff57506000610c0a565b610c07611503565b90505b919050565b6076546001600160a01b031681565b610c26611533565b6001600160a01b0316336001600160a01b031614610c81576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b604254610100900460ff1680610c9a5750610c9a611558565b80610ca8575060425460ff16155b610ce35760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff16158015610d0e576042805460ff1961ff0019909116610100171660011790555b610d17826108e5565b6000805461ff001916610100179055610d2e611569565b8015610d40576042805461ff00191690555b5050565b606060026043541415610d9e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002604355610dab611340565b6075546001600160a01b03898116911614610dd85760405162461bcd60e51b81526004016104159061214b565b85610df55760405162461bcd60e51b815260040161041590611fb0565b3415610e135760405162461bcd60e51b815260040161041590611fdd565b6001600160a01b038716610e395760405162461bcd60e51b81526004016104159061205f565b610e41611a76565b610e4b8484611612565b602083018190526001600160a01b0390911682525115610e7d5760405162461bcd60e51b8152600401610415906120bc565b607554610e92906001600160a01b0316610bdf565b81516040516374f4f54760e01b81526001600160a01b0392909216916374f4f54791610ec2918b90600401611ee2565b600060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506000610f3060008360000151607660009054906101000a90046001600160a01b0316610f2b8e87600001518f8f8a60200151610a44565b61168f565b905080896001600160a01b031683600001516001600160a01b03167f3073a74ecb728d10be779fe19a74a1428e20468f5b4d167bf9c73d9067847d738d60008d604051610f7f93929190611ec1565b60405180910390a480604051602001610f9891906121a9565b604051602081830303815290604052925050506001604355979650505050505050565b610fc3611173565b6001600160a01b038116610fe95760405162461bcd60e51b81526004016104159061208c565b607680546001600160a01b0319166001600160a01b0383161790556040517f60d5265d09ed32300af9a69188333d24b405b6f4196f623f3e2b78321181a61590610469908390611e67565b61105d7f000000000000000000000000000000000000000000000000000000000000000061182f565b6110867f000000000000000000000000000000000000000000000000000000000000000061182f565b6110af7f000000000000000000000000000000000000000000000000000000000000000061182f565b6110d87f000000000000000000000000000000000000000000000000000000000000000061182f565b6111017f000000000000000000000000000000000000000000000000000000000000000061182f565b61112a7f000000000000000000000000000000000000000000000000000000000000000061182f565b6111537f000000000000000000000000000000000000000000000000000000000000000061182f565b565b6075546001600160a01b031681565b6004546001600160a01b031681565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d60208110156111df57600080fd5b50516001600160a01b03163314611153576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6077546001600160a01b03166112655760405162461bcd60e51b815260040161041590611f85565b6076546001600160a01b031661128d5760405162461bcd60e51b8152600401610415906120f3565b6075546001600160a01b03166111535760405162461bcd60e51b815260040161041590612123565b600060019054906101000a900460ff16151581151514156112d55761056f565b6000805461ff0019166101008315158102919091179182905560ff910416156112fd57426002555b6000546040805161010090920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600054610100900460ff1615611153576040805162461bcd60e51b81526020600482015260116024820152705061757365642028636f6e74726163742960781b604482015290519081900360640190fd5b7311110000000000000000000000000000000011110190565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b6004546001600160a01b03163314611153576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166114af576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b600061152e7f0000000000000000000000000000000000000000000000000000000000000000611930565b905090565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611563306119ca565b15905090565b604254610100900460ff16806115825750611582611558565b80611590575060425460ff16155b6115cb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff161580156115f6576042805460ff1961ff0019909116610100171660011790555b6115fe6119d0565b801561056f576042805461ff001916905550565b607754600090606090829082906001600160a01b03163314156116455761163b85870187611b66565b9092509050611682565b33915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050505b90925090505b9250929050565b60008060646001600160a01b031663928c169a8786866040518463ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117005781810151838201526020016116e8565b50505050905090810190601f16801561172d5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818588803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b50505050506040513d602081101561177757600080fd5b5051604080516020808252865182820152865193945084936001600160a01b03808a1694908b16937f2b986d32a0536b7e19baa48ab949fec7b903b7fad7730820b20632d100cc3a68938a93919283929083019185019080838360005b838110156117ec5781810151838201526020016117d4565b50505050905090810190601f1680156118195780820380516001836020036101000a031916815260200191505b509250505060405180910390a495945050505050565b6004805460408051637bb20d2f60e11b8152928301849052516000926001600160a01b039092169163f7641a5e916024808301926020929190829003018186803b15801561187c57600080fd5b505afa158015611890573d6000803e3d6000fd5b505050506040513d60208110156118a657600080fd5b50516000838152600560205260409020549091506001600160a01b03808316911614610d405760008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600560205260408120546001600160a01b031680610c07576004805460408051637bb20d2f60e11b8152928301869052516001600160a01b039091169163f7641a5e916024808301926020929190829003018186803b15801561199757600080fd5b505afa1580156119ab573d6000803e3d6000fd5b505050506040513d60208110156119c157600080fd5b50519392505050565b3b151590565b604254610100900460ff16806119e957506119e9611558565b806119f7575060425460ff16155b611a325760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff16158015611a5d576042805460ff1961ff0019909116610100171660011790555b6001604355801561056f576042805461ff001916905550565b60408051808201909152600081526060602082015290565b60008083601f840112611a9f578182fd5b50813567ffffffffffffffff811115611ab6578182fd5b60208301915083602082850101111561168857600080fd5b600082601f830112611ade578081fd5b813567ffffffffffffffff80821115611af357fe5b604051601f8301601f191681016020018281118282101715611b1157fe5b604052828152848301602001861015611b28578384fd5b82602086016020830137918201602001929092529392505050565b600060208284031215611b54578081fd5b8135611b5f816121b2565b9392505050565b60008060408385031215611b78578081fd5b8235611b83816121b2565b9150602083013567ffffffffffffffff811115611b9e578182fd5b611baa85828601611ace565b9150509250929050565b60008060008060008060a08789031215611bcc578182fd5b8635611bd7816121b2565b95506020870135611be7816121b2565b94506040870135611bf7816121b2565b935060608701359250608087013567ffffffffffffffff811115611c19578283fd5b611c2589828a01611a8e565b979a9699509497509295939492505050565b600080600080600060a08688031215611c4e578081fd5b8535611c59816121b2565b94506020860135611c69816121b2565b93506040860135611c79816121b2565b925060608601359150608086013567ffffffffffffffff811115611c9b578182fd5b611ca788828901611ace565b9150509295509295909350565b600080600080600060808688031215611ccb578081fd5b8535611cd6816121b2565b94506020860135611ce6816121b2565b935060408601359250606086013567ffffffffffffffff811115611d08578182fd5b611d1488828901611a8e565b969995985093965092949392505050565b600080600080600080600060c0888a031215611d3f578081fd5b8735611d4a816121b2565b96506020880135611d5a816121b2565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115611d8a578182fd5b611d968a828b01611a8e565b989b979a50959850939692959293505050565b600060208284031215611dba578081fd5b81358015158114611b5f578182fd5b600080600060408486031215611ddd578283fd5b8335611de8816121b2565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611a8e565b9497909650939450505050565b60008151808452815b81811015611e4157602081850181015186830182015201611e25565b81811115611e525782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528581166020830152841660408201526060810183905260a060808201819052600090611eb690830184611e1c565b979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0385168152602081018490526060604082018190528101829052600082846080840137818301608090810191909152601f909201601f191601019392505050565b901515815260200190565b600060208252611b5f6020830184611e1c565b600060ff8416825260406020830152611f7d6040830184611e1c565b949350505050565b602080825260119082015270130c97d493d555115497d393d517d4d155607a1b604082015260600190565b6020808252601390820152721253959053125117d6915493d7d05353d55395606a1b604082015260600190565b602080825260159082015274494e56414c49445f4e4f4e5a45524f5f56414c554560581b604082015260600190565b6020808252600e908201526d1253959053125117d30c57d1d49560921b604082015260600190565b60208082526011908201527024a72b20a624a22fa6192fa927aaaa22a960791b604082015260600190565b60208082526013908201527224a72b20a624a22fa222a9aa24a720aa24a7a760691b604082015260600190565b6020808252601690820152751253959053125117d30c57d0d3d5539511549410549560521b604082015260600190565b6020808252601a908201527f43414c4c5f484f4f4b5f444154415f4e4f545f414c4c4f574544000000000000604082015260600190565b602080825260169082015275130c57d0d3d5539511549410549517d393d517d4d15560521b604082015260600190565b6020808252600e908201526d130c57d1d49517d393d517d4d15560921b604082015260600190565b6020808252600d908201526c1513d2d15397d393d517d1d495609a1b604082015260600190565b60208082526018908201527f4f4e4c595f434f554e544552504152545f474154455741590000000000000000604082015260600190565b90815260200190565b6001600160a01b038116811461056f57600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564a2646970667358221220d20806b98b0d03125167a132c8c9a1c06958a50b654a7e752477e67cd338e7ec64736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106101405760003560e01c806392eefe9b116100b6578063c4d66de81161006f578063c4d66de814610355578063d2ce7d6514610375578063d685c0b214610388578063d6866ea5146103a8578063f14a4bd5146103bd578063f77c4791146103d257610140565b806392eefe9b146102a05780639ce7abe5146102c0578063a0c76a96146102e0578063a2594d8214610300578063a7e28d4814610320578063c4c0087c1461034057610140565b806348bde20c1161010857806348bde20c146101e75780634adc698a146102075780635c975abb1461021c57806369bc8cd41461023e5780637b3a3c8b1461025e57806391b4ded91461028b57610140565b80630252fec114610145578063147ddef51461016757806316c38b3c1461019257806324a3d622146101b25780632e567b36146101d4575b600080fd5b34801561015157600080fd5b50610165610160366004611b43565b6103e7565b005b34801561017357600080fd5b5061017c610474565b60405161018991906121a9565b60405180910390f35b34801561019e57600080fd5b506101656101ad366004611da9565b61047a565b3480156101be57600080fd5b506101c7610572565b6040516101899190611e67565b6101656101e2366004611bb4565b610581565b3480156101f357600080fd5b50610165610202366004611b43565b6107b9565b34801561021357600080fd5b506101c7610825565b34801561022857600080fd5b50610231610834565b6040516101899190611f43565b34801561024a57600080fd5b50610165610259366004611b43565b610842565b34801561026a57600080fd5b5061027e610279366004611cb4565b6108bb565b6040516101899190611f4e565b34801561029757600080fd5b5061017c6108d7565b3480156102ac57600080fd5b506101656102bb366004611b43565b6108dd565b3480156102cc57600080fd5b506101656102db366004611dc9565b6108ee565b3480156102ec57600080fd5b5061027e6102fb366004611c37565b610a44565b34801561030c57600080fd5b5061016561031b366004611b43565b610ac4565b34801561032c57600080fd5b506101c761033b366004611b43565b610bdf565b34801561034c57600080fd5b506101c7610c0f565b34801561036157600080fd5b50610165610370366004611b43565b610c1e565b61027e610383366004611d25565b610d44565b34801561039457600080fd5b506101656103a3366004611b43565b610fbb565b3480156103b457600080fd5b50610165611034565b3480156103c957600080fd5b506101c7611155565b3480156103de57600080fd5b506101c7611164565b6103ef611173565b6001600160a01b03811661041e5760405162461bcd60e51b815260040161041590612034565b60405180910390fd5b607780546001600160a01b0319166001600160a01b0383161790556040517f43a303848c82a28f94def3043839eaebd654c19fdada874a74fb94d8bf7d343890610469908390611e67565b60405180910390a150565b60015481565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156104bc57600080fd5b505afa1580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50516001600160a01b031633148061050857506003546001600160a01b031633145b610559576040805162461bcd60e51b815260206004820152601960248201527f4f6e6c7920476f7665726e6f72206f7220477561726469616e00000000000000604482015290519081900360640190fd5b806105665761056661123d565b61056f816112b5565b50565b6003546001600160a01b031681565b600260435414156105d9576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026043556105e6611340565b6076546105fb906001600160a01b0316611391565b6001600160a01b0316336001600160a01b03161461062b5760405162461bcd60e51b815260040161041590612172565b6075546001600160a01b038781169116146106585760405162461bcd60e51b81526004016104159061214b565b34156106765760405162461bcd60e51b815260040161041590611fdd565b60755461068b906001600160a01b0316610bdf565b6001600160a01b0316638c2a993e85856040518363ffffffff1660e01b81526004016106b8929190611ee2565b600060405180830381600087803b1580156106d257600080fd5b505af11580156106e6573d6000803e3d6000fd5b505082159150610757905057604051635260769b60e11b81526001600160a01b0385169063a4c0ed3690610724908890879087908790600401611efb565b600060405180830381600087803b15801561073e57600080fd5b505af1158015610752573d6000803e3d6000fd5b505050505b836001600160a01b0316856001600160a01b0316876001600160a01b03167fc7f2e9c55c40a50fbc217dfc70cd39a222940dfa62145aa0ca49eb9535d4fcb2866040516107a491906121a9565b60405180910390a45050600160435550505050565b6107c1611173565b6001600160a01b03811661081c576040805162461bcd60e51b815260206004820152601960248201527f5061757365477561726469616e206d7573742062652073657400000000000000604482015290519081900360640190fd5b61056f816113aa565b6077546001600160a01b031681565b600054610100900460ff1690565b61084a611173565b6001600160a01b0381166108705760405162461bcd60e51b81526004016104159061200c565b607580546001600160a01b0319166001600160a01b0383161790556040517f0b7cf729ac6c387cab57a28d257c6ecac863c24b086353121057083c7bfc79f990610469908390611e67565b60606108cd8686866000808888610d44565b9695505050505050565b60025481565b6108e56113fc565b61056f8161145b565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561092a57600080fd5b505af115801561093e573d6000803e3d6000fd5b505050506040513d602081101561095457600080fd5b50516001600160a01b031633146109b2576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b5050505050505050565b6060632e567b3660e01b86868686600087604051602001610a66929190611f61565b60408051601f1981840301815290829052610a879594939291602401611e7b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905095945050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610b0057600080fd5b505af1158015610b14573d6000803e3d6000fd5b505050506040513d6020811015610b2a57600080fd5b50516001600160a01b03163314610b88576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bc357600080fd5b505af1158015610bd7573d6000803e3d6000fd5b505050505050565b6075546000906001600160a01b03838116911614610bff57506000610c0a565b610c07611503565b90505b919050565b6076546001600160a01b031681565b610c26611533565b6001600160a01b0316336001600160a01b031614610c81576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b604254610100900460ff1680610c9a5750610c9a611558565b80610ca8575060425460ff16155b610ce35760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff16158015610d0e576042805460ff1961ff0019909116610100171660011790555b610d17826108e5565b6000805461ff001916610100179055610d2e611569565b8015610d40576042805461ff00191690555b5050565b606060026043541415610d9e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002604355610dab611340565b6075546001600160a01b03898116911614610dd85760405162461bcd60e51b81526004016104159061214b565b85610df55760405162461bcd60e51b815260040161041590611fb0565b3415610e135760405162461bcd60e51b815260040161041590611fdd565b6001600160a01b038716610e395760405162461bcd60e51b81526004016104159061205f565b610e41611a76565b610e4b8484611612565b602083018190526001600160a01b0390911682525115610e7d5760405162461bcd60e51b8152600401610415906120bc565b607554610e92906001600160a01b0316610bdf565b81516040516374f4f54760e01b81526001600160a01b0392909216916374f4f54791610ec2918b90600401611ee2565b600060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506000610f3060008360000151607660009054906101000a90046001600160a01b0316610f2b8e87600001518f8f8a60200151610a44565b61168f565b905080896001600160a01b031683600001516001600160a01b03167f3073a74ecb728d10be779fe19a74a1428e20468f5b4d167bf9c73d9067847d738d60008d604051610f7f93929190611ec1565b60405180910390a480604051602001610f9891906121a9565b604051602081830303815290604052925050506001604355979650505050505050565b610fc3611173565b6001600160a01b038116610fe95760405162461bcd60e51b81526004016104159061208c565b607680546001600160a01b0319166001600160a01b0383161790556040517f60d5265d09ed32300af9a69188333d24b405b6f4196f623f3e2b78321181a61590610469908390611e67565b61105d7f000000000000000000000000000000000000000000000000000000000000000061182f565b6110867f000000000000000000000000000000000000000000000000000000000000000061182f565b6110af7f000000000000000000000000000000000000000000000000000000000000000061182f565b6110d87f000000000000000000000000000000000000000000000000000000000000000061182f565b6111017f000000000000000000000000000000000000000000000000000000000000000061182f565b61112a7f000000000000000000000000000000000000000000000000000000000000000061182f565b6111537f000000000000000000000000000000000000000000000000000000000000000061182f565b565b6075546001600160a01b031681565b6004546001600160a01b031681565b6004805460408051634fc07d7560e01b815290516001600160a01b0390921692634fc07d75928282019260209290829003018186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d60208110156111df57600080fd5b50516001600160a01b03163314611153576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6077546001600160a01b03166112655760405162461bcd60e51b815260040161041590611f85565b6076546001600160a01b031661128d5760405162461bcd60e51b8152600401610415906120f3565b6075546001600160a01b03166111535760405162461bcd60e51b815260040161041590612123565b600060019054906101000a900460ff16151581151514156112d55761056f565b6000805461ff0019166101008315158102919091179182905560ff910416156112fd57426002555b6000546040805161010090920460ff1615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916020908290030190a150565b600054610100900460ff1615611153576040805162461bcd60e51b81526020600482015260116024820152705061757365642028636f6e74726163742960781b604482015290519081900360640190fd5b7311110000000000000000000000000000000011110190565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f0613b6ee6a04f0d09f390e4d9318894b9f6ac7fd83897cd8d18896ba579c401e90600090a35050565b6004546001600160a01b03163314611153576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166114af576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b600061152e7f0000000000000000000000000000000000000000000000000000000000000000611930565b905090565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611563306119ca565b15905090565b604254610100900460ff16806115825750611582611558565b80611590575060425460ff16155b6115cb5760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff161580156115f6576042805460ff1961ff0019909116610100171660011790555b6115fe6119d0565b801561056f576042805461ff001916905550565b607754600090606090829082906001600160a01b03163314156116455761163b85870187611b66565b9092509050611682565b33915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293505050505b90925090505b9250929050565b60008060646001600160a01b031663928c169a8786866040518463ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117005781810151838201526020016116e8565b50505050905090810190601f16801561172d5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818588803b15801561174c57600080fd5b505af1158015611760573d6000803e3d6000fd5b50505050506040513d602081101561177757600080fd5b5051604080516020808252865182820152865193945084936001600160a01b03808a1694908b16937f2b986d32a0536b7e19baa48ab949fec7b903b7fad7730820b20632d100cc3a68938a93919283929083019185019080838360005b838110156117ec5781810151838201526020016117d4565b50505050905090810190601f1680156118195780820380516001836020036101000a031916815260200191505b509250505060405180910390a495945050505050565b6004805460408051637bb20d2f60e11b8152928301849052516000926001600160a01b039092169163f7641a5e916024808301926020929190829003018186803b15801561187c57600080fd5b505afa158015611890573d6000803e3d6000fd5b505050506040513d60208110156118a657600080fd5b50516000838152600560205260409020549091506001600160a01b03808316911614610d405760008281526005602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000818152600560205260408120546001600160a01b031680610c07576004805460408051637bb20d2f60e11b8152928301869052516001600160a01b039091169163f7641a5e916024808301926020929190829003018186803b15801561199757600080fd5b505afa1580156119ab573d6000803e3d6000fd5b505050506040513d60208110156119c157600080fd5b50519392505050565b3b151590565b604254610100900460ff16806119e957506119e9611558565b806119f7575060425460ff16155b611a325760405162461bcd60e51b815260040180806020018281038252602e8152602001806121c8602e913960400191505060405180910390fd5b604254610100900460ff16158015611a5d576042805460ff1961ff0019909116610100171660011790555b6001604355801561056f576042805461ff001916905550565b60408051808201909152600081526060602082015290565b60008083601f840112611a9f578182fd5b50813567ffffffffffffffff811115611ab6578182fd5b60208301915083602082850101111561168857600080fd5b600082601f830112611ade578081fd5b813567ffffffffffffffff80821115611af357fe5b604051601f8301601f191681016020018281118282101715611b1157fe5b604052828152848301602001861015611b28578384fd5b82602086016020830137918201602001929092529392505050565b600060208284031215611b54578081fd5b8135611b5f816121b2565b9392505050565b60008060408385031215611b78578081fd5b8235611b83816121b2565b9150602083013567ffffffffffffffff811115611b9e578182fd5b611baa85828601611ace565b9150509250929050565b60008060008060008060a08789031215611bcc578182fd5b8635611bd7816121b2565b95506020870135611be7816121b2565b94506040870135611bf7816121b2565b935060608701359250608087013567ffffffffffffffff811115611c19578283fd5b611c2589828a01611a8e565b979a9699509497509295939492505050565b600080600080600060a08688031215611c4e578081fd5b8535611c59816121b2565b94506020860135611c69816121b2565b93506040860135611c79816121b2565b925060608601359150608086013567ffffffffffffffff811115611c9b578182fd5b611ca788828901611ace565b9150509295509295909350565b600080600080600060808688031215611ccb578081fd5b8535611cd6816121b2565b94506020860135611ce6816121b2565b935060408601359250606086013567ffffffffffffffff811115611d08578182fd5b611d1488828901611a8e565b969995985093965092949392505050565b600080600080600080600060c0888a031215611d3f578081fd5b8735611d4a816121b2565b96506020880135611d5a816121b2565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115611d8a578182fd5b611d968a828b01611a8e565b989b979a50959850939692959293505050565b600060208284031215611dba578081fd5b81358015158114611b5f578182fd5b600080600060408486031215611ddd578283fd5b8335611de8816121b2565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611a8e565b9497909650939450505050565b60008151808452815b81811015611e4157602081850181015186830182015201611e25565b81811115611e525782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0386811682528581166020830152841660408201526060810183905260a060808201819052600090611eb690830184611e1c565b979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0385168152602081018490526060604082018190528101829052600082846080840137818301608090810191909152601f909201601f191601019392505050565b901515815260200190565b600060208252611b5f6020830184611e1c565b600060ff8416825260406020830152611f7d6040830184611e1c565b949350505050565b602080825260119082015270130c97d493d555115497d393d517d4d155607a1b604082015260600190565b6020808252601390820152721253959053125117d6915493d7d05353d55395606a1b604082015260600190565b602080825260159082015274494e56414c49445f4e4f4e5a45524f5f56414c554560581b604082015260600190565b6020808252600e908201526d1253959053125117d30c57d1d49560921b604082015260600190565b60208082526011908201527024a72b20a624a22fa6192fa927aaaa22a960791b604082015260600190565b60208082526013908201527224a72b20a624a22fa222a9aa24a720aa24a7a760691b604082015260600190565b6020808252601690820152751253959053125117d30c57d0d3d5539511549410549560521b604082015260600190565b6020808252601a908201527f43414c4c5f484f4f4b5f444154415f4e4f545f414c4c4f574544000000000000604082015260600190565b602080825260169082015275130c57d0d3d5539511549410549517d393d517d4d15560521b604082015260600190565b6020808252600e908201526d130c57d1d49517d393d517d4d15560921b604082015260600190565b6020808252600d908201526c1513d2d15397d393d517d1d495609a1b604082015260600190565b60208082526018908201527f4f4e4c595f434f554e544552504152545f474154455741590000000000000000604082015260600190565b90815260200190565b6001600160a01b038116811461056f57600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564a2646970667358221220d20806b98b0d03125167a132c8c9a1c06958a50b654a7e752477e67cd338e7ec64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/staking/IL2Staking.sol/IL2Staking.dbg.json b/abis/l2/staking/IL2Staking.sol/IL2Staking.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/staking/IL2Staking.sol/IL2Staking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/staking/IL2Staking.sol/IL2Staking.json b/abis/l2/staking/IL2Staking.sol/IL2Staking.json new file mode 100644 index 000000000..2c3e28760 --- /dev/null +++ b/abis/l2/staking/IL2Staking.sol/IL2Staking.json @@ -0,0 +1,1913 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL2Staking", + "sourceName": "contracts/l2/staking/IL2Staking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "slasher", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SlasherUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeDelegatedLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDelegatedWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + } + ], + "name": "StakeSlashed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TransferredDelegationReturnedToDelegator", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "allocations", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "delegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "delegationPools", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "updatedAtBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "internalType": "struct IStakingExtension.DelegationPoolReturn", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationUnbondingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "getDelegation", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "_delegation", + "type": "tuple" + } + ], + "name": "getWithdraweableDelegatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "isDelegator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxAllocationEpochs", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumIndexerStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_maybeOperator", + "type": "address" + } + ], + "name": "operatorAuth", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "rewardsDestination", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + } + ], + "name": "setDelegationRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setDelegationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + } + ], + "name": "setDelegationUnbondingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_slasher", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setSlasher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reward", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_maybeSlasher", + "type": "address" + } + ], + "name": "slashers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokensStaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensAllocated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakes.Indexer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "subgraphAllocations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "thawingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "undelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_newIndexer", + "type": "address" + } + ], + "name": "withdrawDelegated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.dbg.json b/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.json b/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.json new file mode 100644 index 000000000..c33d5b3aa --- /dev/null +++ b/abis/l2/staking/IL2StakingBase.sol/IL2StakingBase.json @@ -0,0 +1,59 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL2StakingBase", + "sourceName": "contracts/l2/staking/IL2StakingBase.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TransferredDelegationReturnedToDelegator", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.dbg.json b/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.json b/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.json new file mode 100644 index 000000000..8bce6fc0b --- /dev/null +++ b/abis/l2/staking/IL2StakingTypes.sol/IL2StakingTypes.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL2StakingTypes", + "sourceName": "contracts/l2/staking/IL2StakingTypes.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/staking/L2Staking.sol/L2Staking.dbg.json b/abis/l2/staking/L2Staking.sol/L2Staking.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/staking/L2Staking.sol/L2Staking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/staking/L2Staking.sol/L2Staking.json b/abis/l2/staking/L2Staking.sol/L2Staking.json new file mode 100644 index 000000000..5e020afcf --- /dev/null +++ b/abis/l2/staking/L2Staking.sol/L2Staking.json @@ -0,0 +1,1244 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2Staking", + "sourceName": "contracts/l2/staking/L2Staking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TransferredDelegationReturnedToDelegator", + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051614cfd61017d600039806119db5250806119b252806130f152508061198952806128da5250806119605250806119375280613a1b52508061190e5280612dbf5250806118e552806139f05250614cfd6000f3fe60806040526004361061021e5760003560e01c806392eefe9b11610123578063a694fc3a116100ab578063ddb8b1311161006f578063ddb8b131146106fd578063e2e1e8e91461071d578063e73e14bf1461073d578063f1d60d661461075d578063f77c47911461077d57610244565b8063a694fc3a1461065b578063a6fe292b1461067b578063ac9650d81461069b578063b6363cf2146106c8578063d6866ea5146106e857610244565b80639dcaa6c9116100f25780639dcaa6c9146105bb578063a2594d82146105db578063a2a31722146105fb578063a4c0ed361461061b578063a510be201461063b57610244565b806392eefe9b1461052e57806398c657dc1461054e5780639a48bf831461057b5780639ce7abe51461059b57610244565b806344c32a61116101a657806369286e471161017557806369286e47146104815780636948a78c146104a15780636a3ca383146104c1578063772495c3146104ee5780638d3c100a1461050e57610244565b806344c32a61146103ef578063558a72971461040f57806355c852691461042f578063687fe40e1461046157610244565b80632652d75e116101ed5780632652d75e1461035a5780632e17de781461037a57806332bc91081461039a57806339dcf476146103ba5780633ccfd60b146103da57610244565b80630e022923146102b55780631787e69f146102eb5780631ae720451461031857806323477e481461033a57610244565b366102445760405162461bcd60e51b815260040161023b90614831565b60405180910390fd5b34801561025057600080fd5b50600061025b61079f565b6001600160a01b031614156102825760405162461bcd60e51b815260040161023b90614805565b6040516001600160a01b036019541636600083376000803684845af490503d806000843e8180156102b1578184f35b8184fd5b3480156102c157600080fd5b506102d56102d0366004613d36565b6107c4565b6040516102e29190614a42565b60405180910390f35b3480156102f757600080fd5b5061030b610306366004613d36565b610854565b6040516102e291906144f0565b34801561032457600080fd5b50610338610333366004613d36565b61086f565b005b34801561034657600080fd5b50610338610355366004613de2565b6108b9565b34801561036657600080fd5b5061033861037536600461422a565b6108d9565b34801561038657600080fd5b5061033861039536600461400b565b6108ed565b3480156103a657600080fd5b506103386103b536600461422a565b610ab8565b3480156103c657600080fd5b506103386103d536600461422a565b610ac9565b3480156103e657600080fd5b50610338610ada565b3480156103fb57600080fd5b5061033861040a366004613db7565b610aed565b34801561041b57600080fd5b5061033861042a366004613d8a565b610b03565b34801561043b57600080fd5b5061044f61044a366004613d36565b610b9b565b6040516102e2969594939291906144bd565b34801561046d57600080fd5b5061033861047c366004613ebe565b610c6b565b34801561048d57600080fd5b5061033861049c366004614286565b610e71565b3480156104ad57600080fd5b506103386104bc366004613d36565b610e8b565b3480156104cd57600080fd5b506104e16104dc366004613d36565b610edd565b6040516102e291906144b2565b3480156104fa57600080fd5b50610338610509366004613d36565b610efc565b34801561051a57600080fd5b50610338610529366004614206565b610f53565b34801561053a57600080fd5b50610338610549366004613d36565b6112cc565b34801561055a57600080fd5b5061056e610569366004613d36565b6112dd565b6040516102e29190614507565b34801561058757600080fd5b5061033861059636600461422a565b6112ee565b3480156105a757600080fd5b506103386105b6366004614093565b6112ff565b3480156105c757600080fd5b506103386105d6366004614244565b611455565b3480156105e757600080fd5b506103386105f6366004613d36565b611465565b34801561060757600080fd5b50610338610616366004613db7565b611580565b34801561062757600080fd5b50610338610636366004613e65565b6115c4565b34801561064757600080fd5b5061030b610656366004613d36565b6116bb565b34801561066757600080fd5b5061033861067636600461400b565b611751565b34801561068757600080fd5b50610338610696366004614023565b61175b565b3480156106a757600080fd5b506106bb6106b6366004613f81565b611772565b6040516102e29190614452565b3480156106d457600080fd5b506104e16106e3366004613d52565b6118b1565b3480156106f457600080fd5b506103386118e0565b34801561070957600080fd5b5061033861071836600461400b565b6119ff565b34801561072957600080fd5b5061030b61073836600461400b565b611a10565b34801561074957600080fd5b506104e1610758366004613d36565b611a22565b34801561076957600080fd5b506104e1610778366004613d36565b611a3f565b34801561078957600080fd5b50610792611a5e565b6040516102e291906143e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6107cc613c84565b506001600160a01b038082166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201525b919050565b6001600160a01b03166000908152600e602052604090205490565b610877611a6d565b601880546001600160a01b0319166001600160a01b038316179055604051600080516020614c65833981519152906108ae906148b9565b60405180910390a150565b6108c1611b41565b6108d087878787878787611bf4565b50505050505050565b6108e1611a6d565b6108ea81611fdf565b50565b6108f5612019565b336000818152600e6020526040902080546109225760405162461bcd60e51b815260040161023b90614968565b600061096961096383604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612187565b85612193565b90506000811161098b5760405162461bcd60e51b815260040161023b90614651565b60006109d3826109cd856040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b906121bc565b90508015806109e45750600c548110155b610a005760405162461bcd60e51b815260040161023b90614677565b60408051608081018252845481526001850154602082015260028501549181019190915260038401546060820152600090610a3a90612219565b90508015610a4b57610a4b85612246565b600d54610a65908590859063ffffffff908116906122e016565b846001600160a01b03167fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0185600201548660030154604051610aa89291906144f9565b60405180910390a2505050505050565b610ac0611a6d565b6108ea81612338565b610ad1611a6d565b6108ea8161238f565b610ae2611b41565b610aeb33612246565b565b610af5611b41565b610aff82826123f4565b5050565b6001600160a01b038216331415610b2c5760405162461bcd60e51b815260040161023b906145fe565b3360008181526015602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907fa3581229e2c315eb01303f468621e07aa9b628a23b1608162ae063f14335513590610b8f9085906144b2565b60405180910390a35050565b6001600160a01b038082166000908152600f6020908152604080832081516101208101835281549095168552600180820154938601939093526002810154918501919091526003810154606085015260048101546080850152600581015460a0850152600681015460c0850152600781015460e0850152600801546101008401529091829182918291829182918290610c338a6126dc565b6002811115610c3e57fe5b83516020850151604086015160e090960151939092149c909b509099509297509550600094509092505050565b610c7361079f565b6001600160a01b0316336001600160a01b031614610cce576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b610cd78a6112d4565b610ce089612737565b610ce988612338565b610cf287612778565b610cfb8661238f565b610d0485611fdf565b610d49610d14602084018461422a565b610d24604085016020860161422a565b610d34606086016040870161422a565b610d44608087016060880161422a565b6127db565b601980546001600160a01b0319166001600160a01b038381169190911791829055604051600092909116906369d33c2f60e01b90610d91908890859089908290602401614b21565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610dcf91906143c8565b600060405180830381855af49150503d8060008114610e0a576040519150601f19603f3d011682016040523d82523d6000602084013e610e0f565b606091505b5050905080610e305760405162461bcd60e51b815260040161023b906145cf565b6040516001600160a01b038316907f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a25050505050505050505050565b610e79611a6d565b610e85848484846127db565b50505050565b610e93611a6d565b601980546001600160a01b0319166001600160a01b0383169081179091556040517f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a250565b60006001610eea836126dc565b6002811115610ef557fe5b1492915050565b3360008181526017602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f29c33cd533c17d8916c8e471a4e2c4d1e34caa9b8844527c0bb182b3c104c7d391a350565b6001600160a01b038116610f795760405162461bcd60e51b815260040161023b90614988565b6000610f84826126dc565b90506000816002811115610f9457fe5b1415610fb25760405162461bcd60e51b815260040161023b906149f3565b82610fbd5750610aff565b6001600160a01b0382166000908152600f6020526040812060018101549091859080808080610fea6128d3565b9050610ff7813388612903565b600d546110149082908890600160401b900463ffffffff166129cb565b945061102086866121bc565b9550611046818888600d60049054906101000a900463ffffffff1663ffffffff16612a0c565b935061105286856121bc565b60058901549096506110649087612c04565b60058901556002880154600090158061108a5750601954600160a01b900463ffffffff16155b61115357600589015460028a0154600d546019546040516349484d8160e01b815273__$79b3c9257ca58085a7f52ccac408e0258b$__946349484d81946110fe9491939092600160a01b80840463ffffffff90811694600160c01b9081900482169492830482169392041690600401614aee565b60206040518083038186803b15801561111657600080fd5b505af415801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114e91906141ee565b611156565b60005b9050611166818a60080154612c5e565b93506111728488612193565b93506111878261118289876121bc565b612c78565b83156111f157600889015461119c9085612c04565b60088a015588546111b6906001600160a01b031685612cc4565b92506111c284846121bc565b89546001600160a01b039081166000818152601760205260409020549296506111f19285928892911615612d5f565b505086546001600160a01b03808b16918891167ff5ded07502b6feba4c13b19a0c6646efd4b4119f439bcbd49076e4f0ed1eec4b3361122e612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e91906141ee565b8f8a8a8d8b8b6040516112b89897969594939291906143f8565b60405180910390a450505050505050505050565b6112d4612de3565b6108ea81612e42565b60006112e8826126dc565b92915050565b6112f6611a6d565b6108ea81612778565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561133b57600080fd5b505af115801561134f573d6000803e3d6000fd5b505050506040513d602081101561136557600080fd5b50516001600160a01b031633146113c3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561143757600080fd5b505af115801561144b573d6000803e3d6000fd5b5050505050505050565b611460338484612eea565b505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156114a157600080fd5b505af11580156114b5573d6000803e3d6000fd5b505050506040513d60208110156114cb57600080fd5b50516001600160a01b03163314611529576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561156457600080fd5b505af1158015611578573d6000803e3d6000fd5b505050505050565b611588612019565b600081116115a85760405162461bcd60e51b815260040161023b90614708565b6115ba6115b36128d3565b3383612903565b610aff8282612fd6565b6115cc612019565b6115d46130ea565b6001600160a01b0316336001600160a01b0316146116045760405162461bcd60e51b815260040161023b906145a9565b6018546001600160a01b038581169116146116315760405162461bcd60e51b815260040161023b906146d1565b600080611640838501856142d9565b909250905060ff82166116755760008180602001905181019061166391906141aa565b905061166f8682613115565b50611578565b60ff8216600114156116a3576000818060200190518101906116979190614153565b905061166f86826131ad565b60405162461bcd60e51b815260040161023b90614559565b6001600160a01b0381166000818152600e60209081526040808320815160808101835281548152600182015481850152600280830154828501526003909201546060820152948452601490925282200154601354919291839061172d9063ffffffff16611727856121ac565b906133a7565b9050600061173b8383612193565b90506117478482613400565b9695505050505050565b6108ea3382611580565b611763611b41565b61157833878787878787611bf4565b6060816001600160401b038111801561178a57600080fd5b506040519080825280602002602001820160405280156117be57816020015b60608152602001906001900390816117a95790505b50905060005b828110156118aa57600080308686858181106117dc57fe5b90506020028101906117ee9190614b6b565b6040516117fc9291906143b8565b600060405180830381855af49150503d8060008114611837576040519150601f19603f3d011682016040523d82523d6000602084013e61183c565b606091505b5091509150816118885760448151101561185557600080fd5b6004810190508080602001905181019061186f91906140e5565b60405162461bcd60e51b815260040161023b919061451b565b8084848151811061189557fe5b602090810291909101015250506001016117c4565b5092915050565b6001600160a01b0380821660009081526015602090815260408083209386168352929052205460ff1692915050565b6119097f000000000000000000000000000000000000000000000000000000000000000061343d565b6119327f000000000000000000000000000000000000000000000000000000000000000061343d565b61195b7f000000000000000000000000000000000000000000000000000000000000000061343d565b6119847f000000000000000000000000000000000000000000000000000000000000000061343d565b6119ad7f000000000000000000000000000000000000000000000000000000000000000061343d565b6119d67f000000000000000000000000000000000000000000000000000000000000000061343d565b610aeb7f000000000000000000000000000000000000000000000000000000000000000061343d565b611a07611a6d565b6108ea81612737565b60009081526010602052604090205490565b6001600160a01b03166000908152600e6020526040902054151590565b600080611a4b836126dc565b6002811115611a5657fe5b141592915050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab957600080fd5b505afa158015611acd573d6000803e3d6000fd5b505050506040513d6020811015611ae357600080fd5b50516001600160a01b03163314610aeb576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b8d57600080fd5b505afa158015611ba1573d6000803e3d6000fd5b505050506040513d6020811015611bb757600080fd5b505115610aeb576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b611bfd8761353e565b611c195760405162461bcd60e51b815260040161023b906149d4565b6001600160a01b038416611c3f5760405162461bcd60e51b815260040161023b90614988565b6000611c4a856126dc565b6002811115611c5557fe5b14611c725760405162461bcd60e51b815260040161023b90614796565b60008785604051602001611c87929190614391565b6040516020818303038152906040528051906020012090506000611caa82613567565b9050856001600160a01b0316611cf68286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135b892505050565b6001600160a01b031614611d1c5760405162461bcd60e51b815260040161023b90614776565b600c54611d7f600e60008c6001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b1015611d9d5760405162461bcd60e51b815260040161023b90614677565b8615611dcb5786611dad8a6116bb565b1015611dcb5760405162461bcd60e51b815260040161023b906148f0565b60006040518061012001604052808b6001600160a01b031681526020018a8152602001898152602001611dfc612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3457600080fd5b505afa158015611e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6c91906141ee565b815260200160008152602001600081526020016000815260200160008a11611e95576000611e9e565b611e9e8b61362e565b8152600060209182018190526001600160a01b038a81168252600f8352604091829020845181546001600160a01b03191692169190911781559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160089091015590508715611f8f576040808201516001600160a01b038c166000908152600e60205291909120611f55916136d1565b604080820151602080840151600090815260109091529190912054611f7991612c04565b6020808301516000908152601090915260409020555b866001600160a01b0316898b6001600160a01b03167f0f73ab5f706106366951b51f760e0a6f60c794f233d90958d81c82ad84fa6e87846060015185604001518b6040516112b893929190614ad8565b600d805463ffffffff60801b1916600160801b63ffffffff841602179055604051600080516020614c65833981519152906108ae90614a15565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561206557600080fd5b505afa158015612079573d6000803e3d6000fd5b505050506040513d602081101561208f57600080fd5b5051156120cc576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561211857600080fd5b505afa15801561212c573d6000803e3d6000fd5b505050506040513d602081101561214257600080fd5b505115610aeb576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60006112e88282613400565b6000818311156121a357816121a5565b825b9392505050565b604081015181516000916112e891905b600082821115612213576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008160600151600014806122315750816060015143105b1561223e5750600061084f565b506040015190565b6001600160a01b0381166000908152600e60205260408120612267906136ec565b9050600081116122895760405162461bcd60e51b815260040161023b90614708565b61229b6122946128d3565b8383613747565b816001600160a01b03167f8108595eb6bad3acefa9da467d90cc2217686d5c5ac85460f8b7849c840645fc826040516122d491906144f0565b60405180910390a25050565b600283015481901561230c576123096122fd856003015443612c5e565b856002015484866137a4565b90505b600284015461231b9084612c04565b600285015561232a4382612c04565b846003018190555050505050565b60008163ffffffff161161235e5760405162461bcd60e51b815260040161023b90614940565b600d805463ffffffff191663ffffffff8316179055604051600080516020614c65833981519152906108ae9061462a565b620f424063ffffffff821611156123b85760405162461bcd60e51b815260040161023b90614894565b600d805467ffffffff00000000191664010000000063ffffffff841602179055604051600080516020614c65833981519152906108ae90614868565b60006123ff836126dc565b9050600181600281111561240f57fe5b1461242c5760405162461bcd60e51b815260040161023b90614755565b6001600160a01b038084166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201526124b5612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252591906141ee565b60808201819052606082015160009161253d91612c5e565b9050600061254e836000015161353e565b600d54909150600160801b900463ffffffff168211158061257157506040830151155b1561259357806125935760405162461bcd60e51b815260040161023b906149d4565b60408301511561263e578080156125a957508415155b80156125b55750600082115b156125cd576125c88684600001516137dc565b6125dc565b6125da836020015161362e565b505b60408084015184516001600160a01b03166000908152600e60205291909120612604916138d7565b604080840151602080860151600090815260109091529190912054612628916121bc565b6020808501516000908152601090915260409020555b8260800151600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060040181905550856001600160a01b0316836020015184600001516001600160a01b03167ff6725dd105a6fc88bb79a6e4627f128577186c567a17c94818d201c2a4ce140386608001518760400151338b88156040516126cc959493929190614aaa565b60405180910390a4505050505050565b6001600160a01b038082166000908152600f602052604081208054919290911661270a57600091505061084f565b60038101541580159061271f57506004810154155b1561272e57600191505061084f565b50600292915050565b600081116127575760405162461bcd60e51b815260040161023b90614677565b600c819055604051600080516020614c65833981519152906108ae90614913565b620f424063ffffffff821611156127a15760405162461bcd60e51b815260040161023b90614894565b600d805463ffffffff60401b1916600160401b63ffffffff841602179055604051600080516020614c65833981519152906108ae90614729565b60008363ffffffff16116128015760405162461bcd60e51b815260040161023b9061452e565b60008263ffffffff16116128275760405162461bcd60e51b815260040161023b906147b5565b60008163ffffffff161161284d5760405162461bcd60e51b815260040161023b906146a5565b600d805463ffffffff858116600160c01b90810263ffffffff60c01b19838a16600160a01b90810263ffffffff60a01b1996871617821692909217909555601980548785169093029388169091029190931617909216919091179055604051600080516020614c65833981519152906128c59061457f565b60405180910390a150505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b905090565b801561146057604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561296257600080fd5b505af1158015612976573d6000803e3d6000fd5b505050506040513d602081101561298c57600080fd5b5051611460576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b6000806129e9620f42406129e38661172783886121bc565b90613982565b905060006129f785836121bc565b9050612a038682612c78565b95945050505050565b600082612a1b57506000612bfc565b6000612a256139e9565b905060008084118015612a4057506001600160a01b03821615155b9050808015612ac65750604051634c4ea0ed60e01b81526001600160a01b03831690634c4ea0ed90612a769089906004016144f0565b60206040518083038186803b158015612a8e57600080fd5b505afa158015612aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac69190613fef565b15612bf5576000612ae2620f42406129e388611727838a6121bc565b90506000612af087836121bc565b90508015612bea57612b00613a14565b6001600160a01b0316631d1c2fec896040518263ffffffff1660e01b8152600401612b2b91906144f0565b602060405180830381600087803b158015612b4557600080fd5b505af1158015612b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7d91906141ee565b50612b89898583613747565b60405163102ae65160e31b81526001600160a01b03851690638157328890612bb7908b9085906004016144f9565b600060405180830381600087803b158015612bd157600080fd5b505af1158015612be5573d6000803e3d6000fd5b505050505b9350612bfc92505050565b6000925050505b949350505050565b6000828201838110156121a5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818311612c6e5760006121a5565b6121a583836121bc565b8015610aff57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561156457600080fd5b6001600160a01b0382166000908152601460205260408120600281015482919015801590612d0357508054620f4240600160401b90910463ffffffff16105b15612d57578054600090612d3290620f4240906129e390600160401b900463ffffffff9081169089906133a716565b9050612d3e85826121bc565b6002830154909350612d509084612c04565b6002830155505b509392505050565b82612d6957610e85565b8015612d7e57612d798284612fd6565b610e85565b6001600160a01b0380831660009081526017602052604090205416612db1858215612da95782612dab565b845b86613747565b5050505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b6000546001600160a01b03163314610aeb576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612e96576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b620f424063ffffffff82161115612f135760405162461bcd60e51b815260040161023b906147df565b620f424063ffffffff83161115612f3c5760405162461bcd60e51b815260040161023b906149a8565b6001600160a01b038316600081815260146020526040808220805463ffffffff868116600160401b0263ffffffff60401b199189166401000000000267ffffffff0000000019909316929092171617815543600182015590519092917fdd5c1add84431df7ff63c721510522fbccafda37dfc33f0f5094d90135a8f22a91612fc8918791879190614b4b565b60405180910390a250505050565b600c546130438261303d600e6000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b90612c04565b10156130615760405162461bcd60e51b815260040161023b90614677565b6001600160a01b0382166000908152600e602052604090206130839082613a3f565b6001600160a01b0382166000908152601460205260409020600101546130b1576130b182620f424080612eea565b816001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc2826040516122d491906144f0565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b80516001600160a01b0381166000908152600e602052604090206131399084613a3f565b6001600160a01b0381166000908152601460205260409020600101546131675761316781620f424080612eea565b806001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc2846040516131a091906144f0565b60405180910390a2505050565b80516001600160a01b03908116600090815260146020908152604080832082860151909416835260048401909152812060028301549091901561320e5761320983600201546129e38560030154886133a790919063ffffffff16565b613210565b845b90508015806132265750670de0b6b3a764000085105b1561330f576132336128d3565b6001600160a01b031663a9059cbb8560200151876040518363ffffffff1660e01b8152600401613264929190614439565b602060405180830381600087803b15801561327e57600080fd5b505af1158015613292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b69190613fef565b5083602001516001600160a01b031684600001516001600160a01b03167f0921ebf1ba63d93aed0e18402fa38cb5515048daf6a04549c1bd1c1f560d72de8760405161330291906144f0565b60405180910390a3612db1565b600283015461331e9086612c04565b600284015560038301546133329082612c04565b600384015581546133439082612c04565b826000018190555083602001516001600160a01b031684600001516001600160a01b03167fcd0366dce5247d874ffc60a762aa7abbb82c1695bbb171609c1b8861e279eb7387846040516133989291906144f9565b60405180910390a35050505050565b6000826133b6575060006112e8565b828202828482816133c357fe5b04146121a55760405162461bcd60e51b8152600401808060200182810382526021815260200180614ca76021913960400191505060405180910390fd5b815160009081906134119084612c04565b9050600061341e85613a51565b905081811115613433576000925050506112e8565b612a0382826121bc565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561348a57600080fd5b505afa15801561349e573d6000803e3d6000fd5b505050506040513d60208110156134b457600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610aff5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000336001600160a01b03831614806112e8575061355c33836118b1565b151560011492915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114613610576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61174786828585613a6e565b600080613639613a14565b90506001600160a01b03811661365357600091505061084f565b6040516377561f0760e11b81526001600160a01b0382169063eeac3e0e9061367f9086906004016144f0565b602060405180830381600087803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a591906141ee565b60018201546136e09082612c04565b82600101819055505050565b60008061372b83604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612219565b905080156112e85761373d8382613be3565b6112e88382613c08565b801561146057826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561296257600080fd5b6000612a036137b38584612c04565b6129e36137c560016109cd8988612c04565b61303d6137d288886133a7565b61303d8b8b6133a7565b60006137e6613a14565b90506001600160a01b0381166137fc5750610aff565b604051636dba849360e11b81526000906001600160a01b0383169063db7509269061382b9087906004016143e4565b602060405180830381600087803b15801561384557600080fd5b505af1158015613859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061387d91906141ee565b90508061388b575050610aff565b60006138978483613c14565b905060006138a583836121bc565b90506115786138b26128d3565b6001600160a01b03808816600090815260176020526040902054849189911615612d5f565b60018201546136e090826121bc565b6000818152600160205260408120546001600160a01b0316806112e85760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561394f57600080fd5b505afa158015613963573d6000803e3d6000fd5b505050506040513d602081101561397957600080fd5b50519392505050565b60008082116139d8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816139e157fe5b049392505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b8154613a4b9082612c04565b90915550565b60006112e882604001518360200151612c0490919063ffffffff16565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115613acf5760405162461bcd60e51b8152600401808060200182810382526022815260200180614c436022913960400191505060405180910390fd5b8360ff16601b1480613ae457508360ff16601c145b613b1f5760405162461bcd60e51b8152600401808060200182810382526022815260200180614c856022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015613b7b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612a03576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b6002820154613bf290826121bc565b60028301819055610aff57600060038301555050565b8154613a4b90826121bc565b6001600160a01b0382166000908152601460205260408120600281015482919015801590613c5457508054620f424064010000000090910463ffffffff16105b15612d57578054600090612d3290620f4240906129e390640100000000900463ffffffff9081169089906133a716565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008083601f840112613ced578182fd5b5081356001600160401b03811115613d03578182fd5b602083019150836020828501011115613d1b57600080fd5b9250929050565b803563ffffffff8116811461084f57600080fd5b600060208284031215613d47578081fd5b81356121a581614c1f565b60008060408385031215613d64578081fd5b8235613d6f81614c1f565b91506020830135613d7f81614c1f565b809150509250929050565b60008060408385031215613d9c578182fd5b8235613da781614c1f565b91506020830135613d7f81614c34565b60008060408385031215613dc9578182fd5b8235613dd481614c1f565b946020939093013593505050565b600080600080600080600060c0888a031215613dfc578283fd5b8735613e0781614c1f565b965060208801359550604088013594506060880135613e2581614c1f565b93506080880135925060a08801356001600160401b03811115613e46578283fd5b613e528a828b01613cdc565b989b979a50959850939692959293505050565b60008060008060608587031215613e7a578081fd5b8435613e8581614c1f565b93506020850135925060408501356001600160401b03811115613ea6578182fd5b613eb287828801613cdc565b95989497509550505050565b6000806000806000806000806000808a8c036101a0811215613ede578485fd5b8b35613ee981614c1f565b9a5060208c01359950613efe60408d01613d22565b9850613f0c60608d01613d22565b9750613f1a60808d01613d22565b9650613f2860a08d01613d22565b9550613f3660c08d01613d22565b9450613f4460e08d01613d22565b9350608060ff1982011215613f57578283fd5b506101008b0191506101808b0135613f6e81614c1f565b809150509295989b9194979a5092959850565b60008060208385031215613f93578182fd5b82356001600160401b0380821115613fa9578384fd5b818501915085601f830112613fbc578384fd5b813581811115613fca578485fd5b8660208083028501011115613fdd578485fd5b60209290920196919550909350505050565b600060208284031215614000578081fd5b81516121a581614c34565b60006020828403121561401c578081fd5b5035919050565b60008060008060008060a0878903121561403b578384fd5b8635955060208701359450604087013561405481614c1f565b93506060870135925060808701356001600160401b03811115614075578283fd5b61408189828a01613cdc565b979a9699509497509295939492505050565b6000806000604084860312156140a7578081fd5b83356140b281614c1f565b925060208401356001600160401b038111156140cc578182fd5b6140d886828701613cdc565b9497909650939450505050565b6000602082840312156140f6578081fd5b81516001600160401b0381111561410b578182fd5b8201601f8101841361411b578182fd5b805161412e61412982614bd2565b614baf565b818152856020838501011115614142578384fd5b612a03826020830160208601614bf3565b600060408284031215614164578081fd5b604051604081018181106001600160401b038211171561418057fe5b604052825161418e81614c1f565b8152602083015161419e81614c1f565b60208201529392505050565b6000602082840312156141bb578081fd5b604051602081018181106001600160401b03821117156141d757fe5b60405282516141e581614c1f565b81529392505050565b6000602082840312156141ff578081fd5b5051919050565b60008060408385031215614218578182fd5b823591506020830135613d7f81614c1f565b60006020828403121561423b578081fd5b6121a582613d22565b600080600060608486031215614258578081fd5b61426184613d22565b925061426f60208501613d22565b915061427d60408501613d22565b90509250925092565b6000806000806080858703121561429b578182fd5b6142a485613d22565b93506142b260208601613d22565b92506142c060408601613d22565b91506142ce60608601613d22565b905092959194509250565b600080604083850312156142eb578182fd5b823560ff811681146142fb578283fd5b915060208301356001600160401b03811115614315578182fd5b8301601f81018513614325578182fd5b803561433361412982614bd2565b818152866020838501011115614347578384fd5b81602084016020830137908101602001929092525090939092509050565b6000815180845261437d816020860160208601614bf3565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6000828483379101908152919050565b600082516143da818460208701614bf3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03989098168852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156144a557603f19888603018452614493858351614365565b94509285019290850190600101614477565b5092979650505050505050565b901515815260200190565b95151586526001600160a01b0394909416602086015260408501929092526060840152608083015260a082015260c00190565b90815260200190565b918252602082015260400190565b602081016003831061451557fe5b91905290565b6000602082526121a56020830184614365565b60208082526011908201527010b0b6383430a232b737b6b4b730ba37b960791b604082015260600190565b6020808252600c908201526b494e56414c49445f434f444560a01b604082015260600190565b60208082526010908201526f726562617465506172616d657465727360801b604082015260600190565b6020808252600c908201526b4f4e4c595f4741544557415960a01b604082015260600190565b602080825260159082015274115e1d195b9cda5bdb881a5b9a5d0819985a5b1959605a1b604082015260600190565b60208082526012908201527137b832b930ba37b9101e9e9039b2b73232b960711b604082015260600190565b6020808252600d908201526c1d1a185dda5b99d4195c9a5bd9609a1b604082015260600190565b6020808252600c908201526b085cdd185ad94b585d985a5b60a21b604082015260600190565b602080825260149082015273216d696e696d756d496e64657865725374616b6560601b604082015260600190565b60208082526012908201527110b630b6b13230a232b737b6b4b730ba37b960711b604082015260600190565b6020808252601e908201527f4f4e4c595f4c315f5354414b494e475f5448524f5547485f4252494447450000604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526012908201527170726f746f636f6c50657263656e7461676560701b604082015260600190565b6020808252600790820152662161637469766560c81b604082015260600190565b60208082526006908201526510b83937b7b360d11b604082015260600190565b602080825260059082015264085b9d5b1b60da1b604082015260600190565b60208082526010908201526f10b630b6b13230a73ab6b2b930ba37b960811b604082015260600190565b6020808252600c908201526b0f9c5d595c9e51995950dd5d60a21b604082015260600190565b6020808252601290820152716f6e6c79207468726f7567682070726f787960701b604082015260600190565b60208082526017908201527f524543454956455f4554485f4e4f545f414c4c4f574544000000000000000000604082015260600190565b6020808252601290820152716375726174696f6e50657263656e7461676560701b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b60208082526019908201527f636f756e746572706172745374616b696e674164647265737300000000000000604082015260600190565b60208082526009908201526821636170616369747960b81b604082015260600190565b6020808252601390820152726d696e696d756d496e64657865725374616b6560681b604082015260600190565b6020808252600e908201526d085d1a185dda5b99d4195c9a5bd960921b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b60208082526006908201526521616c6c6f6360d01b604082015260600190565b6020808252601290820152710f9a5b99195e1a5b99d4995dd85c9910dd5d60721b604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6020808252600890820152670858dbdb1b1958dd60c21b604082015260600190565b6020808252601390820152726d6178416c6c6f636174696f6e45706f63687360681b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b94855260208501939093526001600160a01b0391909116604084015260608301521515608082015260a00190565b9283526020830191909152604082015260600190565b958652602086019490945263ffffffff92831660408601529082166060850152811660808401521660a082015260c00190565b63ffffffff948516815260ff93841660208201529190931660408201529116606082015260800190565b63ffffffff93841681529183166020830152909116604082015260600190565b6000808335601e19843603018112614b81578283fd5b8301803591506001600160401b03821115614b9a578283fd5b602001915036819003821315613d1b57600080fd5b6040518181016001600160401b0381118282101715614bca57fe5b604052919050565b60006001600160401b03821115614be557fe5b50601f01601f191660200190565b60005b83811015614c0e578181015183820152602001614bf6565b83811115610e855750506000910152565b6001600160a01b03811681146108ea57600080fd5b80151581146108ea57600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220000f47a452ac872db906e34a358abe9b1cfe703b7efb4f5b6d42e1693e12568864736f6c63430007060033", + "deployedBytecode": "0x60806040526004361061021e5760003560e01c806392eefe9b11610123578063a694fc3a116100ab578063ddb8b1311161006f578063ddb8b131146106fd578063e2e1e8e91461071d578063e73e14bf1461073d578063f1d60d661461075d578063f77c47911461077d57610244565b8063a694fc3a1461065b578063a6fe292b1461067b578063ac9650d81461069b578063b6363cf2146106c8578063d6866ea5146106e857610244565b80639dcaa6c9116100f25780639dcaa6c9146105bb578063a2594d82146105db578063a2a31722146105fb578063a4c0ed361461061b578063a510be201461063b57610244565b806392eefe9b1461052e57806398c657dc1461054e5780639a48bf831461057b5780639ce7abe51461059b57610244565b806344c32a61116101a657806369286e471161017557806369286e47146104815780636948a78c146104a15780636a3ca383146104c1578063772495c3146104ee5780638d3c100a1461050e57610244565b806344c32a61146103ef578063558a72971461040f57806355c852691461042f578063687fe40e1461046157610244565b80632652d75e116101ed5780632652d75e1461035a5780632e17de781461037a57806332bc91081461039a57806339dcf476146103ba5780633ccfd60b146103da57610244565b80630e022923146102b55780631787e69f146102eb5780631ae720451461031857806323477e481461033a57610244565b366102445760405162461bcd60e51b815260040161023b90614831565b60405180910390fd5b34801561025057600080fd5b50600061025b61079f565b6001600160a01b031614156102825760405162461bcd60e51b815260040161023b90614805565b6040516001600160a01b036019541636600083376000803684845af490503d806000843e8180156102b1578184f35b8184fd5b3480156102c157600080fd5b506102d56102d0366004613d36565b6107c4565b6040516102e29190614a42565b60405180910390f35b3480156102f757600080fd5b5061030b610306366004613d36565b610854565b6040516102e291906144f0565b34801561032457600080fd5b50610338610333366004613d36565b61086f565b005b34801561034657600080fd5b50610338610355366004613de2565b6108b9565b34801561036657600080fd5b5061033861037536600461422a565b6108d9565b34801561038657600080fd5b5061033861039536600461400b565b6108ed565b3480156103a657600080fd5b506103386103b536600461422a565b610ab8565b3480156103c657600080fd5b506103386103d536600461422a565b610ac9565b3480156103e657600080fd5b50610338610ada565b3480156103fb57600080fd5b5061033861040a366004613db7565b610aed565b34801561041b57600080fd5b5061033861042a366004613d8a565b610b03565b34801561043b57600080fd5b5061044f61044a366004613d36565b610b9b565b6040516102e2969594939291906144bd565b34801561046d57600080fd5b5061033861047c366004613ebe565b610c6b565b34801561048d57600080fd5b5061033861049c366004614286565b610e71565b3480156104ad57600080fd5b506103386104bc366004613d36565b610e8b565b3480156104cd57600080fd5b506104e16104dc366004613d36565b610edd565b6040516102e291906144b2565b3480156104fa57600080fd5b50610338610509366004613d36565b610efc565b34801561051a57600080fd5b50610338610529366004614206565b610f53565b34801561053a57600080fd5b50610338610549366004613d36565b6112cc565b34801561055a57600080fd5b5061056e610569366004613d36565b6112dd565b6040516102e29190614507565b34801561058757600080fd5b5061033861059636600461422a565b6112ee565b3480156105a757600080fd5b506103386105b6366004614093565b6112ff565b3480156105c757600080fd5b506103386105d6366004614244565b611455565b3480156105e757600080fd5b506103386105f6366004613d36565b611465565b34801561060757600080fd5b50610338610616366004613db7565b611580565b34801561062757600080fd5b50610338610636366004613e65565b6115c4565b34801561064757600080fd5b5061030b610656366004613d36565b6116bb565b34801561066757600080fd5b5061033861067636600461400b565b611751565b34801561068757600080fd5b50610338610696366004614023565b61175b565b3480156106a757600080fd5b506106bb6106b6366004613f81565b611772565b6040516102e29190614452565b3480156106d457600080fd5b506104e16106e3366004613d52565b6118b1565b3480156106f457600080fd5b506103386118e0565b34801561070957600080fd5b5061033861071836600461400b565b6119ff565b34801561072957600080fd5b5061030b61073836600461400b565b611a10565b34801561074957600080fd5b506104e1610758366004613d36565b611a22565b34801561076957600080fd5b506104e1610778366004613d36565b611a3f565b34801561078957600080fd5b50610792611a5e565b6040516102e291906143e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6107cc613c84565b506001600160a01b038082166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201525b919050565b6001600160a01b03166000908152600e602052604090205490565b610877611a6d565b601880546001600160a01b0319166001600160a01b038316179055604051600080516020614c65833981519152906108ae906148b9565b60405180910390a150565b6108c1611b41565b6108d087878787878787611bf4565b50505050505050565b6108e1611a6d565b6108ea81611fdf565b50565b6108f5612019565b336000818152600e6020526040902080546109225760405162461bcd60e51b815260040161023b90614968565b600061096961096383604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612187565b85612193565b90506000811161098b5760405162461bcd60e51b815260040161023b90614651565b60006109d3826109cd856040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b906121bc565b90508015806109e45750600c548110155b610a005760405162461bcd60e51b815260040161023b90614677565b60408051608081018252845481526001850154602082015260028501549181019190915260038401546060820152600090610a3a90612219565b90508015610a4b57610a4b85612246565b600d54610a65908590859063ffffffff908116906122e016565b846001600160a01b03167fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0185600201548660030154604051610aa89291906144f9565b60405180910390a2505050505050565b610ac0611a6d565b6108ea81612338565b610ad1611a6d565b6108ea8161238f565b610ae2611b41565b610aeb33612246565b565b610af5611b41565b610aff82826123f4565b5050565b6001600160a01b038216331415610b2c5760405162461bcd60e51b815260040161023b906145fe565b3360008181526015602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907fa3581229e2c315eb01303f468621e07aa9b628a23b1608162ae063f14335513590610b8f9085906144b2565b60405180910390a35050565b6001600160a01b038082166000908152600f6020908152604080832081516101208101835281549095168552600180820154938601939093526002810154918501919091526003810154606085015260048101546080850152600581015460a0850152600681015460c0850152600781015460e0850152600801546101008401529091829182918291829182918290610c338a6126dc565b6002811115610c3e57fe5b83516020850151604086015160e090960151939092149c909b509099509297509550600094509092505050565b610c7361079f565b6001600160a01b0316336001600160a01b031614610cce576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b610cd78a6112d4565b610ce089612737565b610ce988612338565b610cf287612778565b610cfb8661238f565b610d0485611fdf565b610d49610d14602084018461422a565b610d24604085016020860161422a565b610d34606086016040870161422a565b610d44608087016060880161422a565b6127db565b601980546001600160a01b0319166001600160a01b038381169190911791829055604051600092909116906369d33c2f60e01b90610d91908890859089908290602401614b21565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610dcf91906143c8565b600060405180830381855af49150503d8060008114610e0a576040519150601f19603f3d011682016040523d82523d6000602084013e610e0f565b606091505b5050905080610e305760405162461bcd60e51b815260040161023b906145cf565b6040516001600160a01b038316907f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a25050505050505050505050565b610e79611a6d565b610e85848484846127db565b50505050565b610e93611a6d565b601980546001600160a01b0319166001600160a01b0383169081179091556040517f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a250565b60006001610eea836126dc565b6002811115610ef557fe5b1492915050565b3360008181526017602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f29c33cd533c17d8916c8e471a4e2c4d1e34caa9b8844527c0bb182b3c104c7d391a350565b6001600160a01b038116610f795760405162461bcd60e51b815260040161023b90614988565b6000610f84826126dc565b90506000816002811115610f9457fe5b1415610fb25760405162461bcd60e51b815260040161023b906149f3565b82610fbd5750610aff565b6001600160a01b0382166000908152600f6020526040812060018101549091859080808080610fea6128d3565b9050610ff7813388612903565b600d546110149082908890600160401b900463ffffffff166129cb565b945061102086866121bc565b9550611046818888600d60049054906101000a900463ffffffff1663ffffffff16612a0c565b935061105286856121bc565b60058901549096506110649087612c04565b60058901556002880154600090158061108a5750601954600160a01b900463ffffffff16155b61115357600589015460028a0154600d546019546040516349484d8160e01b815273__$79b3c9257ca58085a7f52ccac408e0258b$__946349484d81946110fe9491939092600160a01b80840463ffffffff90811694600160c01b9081900482169492830482169392041690600401614aee565b60206040518083038186803b15801561111657600080fd5b505af415801561112a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114e91906141ee565b611156565b60005b9050611166818a60080154612c5e565b93506111728488612193565b93506111878261118289876121bc565b612c78565b83156111f157600889015461119c9085612c04565b60088a015588546111b6906001600160a01b031685612cc4565b92506111c284846121bc565b89546001600160a01b039081166000818152601760205260409020549296506111f19285928892911615612d5f565b505086546001600160a01b03808b16918891167ff5ded07502b6feba4c13b19a0c6646efd4b4119f439bcbd49076e4f0ed1eec4b3361122e612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e91906141ee565b8f8a8a8d8b8b6040516112b89897969594939291906143f8565b60405180910390a450505050505050505050565b6112d4612de3565b6108ea81612e42565b60006112e8826126dc565b92915050565b6112f6611a6d565b6108ea81612778565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561133b57600080fd5b505af115801561134f573d6000803e3d6000fd5b505050506040513d602081101561136557600080fd5b50516001600160a01b031633146113c3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561143757600080fd5b505af115801561144b573d6000803e3d6000fd5b5050505050505050565b611460338484612eea565b505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156114a157600080fd5b505af11580156114b5573d6000803e3d6000fd5b505050506040513d60208110156114cb57600080fd5b50516001600160a01b03163314611529576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561156457600080fd5b505af1158015611578573d6000803e3d6000fd5b505050505050565b611588612019565b600081116115a85760405162461bcd60e51b815260040161023b90614708565b6115ba6115b36128d3565b3383612903565b610aff8282612fd6565b6115cc612019565b6115d46130ea565b6001600160a01b0316336001600160a01b0316146116045760405162461bcd60e51b815260040161023b906145a9565b6018546001600160a01b038581169116146116315760405162461bcd60e51b815260040161023b906146d1565b600080611640838501856142d9565b909250905060ff82166116755760008180602001905181019061166391906141aa565b905061166f8682613115565b50611578565b60ff8216600114156116a3576000818060200190518101906116979190614153565b905061166f86826131ad565b60405162461bcd60e51b815260040161023b90614559565b6001600160a01b0381166000818152600e60209081526040808320815160808101835281548152600182015481850152600280830154828501526003909201546060820152948452601490925282200154601354919291839061172d9063ffffffff16611727856121ac565b906133a7565b9050600061173b8383612193565b90506117478482613400565b9695505050505050565b6108ea3382611580565b611763611b41565b61157833878787878787611bf4565b6060816001600160401b038111801561178a57600080fd5b506040519080825280602002602001820160405280156117be57816020015b60608152602001906001900390816117a95790505b50905060005b828110156118aa57600080308686858181106117dc57fe5b90506020028101906117ee9190614b6b565b6040516117fc9291906143b8565b600060405180830381855af49150503d8060008114611837576040519150601f19603f3d011682016040523d82523d6000602084013e61183c565b606091505b5091509150816118885760448151101561185557600080fd5b6004810190508080602001905181019061186f91906140e5565b60405162461bcd60e51b815260040161023b919061451b565b8084848151811061189557fe5b602090810291909101015250506001016117c4565b5092915050565b6001600160a01b0380821660009081526015602090815260408083209386168352929052205460ff1692915050565b6119097f000000000000000000000000000000000000000000000000000000000000000061343d565b6119327f000000000000000000000000000000000000000000000000000000000000000061343d565b61195b7f000000000000000000000000000000000000000000000000000000000000000061343d565b6119847f000000000000000000000000000000000000000000000000000000000000000061343d565b6119ad7f000000000000000000000000000000000000000000000000000000000000000061343d565b6119d67f000000000000000000000000000000000000000000000000000000000000000061343d565b610aeb7f000000000000000000000000000000000000000000000000000000000000000061343d565b611a07611a6d565b6108ea81612737565b60009081526010602052604090205490565b6001600160a01b03166000908152600e6020526040902054151590565b600080611a4b836126dc565b6002811115611a5657fe5b141592915050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b158015611ab957600080fd5b505afa158015611acd573d6000803e3d6000fd5b505050506040513d6020811015611ae357600080fd5b50516001600160a01b03163314610aeb576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b8d57600080fd5b505afa158015611ba1573d6000803e3d6000fd5b505050506040513d6020811015611bb757600080fd5b505115610aeb576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b611bfd8761353e565b611c195760405162461bcd60e51b815260040161023b906149d4565b6001600160a01b038416611c3f5760405162461bcd60e51b815260040161023b90614988565b6000611c4a856126dc565b6002811115611c5557fe5b14611c725760405162461bcd60e51b815260040161023b90614796565b60008785604051602001611c87929190614391565b6040516020818303038152906040528051906020012090506000611caa82613567565b9050856001600160a01b0316611cf68286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135b892505050565b6001600160a01b031614611d1c5760405162461bcd60e51b815260040161023b90614776565b600c54611d7f600e60008c6001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b1015611d9d5760405162461bcd60e51b815260040161023b90614677565b8615611dcb5786611dad8a6116bb565b1015611dcb5760405162461bcd60e51b815260040161023b906148f0565b60006040518061012001604052808b6001600160a01b031681526020018a8152602001898152602001611dfc612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b158015611e3457600080fd5b505afa158015611e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6c91906141ee565b815260200160008152602001600081526020016000815260200160008a11611e95576000611e9e565b611e9e8b61362e565b8152600060209182018190526001600160a01b038a81168252600f8352604091829020845181546001600160a01b03191692169190911781559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160089091015590508715611f8f576040808201516001600160a01b038c166000908152600e60205291909120611f55916136d1565b604080820151602080840151600090815260109091529190912054611f7991612c04565b6020808301516000908152601090915260409020555b866001600160a01b0316898b6001600160a01b03167f0f73ab5f706106366951b51f760e0a6f60c794f233d90958d81c82ad84fa6e87846060015185604001518b6040516112b893929190614ad8565b600d805463ffffffff60801b1916600160801b63ffffffff841602179055604051600080516020614c65833981519152906108ae90614a15565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561206557600080fd5b505afa158015612079573d6000803e3d6000fd5b505050506040513d602081101561208f57600080fd5b5051156120cc576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561211857600080fd5b505afa15801561212c573d6000803e3d6000fd5b505050506040513d602081101561214257600080fd5b505115610aeb576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60006112e88282613400565b6000818311156121a357816121a5565b825b9392505050565b604081015181516000916112e891905b600082821115612213576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008160600151600014806122315750816060015143105b1561223e5750600061084f565b506040015190565b6001600160a01b0381166000908152600e60205260408120612267906136ec565b9050600081116122895760405162461bcd60e51b815260040161023b90614708565b61229b6122946128d3565b8383613747565b816001600160a01b03167f8108595eb6bad3acefa9da467d90cc2217686d5c5ac85460f8b7849c840645fc826040516122d491906144f0565b60405180910390a25050565b600283015481901561230c576123096122fd856003015443612c5e565b856002015484866137a4565b90505b600284015461231b9084612c04565b600285015561232a4382612c04565b846003018190555050505050565b60008163ffffffff161161235e5760405162461bcd60e51b815260040161023b90614940565b600d805463ffffffff191663ffffffff8316179055604051600080516020614c65833981519152906108ae9061462a565b620f424063ffffffff821611156123b85760405162461bcd60e51b815260040161023b90614894565b600d805467ffffffff00000000191664010000000063ffffffff841602179055604051600080516020614c65833981519152906108ae90614868565b60006123ff836126dc565b9050600181600281111561240f57fe5b1461242c5760405162461bcd60e51b815260040161023b90614755565b6001600160a01b038084166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201526124b5612db8565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252591906141ee565b60808201819052606082015160009161253d91612c5e565b9050600061254e836000015161353e565b600d54909150600160801b900463ffffffff168211158061257157506040830151155b1561259357806125935760405162461bcd60e51b815260040161023b906149d4565b60408301511561263e578080156125a957508415155b80156125b55750600082115b156125cd576125c88684600001516137dc565b6125dc565b6125da836020015161362e565b505b60408084015184516001600160a01b03166000908152600e60205291909120612604916138d7565b604080840151602080860151600090815260109091529190912054612628916121bc565b6020808501516000908152601090915260409020555b8260800151600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060040181905550856001600160a01b0316836020015184600001516001600160a01b03167ff6725dd105a6fc88bb79a6e4627f128577186c567a17c94818d201c2a4ce140386608001518760400151338b88156040516126cc959493929190614aaa565b60405180910390a4505050505050565b6001600160a01b038082166000908152600f602052604081208054919290911661270a57600091505061084f565b60038101541580159061271f57506004810154155b1561272e57600191505061084f565b50600292915050565b600081116127575760405162461bcd60e51b815260040161023b90614677565b600c819055604051600080516020614c65833981519152906108ae90614913565b620f424063ffffffff821611156127a15760405162461bcd60e51b815260040161023b90614894565b600d805463ffffffff60401b1916600160401b63ffffffff841602179055604051600080516020614c65833981519152906108ae90614729565b60008363ffffffff16116128015760405162461bcd60e51b815260040161023b9061452e565b60008263ffffffff16116128275760405162461bcd60e51b815260040161023b906147b5565b60008163ffffffff161161284d5760405162461bcd60e51b815260040161023b906146a5565b600d805463ffffffff858116600160c01b90810263ffffffff60c01b19838a16600160a01b90810263ffffffff60a01b1996871617821692909217909555601980548785169093029388169091029190931617909216919091179055604051600080516020614c65833981519152906128c59061457f565b60405180910390a150505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b905090565b801561146057604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561296257600080fd5b505af1158015612976573d6000803e3d6000fd5b505050506040513d602081101561298c57600080fd5b5051611460576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b6000806129e9620f42406129e38661172783886121bc565b90613982565b905060006129f785836121bc565b9050612a038682612c78565b95945050505050565b600082612a1b57506000612bfc565b6000612a256139e9565b905060008084118015612a4057506001600160a01b03821615155b9050808015612ac65750604051634c4ea0ed60e01b81526001600160a01b03831690634c4ea0ed90612a769089906004016144f0565b60206040518083038186803b158015612a8e57600080fd5b505afa158015612aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac69190613fef565b15612bf5576000612ae2620f42406129e388611727838a6121bc565b90506000612af087836121bc565b90508015612bea57612b00613a14565b6001600160a01b0316631d1c2fec896040518263ffffffff1660e01b8152600401612b2b91906144f0565b602060405180830381600087803b158015612b4557600080fd5b505af1158015612b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b7d91906141ee565b50612b89898583613747565b60405163102ae65160e31b81526001600160a01b03851690638157328890612bb7908b9085906004016144f9565b600060405180830381600087803b158015612bd157600080fd5b505af1158015612be5573d6000803e3d6000fd5b505050505b9350612bfc92505050565b6000925050505b949350505050565b6000828201838110156121a5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818311612c6e5760006121a5565b6121a583836121bc565b8015610aff57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561156457600080fd5b6001600160a01b0382166000908152601460205260408120600281015482919015801590612d0357508054620f4240600160401b90910463ffffffff16105b15612d57578054600090612d3290620f4240906129e390600160401b900463ffffffff9081169089906133a716565b9050612d3e85826121bc565b6002830154909350612d509084612c04565b6002830155505b509392505050565b82612d6957610e85565b8015612d7e57612d798284612fd6565b610e85565b6001600160a01b0380831660009081526017602052604090205416612db1858215612da95782612dab565b845b86613747565b5050505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b6000546001600160a01b03163314610aeb576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116612e96576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b620f424063ffffffff82161115612f135760405162461bcd60e51b815260040161023b906147df565b620f424063ffffffff83161115612f3c5760405162461bcd60e51b815260040161023b906149a8565b6001600160a01b038316600081815260146020526040808220805463ffffffff868116600160401b0263ffffffff60401b199189166401000000000267ffffffff0000000019909316929092171617815543600182015590519092917fdd5c1add84431df7ff63c721510522fbccafda37dfc33f0f5094d90135a8f22a91612fc8918791879190614b4b565b60405180910390a250505050565b600c546130438261303d600e6000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506121ac565b90612c04565b10156130615760405162461bcd60e51b815260040161023b90614677565b6001600160a01b0382166000908152600e602052604090206130839082613a3f565b6001600160a01b0382166000908152601460205260409020600101546130b1576130b182620f424080612eea565b816001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc2826040516122d491906144f0565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b80516001600160a01b0381166000908152600e602052604090206131399084613a3f565b6001600160a01b0381166000908152601460205260409020600101546131675761316781620f424080612eea565b806001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc2846040516131a091906144f0565b60405180910390a2505050565b80516001600160a01b03908116600090815260146020908152604080832082860151909416835260048401909152812060028301549091901561320e5761320983600201546129e38560030154886133a790919063ffffffff16565b613210565b845b90508015806132265750670de0b6b3a764000085105b1561330f576132336128d3565b6001600160a01b031663a9059cbb8560200151876040518363ffffffff1660e01b8152600401613264929190614439565b602060405180830381600087803b15801561327e57600080fd5b505af1158015613292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b69190613fef565b5083602001516001600160a01b031684600001516001600160a01b03167f0921ebf1ba63d93aed0e18402fa38cb5515048daf6a04549c1bd1c1f560d72de8760405161330291906144f0565b60405180910390a3612db1565b600283015461331e9086612c04565b600284015560038301546133329082612c04565b600384015581546133439082612c04565b826000018190555083602001516001600160a01b031684600001516001600160a01b03167fcd0366dce5247d874ffc60a762aa7abbb82c1695bbb171609c1b8861e279eb7387846040516133989291906144f9565b60405180910390a35050505050565b6000826133b6575060006112e8565b828202828482816133c357fe5b04146121a55760405162461bcd60e51b8152600401808060200182810382526021815260200180614ca76021913960400191505060405180910390fd5b815160009081906134119084612c04565b9050600061341e85613a51565b905081811115613433576000925050506112e8565b612a0382826121bc565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561348a57600080fd5b505afa15801561349e573d6000803e3d6000fd5b505050506040513d60208110156134b457600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614610aff5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000336001600160a01b03831614806112e8575061355c33836118b1565b151560011492915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114613610576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61174786828585613a6e565b600080613639613a14565b90506001600160a01b03811661365357600091505061084f565b6040516377561f0760e11b81526001600160a01b0382169063eeac3e0e9061367f9086906004016144f0565b602060405180830381600087803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a591906141ee565b60018201546136e09082612c04565b82600101819055505050565b60008061372b83604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612219565b905080156112e85761373d8382613be3565b6112e88382613c08565b801561146057826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561296257600080fd5b6000612a036137b38584612c04565b6129e36137c560016109cd8988612c04565b61303d6137d288886133a7565b61303d8b8b6133a7565b60006137e6613a14565b90506001600160a01b0381166137fc5750610aff565b604051636dba849360e11b81526000906001600160a01b0383169063db7509269061382b9087906004016143e4565b602060405180830381600087803b15801561384557600080fd5b505af1158015613859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061387d91906141ee565b90508061388b575050610aff565b60006138978483613c14565b905060006138a583836121bc565b90506115786138b26128d3565b6001600160a01b03808816600090815260176020526040902054849189911615612d5f565b60018201546136e090826121bc565b6000818152600160205260408120546001600160a01b0316806112e85760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561394f57600080fd5b505afa158015613963573d6000803e3d6000fd5b505050506040513d602081101561397957600080fd5b50519392505050565b60008082116139d8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816139e157fe5b049392505050565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b60006128fe7f00000000000000000000000000000000000000000000000000000000000000006138e6565b8154613a4b9082612c04565b90915550565b60006112e882604001518360200151612c0490919063ffffffff16565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115613acf5760405162461bcd60e51b8152600401808060200182810382526022815260200180614c436022913960400191505060405180910390fd5b8360ff16601b1480613ae457508360ff16601c145b613b1f5760405162461bcd60e51b8152600401808060200182810382526022815260200180614c856022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015613b7b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612a03576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b6002820154613bf290826121bc565b60028301819055610aff57600060038301555050565b8154613a4b90826121bc565b6001600160a01b0382166000908152601460205260408120600281015482919015801590613c5457508054620f424064010000000090910463ffffffff16105b15612d57578054600090612d3290620f4240906129e390640100000000900463ffffffff9081169089906133a716565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60008083601f840112613ced578182fd5b5081356001600160401b03811115613d03578182fd5b602083019150836020828501011115613d1b57600080fd5b9250929050565b803563ffffffff8116811461084f57600080fd5b600060208284031215613d47578081fd5b81356121a581614c1f565b60008060408385031215613d64578081fd5b8235613d6f81614c1f565b91506020830135613d7f81614c1f565b809150509250929050565b60008060408385031215613d9c578182fd5b8235613da781614c1f565b91506020830135613d7f81614c34565b60008060408385031215613dc9578182fd5b8235613dd481614c1f565b946020939093013593505050565b600080600080600080600060c0888a031215613dfc578283fd5b8735613e0781614c1f565b965060208801359550604088013594506060880135613e2581614c1f565b93506080880135925060a08801356001600160401b03811115613e46578283fd5b613e528a828b01613cdc565b989b979a50959850939692959293505050565b60008060008060608587031215613e7a578081fd5b8435613e8581614c1f565b93506020850135925060408501356001600160401b03811115613ea6578182fd5b613eb287828801613cdc565b95989497509550505050565b6000806000806000806000806000808a8c036101a0811215613ede578485fd5b8b35613ee981614c1f565b9a5060208c01359950613efe60408d01613d22565b9850613f0c60608d01613d22565b9750613f1a60808d01613d22565b9650613f2860a08d01613d22565b9550613f3660c08d01613d22565b9450613f4460e08d01613d22565b9350608060ff1982011215613f57578283fd5b506101008b0191506101808b0135613f6e81614c1f565b809150509295989b9194979a5092959850565b60008060208385031215613f93578182fd5b82356001600160401b0380821115613fa9578384fd5b818501915085601f830112613fbc578384fd5b813581811115613fca578485fd5b8660208083028501011115613fdd578485fd5b60209290920196919550909350505050565b600060208284031215614000578081fd5b81516121a581614c34565b60006020828403121561401c578081fd5b5035919050565b60008060008060008060a0878903121561403b578384fd5b8635955060208701359450604087013561405481614c1f565b93506060870135925060808701356001600160401b03811115614075578283fd5b61408189828a01613cdc565b979a9699509497509295939492505050565b6000806000604084860312156140a7578081fd5b83356140b281614c1f565b925060208401356001600160401b038111156140cc578182fd5b6140d886828701613cdc565b9497909650939450505050565b6000602082840312156140f6578081fd5b81516001600160401b0381111561410b578182fd5b8201601f8101841361411b578182fd5b805161412e61412982614bd2565b614baf565b818152856020838501011115614142578384fd5b612a03826020830160208601614bf3565b600060408284031215614164578081fd5b604051604081018181106001600160401b038211171561418057fe5b604052825161418e81614c1f565b8152602083015161419e81614c1f565b60208201529392505050565b6000602082840312156141bb578081fd5b604051602081018181106001600160401b03821117156141d757fe5b60405282516141e581614c1f565b81529392505050565b6000602082840312156141ff578081fd5b5051919050565b60008060408385031215614218578182fd5b823591506020830135613d7f81614c1f565b60006020828403121561423b578081fd5b6121a582613d22565b600080600060608486031215614258578081fd5b61426184613d22565b925061426f60208501613d22565b915061427d60408501613d22565b90509250925092565b6000806000806080858703121561429b578182fd5b6142a485613d22565b93506142b260208601613d22565b92506142c060408601613d22565b91506142ce60608601613d22565b905092959194509250565b600080604083850312156142eb578182fd5b823560ff811681146142fb578283fd5b915060208301356001600160401b03811115614315578182fd5b8301601f81018513614325578182fd5b803561433361412982614bd2565b818152866020838501011115614347578384fd5b81602084016020830137908101602001929092525090939092509050565b6000815180845261437d816020860160208601614bf3565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6000828483379101908152919050565b600082516143da818460208701614bf3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03989098168852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156144a557603f19888603018452614493858351614365565b94509285019290850190600101614477565b5092979650505050505050565b901515815260200190565b95151586526001600160a01b0394909416602086015260408501929092526060840152608083015260a082015260c00190565b90815260200190565b918252602082015260400190565b602081016003831061451557fe5b91905290565b6000602082526121a56020830184614365565b60208082526011908201527010b0b6383430a232b737b6b4b730ba37b960791b604082015260600190565b6020808252600c908201526b494e56414c49445f434f444560a01b604082015260600190565b60208082526010908201526f726562617465506172616d657465727360801b604082015260600190565b6020808252600c908201526b4f4e4c595f4741544557415960a01b604082015260600190565b602080825260159082015274115e1d195b9cda5bdb881a5b9a5d0819985a5b1959605a1b604082015260600190565b60208082526012908201527137b832b930ba37b9101e9e9039b2b73232b960711b604082015260600190565b6020808252600d908201526c1d1a185dda5b99d4195c9a5bd9609a1b604082015260600190565b6020808252600c908201526b085cdd185ad94b585d985a5b60a21b604082015260600190565b602080825260149082015273216d696e696d756d496e64657865725374616b6560601b604082015260600190565b60208082526012908201527110b630b6b13230a232b737b6b4b730ba37b960711b604082015260600190565b6020808252601e908201527f4f4e4c595f4c315f5354414b494e475f5448524f5547485f4252494447450000604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526012908201527170726f746f636f6c50657263656e7461676560701b604082015260600190565b6020808252600790820152662161637469766560c81b604082015260600190565b60208082526006908201526510b83937b7b360d11b604082015260600190565b602080825260059082015264085b9d5b1b60da1b604082015260600190565b60208082526010908201526f10b630b6b13230a73ab6b2b930ba37b960811b604082015260600190565b6020808252600c908201526b0f9c5d595c9e51995950dd5d60a21b604082015260600190565b6020808252601290820152716f6e6c79207468726f7567682070726f787960701b604082015260600190565b60208082526017908201527f524543454956455f4554485f4e4f545f414c4c4f574544000000000000000000604082015260600190565b6020808252601290820152716375726174696f6e50657263656e7461676560701b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b60208082526019908201527f636f756e746572706172745374616b696e674164647265737300000000000000604082015260600190565b60208082526009908201526821636170616369747960b81b604082015260600190565b6020808252601390820152726d696e696d756d496e64657865725374616b6560681b604082015260600190565b6020808252600e908201526d085d1a185dda5b99d4195c9a5bd960921b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b60208082526006908201526521616c6c6f6360d01b604082015260600190565b6020808252601290820152710f9a5b99195e1a5b99d4995dd85c9910dd5d60721b604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6020808252600890820152670858dbdb1b1958dd60c21b604082015260600190565b6020808252601390820152726d6178416c6c6f636174696f6e45706f63687360681b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b94855260208501939093526001600160a01b0391909116604084015260608301521515608082015260a00190565b9283526020830191909152604082015260600190565b958652602086019490945263ffffffff92831660408601529082166060850152811660808401521660a082015260c00190565b63ffffffff948516815260ff93841660208201529190931660408201529116606082015260800190565b63ffffffff93841681529183166020830152909116604082015260600190565b6000808335601e19843603018112614b81578283fd5b8301803591506001600160401b03821115614b9a578283fd5b602001915036819003821315613d1b57600080fd5b6040518181016001600160401b0381118282101715614bca57fe5b604052919050565b60006001600160401b03821115614be557fe5b50601f01601f191660200190565b60005b83811015614c0e578181015183820152602001614bf6565b83811115610e855750506000910152565b6001600160a01b03811681146108ea57600080fd5b80151581146108ea57600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220000f47a452ac872db906e34a358abe9b1cfe703b7efb4f5b6d42e1693e12568864736f6c63430007060033", + "linkReferences": { + "contracts/staking/libs/Exponential.sol": { + "LibExponential": [ + { + "length": 20, + "start": 4650 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/staking/libs/Exponential.sol": { + "LibExponential": [ + { + "length": 20, + "start": 4269 + } + ] + } + } +} diff --git a/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.dbg.json b/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.json b/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.json new file mode 100644 index 000000000..84825e598 --- /dev/null +++ b/abis/l2/token/GraphTokenUpgradeable.sol/GraphTokenUpgradeable.json @@ -0,0 +1,585 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphTokenUpgradeable", + "sourceName": "contracts/l2/token/GraphTokenUpgradeable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/l2/token/L2GraphToken.sol/L2GraphToken.dbg.json b/abis/l2/token/L2GraphToken.sol/L2GraphToken.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/l2/token/L2GraphToken.sol/L2GraphToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/l2/token/L2GraphToken.sol/L2GraphToken.json b/abis/l2/token/L2GraphToken.sol/L2GraphToken.json new file mode 100644 index 000000000..47374827e --- /dev/null +++ b/abis/l2/token/L2GraphToken.sol/L2GraphToken.json @@ -0,0 +1,750 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L2GraphToken", + "sourceName": "contracts/l2/token/L2GraphToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BridgeBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "BridgeMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "gateway", + "type": "address" + } + ], + "name": "GatewaySet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1Address", + "type": "address" + } + ], + "name": "L1AddressSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "bridgeBurn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "bridgeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "gateway", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l1Address", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_gw", + "type": "address" + } + ], + "name": "setGateway", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "setL1Address", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101206040527fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726080527fefcec85968da792893fa503eb21730083fc6c50ed5461e56163b28335b2a5f9660a0527f044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d60c0527fe33842a7acd1d5a1d28f25a931703e5605152dc48d64dc4716efdae1f565959160e0527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610100523480156100c657600080fd5b5060805160a05160c05160e0516101005161261e61010660003980611547525080611eae525080611e5e525080611e3d525080611e1c525061261e6000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638c2a993e1161011a578063a9059cbb116100ad578063ca52d7d71161007c578063ca52d7d71461067a578063d505accf146106a0578063dd62ed3e146106f1578063e3056a341461071f578063f2fde38b14610727576101fb565b8063a9059cbb146105fa578063aa271e1a14610626578063c2eeeebd1461064c578063c4d66de814610654576101fb565b806398650275116100e957806398650275146105205780639ce7abe514610528578063a2594d82146105a8578063a457c2d7146105ce576101fb565b80638c2a993e146104a057806390646b4a146104cc57806395d89b41146104f2578063983b2d56146104fa576101fb565b8063395093511161019257806374f4f5471161016157806374f4f5471461041a57806379ba50971461044657806379cc67901461044e5780637ecebe001461047a576101fb565b8063395093511461037f57806340c10f19146103ab57806342966c68146103d757806370a08231146103f4576101fb565b806318160ddd116101ce57806318160ddd146102e957806323b872dd146103035780633092afd514610339578063313ce56714610361576101fb565b806306fdde0314610200578063095ea7b31461027d5780630c340a24146102bd578063116191b6146102e1575b600080fd5b61020861074d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024257818101518382015260200161022a565b50505050905090810190601f16801561026f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a96004803603604081101561029357600080fd5b506001600160a01b0381351690602001356107e3565b604080519115158252519081900360200190f35b6102c5610800565b604080516001600160a01b039092168252519081900360200190f35b6102c561080f565b6102f161081e565b60408051918252519081900360200190f35b6102a96004803603606081101561031957600080fd5b506001600160a01b03813581169160208101359091169060400135610824565b61035f6004803603602081101561034f57600080fd5b50356001600160a01b03166108ab565b005b610369610958565b6040805160ff9092168252519081900360200190f35b6102a96004803603604081101561039557600080fd5b506001600160a01b038135169060200135610961565b61035f600480360360408110156103c157600080fd5b506001600160a01b0381351690602001356109af565b61035f600480360360208110156103ed57600080fd5b5035610a0e565b6102f16004803603602081101561040a57600080fd5b50356001600160a01b0316610a1f565b61035f6004803603604081101561043057600080fd5b506001600160a01b038135169060200135610a3a565b61035f610ad4565b61035f6004803603604081101561046457600080fd5b506001600160a01b038135169060200135610be2565b6102f16004803603602081101561049057600080fd5b50356001600160a01b0316610c3c565b61035f600480360360408110156104b657600080fd5b506001600160a01b038135169060200135610c4e565b61035f600480360360208110156104e257600080fd5b50356001600160a01b0316610ce8565b610208610de1565b61035f6004803603602081101561051057600080fd5b50356001600160a01b0316610e42565b61035f610eef565b61035f6004803603604081101561053e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561056957600080fd5b82018360208201111561057b57600080fd5b8035906020019184600183028401116401000000008311171561059d57600080fd5b509092509050610f43565b61035f600480360360208110156105be57600080fd5b50356001600160a01b0316611099565b6102a9600480360360408110156105e457600080fd5b506001600160a01b0381351690602001356111b4565b6102a96004803603604081101561061057600080fd5b506001600160a01b03813516906020013561121c565b6102a96004803603602081101561063c57600080fd5b50356001600160a01b0316611230565b6102c561124e565b61035f6004803603602081101561066a57600080fd5b50356001600160a01b031661125d565b61035f6004803603602081101561069057600080fd5b50356001600160a01b03166113d3565b61035f600480360360e08110156106b657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356114cf565b6102f16004803603604081101561070757600080fd5b506001600160a01b0381358116916020013516611680565b6102c56116ab565b61035f6004803603602081101561073d57600080fd5b50356001600160a01b03166116ba565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d95780601f106107ae576101008083540402835291602001916107d9565b820191906000526020600020905b8154815290600101906020018083116107bc57829003601f168201915b5050505050905090565b60006107f76107f06117b8565b84846117bc565b50600192915050565b6000546001600160a01b031681565b60ca546001600160a01b031681565b60365490565b60006108318484846118a8565b6108a18461083d6117b8565b61089c8560405180606001604052806028815260200161250e602891396001600160a01b038a1660009081526035602052604081209061087b6117b8565b6001600160a01b031681526020810191909152604001600020549190611a05565b6117bc565b5060019392505050565b6000546001600160a01b03163314610903576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b61090c81611230565b61094c576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa0afa6a4a72a22a960a11b604482015290519081900360640190fd5b61095581611a9c565b50565b60395460ff1690565b60006107f761096e6117b8565b8461089c856035600061097f6117b8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ae5565b6109b833611230565b610a00576040805162461bcd60e51b815260206004820152601460248201527313db9b1e481b5a5b9d195c8818d85b8818d85b1b60621b604482015290519081900360640190fd5b610a0a8282611b46565b5050565b610955610a196117b8565b82611c38565b6001600160a01b031660009081526034602052604090205490565b60ca546001600160a01b03163314610a87576040805162461bcd60e51b815260206004820152600b60248201526a4e4f545f4741544557415960a81b604482015290519081900360640190fd5b610a918282610be2565b6040805182815290516001600160a01b038416917fe87aeeb22c5753db7f543198a4c3089d2233040ea9d1cab0eaa3b96d94d4fc6e919081900360200190a25050565b6001546001600160a01b03168015801590610af75750336001600160a01b038216145b610b48576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000610c198260405180606001604052806024815260200161253660249139610c1286610c0d6117b8565b611680565b9190611a05565b9050610c2d83610c276117b8565b836117bc565b610c378383611c38565b505050565b609a6020526000908152604090205481565b60ca546001600160a01b03163314610c9b576040805162461bcd60e51b815260206004820152600b60248201526a4e4f545f4741544557415960a81b604482015290519081900360640190fd5b610ca58282611b46565b6040805182815290516001600160a01b038416917fae4b6e741e38054ad6705655cc56c91c184f6768f76b41e10803e2766d89e19f919081900360200190a25050565b6000546001600160a01b03163314610d40576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610d8d576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4741544557415960881b604482015290519081900360640190fd5b60ca80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5317fa585931182194fed99f2ea5f2efd38af9cff9724273704c8501c521e34b9181900360200190a150565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d95780601f106107ae576101008083540402835291602001916107d9565b6000546001600160a01b03163314610e9a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610ee6576040805162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa6a4a72a22a960911b604482015290519081900360640190fd5b61095581611d34565b610ef833611230565b610f38576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa0afa6a4a72a22a960a11b604482015290519081900360640190fd5b610f4133611a9c565b565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f7f57600080fd5b505af1158015610f93573d6000803e3d6000fd5b505050506040513d6020811015610fa957600080fd5b50516001600160a01b03163314611007576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561107b57600080fd5b505af115801561108f573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156110d557600080fd5b505af11580156110e9573d6000803e3d6000fd5b505050506040513d60208110156110ff57600080fd5b50516001600160a01b0316331461115d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b505050505050565b60006107f76111c16117b8565b8461089c856040518060600160405280602581526020016125c460259139603560006111eb6117b8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a05565b60006107f76112296117b8565b84846118a8565b6001600160a01b031660009081526099602052604090205460ff1690565b60cb546001600160a01b031681565b611265611d80565b6001600160a01b0316336001600160a01b0316146112c0576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600154600160a81b900460ff16806112db57506112db611da5565b806112f05750600154600160a01b900460ff16155b61132b5760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015611362576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b6001600160a01b0382166113b1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6113bc826000611db6565b8015610a0a576001805460ff60a81b191690555050565b6000546001600160a01b0316331461142b576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b03811661147b576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f4c315f4144445245535360701b604482015290519081900360640190fd5b60cb80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f603c0b2e4494ac82839a70be8b6c660d7d042ccfe71c3ce0e5157f59090e74459181900360200190a150565b8315806114dc5750834211155b611523576040805162461bcd60e51b815260206004820152601360248201527211d4950e88195e1c1a5c9959081c195c9b5a5d606a1b604482015290519081900360640190fd5b6098546001600160a01b038089166000818152609a602090815260408083205481517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948c166060850152608084018b905260a084019490945260c08084018a90528451808503909101815260e08401855280519082012061190160f01b61010085015261010284019590955261012280840195909552835180840390950185526101429092019092528251920191909120906115ed82868686611ef3565b9050806001600160a01b0316896001600160a01b03161461164b576040805162461bcd60e51b815260206004820152601360248201527211d4950e881a5b9d985b1a59081c195c9b5a5d606a1b604482015290519081900360640190fd5b6001600160a01b0389166000908152609a60205260409020805460010190556116758989896117bc565b505050505050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b6000546001600160a01b03163314611712576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116611764576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b3390565b6001600160a01b0383166118015760405162461bcd60e51b81526004018080602001828103825260248152602001806125a06024913960400191505060405180910390fd5b6001600160a01b0382166118465760405162461bcd60e51b81526004018080602001828103825260228152602001806124546022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166118ed5760405162461bcd60e51b815260040180806020018281038252602581526020018061257b6025913960400191505060405180910390fd5b6001600160a01b0382166119325760405162461bcd60e51b815260040180806020018281038252602381526020018061240f6023913960400191505060405180910390fd5b61193d838383610c37565b61197a81604051806060016040528060268152602001612476602691396001600160a01b0386166000908152603460205260409020549190611a05565b6001600160a01b0380851660009081526034602052604080822093909355908416815220546119a99082611ae5565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115611a945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a59578181015183820152602001611a41565b50505050905090810190601f168015611a865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116600081815260996020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b600082820183811015611b3f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611ba1576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611bad60008383610c37565b603654611bba9082611ae5565b6036556001600160a01b038216600090815260346020526040902054611be09082611ae5565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216611c7d5760405162461bcd60e51b815260040180806020018281038252602181526020018061255a6021913960400191505060405180910390fd5b611c8982600083610c37565b611cc681604051806060016040528060228152602001612432602291396001600160a01b0385166000908152603460205260409020549190611a05565b6001600160a01b038316600090815260346020526040902055603654611cec9082612071565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038116600081815260996020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611db0306120ce565b15905090565b611dfe6040518060400160405280600b81526020016a23b930b834102a37b5b2b760a91b8152506040518060400160405280600381526020016211d49560ea1b8152506120d4565b611e07826121a0565b611e118282611b46565b611e1a82611d34565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611e856121c2565b6040805160208082019690965280820194909452606084019290925260808301523060a08301527f000000000000000000000000000000000000000000000000000000000000000060c0808401919091528151808403909101815260e0909201905280519101206098555050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115611f545760405162461bcd60e51b815260040180806020018281038252602281526020018061249c6022913960400191505060405180910390fd5b8360ff16601b1480611f6957508360ff16601c145b611fa45760405162461bcd60e51b81526004018080602001828103825260228152602001806124ec6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612000573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612068576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b6000828211156120c8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600154600160a81b900460ff16806120ef57506120ef611da5565b806121045750600154600160a01b900460ff16155b61213f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612176576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b61217e6121c6565b612188838361227e565b8015610c37576001805460ff60a81b19169055505050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b4690565b600154600160a81b900460ff16806121e157506121e1611da5565b806121f65750600154600160a01b900460ff16155b6122315760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612268576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b8015610955576001805460ff60a81b1916905550565b600154600160a81b900460ff16806122995750612299611da5565b806122ae5750600154600160a01b900460ff16155b6122e95760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612320576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b825161233390603790602086019061236d565b50815161234790603890602085019061236d565b506039805460ff191660121790558015610c37576001805460ff60a81b19169055505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826123a357600085556123e9565b82601f106123bc57805160ff19168380011785556123e9565b828001600101855582156123e9579182015b828111156123e95782518255916020019190600101906123ce565b506123f59291506123f9565b5090565b5b808211156123f557600081556001016123fa56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122012b2c58a54bfd503f1340d54a6869358eba038b05f4c4c11eb371220d3c4663264736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638c2a993e1161011a578063a9059cbb116100ad578063ca52d7d71161007c578063ca52d7d71461067a578063d505accf146106a0578063dd62ed3e146106f1578063e3056a341461071f578063f2fde38b14610727576101fb565b8063a9059cbb146105fa578063aa271e1a14610626578063c2eeeebd1461064c578063c4d66de814610654576101fb565b806398650275116100e957806398650275146105205780639ce7abe514610528578063a2594d82146105a8578063a457c2d7146105ce576101fb565b80638c2a993e146104a057806390646b4a146104cc57806395d89b41146104f2578063983b2d56146104fa576101fb565b8063395093511161019257806374f4f5471161016157806374f4f5471461041a57806379ba50971461044657806379cc67901461044e5780637ecebe001461047a576101fb565b8063395093511461037f57806340c10f19146103ab57806342966c68146103d757806370a08231146103f4576101fb565b806318160ddd116101ce57806318160ddd146102e957806323b872dd146103035780633092afd514610339578063313ce56714610361576101fb565b806306fdde0314610200578063095ea7b31461027d5780630c340a24146102bd578063116191b6146102e1575b600080fd5b61020861074d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024257818101518382015260200161022a565b50505050905090810190601f16801561026f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102a96004803603604081101561029357600080fd5b506001600160a01b0381351690602001356107e3565b604080519115158252519081900360200190f35b6102c5610800565b604080516001600160a01b039092168252519081900360200190f35b6102c561080f565b6102f161081e565b60408051918252519081900360200190f35b6102a96004803603606081101561031957600080fd5b506001600160a01b03813581169160208101359091169060400135610824565b61035f6004803603602081101561034f57600080fd5b50356001600160a01b03166108ab565b005b610369610958565b6040805160ff9092168252519081900360200190f35b6102a96004803603604081101561039557600080fd5b506001600160a01b038135169060200135610961565b61035f600480360360408110156103c157600080fd5b506001600160a01b0381351690602001356109af565b61035f600480360360208110156103ed57600080fd5b5035610a0e565b6102f16004803603602081101561040a57600080fd5b50356001600160a01b0316610a1f565b61035f6004803603604081101561043057600080fd5b506001600160a01b038135169060200135610a3a565b61035f610ad4565b61035f6004803603604081101561046457600080fd5b506001600160a01b038135169060200135610be2565b6102f16004803603602081101561049057600080fd5b50356001600160a01b0316610c3c565b61035f600480360360408110156104b657600080fd5b506001600160a01b038135169060200135610c4e565b61035f600480360360208110156104e257600080fd5b50356001600160a01b0316610ce8565b610208610de1565b61035f6004803603602081101561051057600080fd5b50356001600160a01b0316610e42565b61035f610eef565b61035f6004803603604081101561053e57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561056957600080fd5b82018360208201111561057b57600080fd5b8035906020019184600183028401116401000000008311171561059d57600080fd5b509092509050610f43565b61035f600480360360208110156105be57600080fd5b50356001600160a01b0316611099565b6102a9600480360360408110156105e457600080fd5b506001600160a01b0381351690602001356111b4565b6102a96004803603604081101561061057600080fd5b506001600160a01b03813516906020013561121c565b6102a96004803603602081101561063c57600080fd5b50356001600160a01b0316611230565b6102c561124e565b61035f6004803603602081101561066a57600080fd5b50356001600160a01b031661125d565b61035f6004803603602081101561069057600080fd5b50356001600160a01b03166113d3565b61035f600480360360e08110156106b657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356114cf565b6102f16004803603604081101561070757600080fd5b506001600160a01b0381358116916020013516611680565b6102c56116ab565b61035f6004803603602081101561073d57600080fd5b50356001600160a01b03166116ba565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d95780601f106107ae576101008083540402835291602001916107d9565b820191906000526020600020905b8154815290600101906020018083116107bc57829003601f168201915b5050505050905090565b60006107f76107f06117b8565b84846117bc565b50600192915050565b6000546001600160a01b031681565b60ca546001600160a01b031681565b60365490565b60006108318484846118a8565b6108a18461083d6117b8565b61089c8560405180606001604052806028815260200161250e602891396001600160a01b038a1660009081526035602052604081209061087b6117b8565b6001600160a01b031681526020810191909152604001600020549190611a05565b6117bc565b5060019392505050565b6000546001600160a01b03163314610903576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b61090c81611230565b61094c576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa0afa6a4a72a22a960a11b604482015290519081900360640190fd5b61095581611a9c565b50565b60395460ff1690565b60006107f761096e6117b8565b8461089c856035600061097f6117b8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ae5565b6109b833611230565b610a00576040805162461bcd60e51b815260206004820152601460248201527313db9b1e481b5a5b9d195c8818d85b8818d85b1b60621b604482015290519081900360640190fd5b610a0a8282611b46565b5050565b610955610a196117b8565b82611c38565b6001600160a01b031660009081526034602052604090205490565b60ca546001600160a01b03163314610a87576040805162461bcd60e51b815260206004820152600b60248201526a4e4f545f4741544557415960a81b604482015290519081900360640190fd5b610a918282610be2565b6040805182815290516001600160a01b038416917fe87aeeb22c5753db7f543198a4c3089d2233040ea9d1cab0eaa3b96d94d4fc6e919081900360200190a25050565b6001546001600160a01b03168015801590610af75750336001600160a01b038216145b610b48576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000610c198260405180606001604052806024815260200161253660249139610c1286610c0d6117b8565b611680565b9190611a05565b9050610c2d83610c276117b8565b836117bc565b610c378383611c38565b505050565b609a6020526000908152604090205481565b60ca546001600160a01b03163314610c9b576040805162461bcd60e51b815260206004820152600b60248201526a4e4f545f4741544557415960a81b604482015290519081900360640190fd5b610ca58282611b46565b6040805182815290516001600160a01b038416917fae4b6e741e38054ad6705655cc56c91c184f6768f76b41e10803e2766d89e19f919081900360200190a25050565b6000546001600160a01b03163314610d40576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610d8d576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4741544557415960881b604482015290519081900360640190fd5b60ca80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5317fa585931182194fed99f2ea5f2efd38af9cff9724273704c8501c521e34b9181900360200190a150565b60388054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107d95780601f106107ae576101008083540402835291602001916107d9565b6000546001600160a01b03163314610e9a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610ee6576040805162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa6a4a72a22a960911b604482015290519081900360640190fd5b61095581611d34565b610ef833611230565b610f38576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa0afa6a4a72a22a960a11b604482015290519081900360640190fd5b610f4133611a9c565b565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610f7f57600080fd5b505af1158015610f93573d6000803e3d6000fd5b505050506040513d6020811015610fa957600080fd5b50516001600160a01b03163314611007576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561107b57600080fd5b505af115801561108f573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156110d557600080fd5b505af11580156110e9573d6000803e3d6000fd5b505050506040513d60208110156110ff57600080fd5b50516001600160a01b0316331461115d576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b505050505050565b60006107f76111c16117b8565b8461089c856040518060600160405280602581526020016125c460259139603560006111eb6117b8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a05565b60006107f76112296117b8565b84846118a8565b6001600160a01b031660009081526099602052604090205460ff1690565b60cb546001600160a01b031681565b611265611d80565b6001600160a01b0316336001600160a01b0316146112c0576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b600154600160a81b900460ff16806112db57506112db611da5565b806112f05750600154600160a01b900460ff16155b61132b5760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015611362576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b6001600160a01b0382166113b1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6113bc826000611db6565b8015610a0a576001805460ff60a81b191690555050565b6000546001600160a01b0316331461142b576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b03811661147b576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f4c315f4144445245535360701b604482015290519081900360640190fd5b60cb80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f603c0b2e4494ac82839a70be8b6c660d7d042ccfe71c3ce0e5157f59090e74459181900360200190a150565b8315806114dc5750834211155b611523576040805162461bcd60e51b815260206004820152601360248201527211d4950e88195e1c1a5c9959081c195c9b5a5d606a1b604482015290519081900360640190fd5b6098546001600160a01b038089166000818152609a602090815260408083205481517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948c166060850152608084018b905260a084019490945260c08084018a90528451808503909101815260e08401855280519082012061190160f01b61010085015261010284019590955261012280840195909552835180840390950185526101429092019092528251920191909120906115ed82868686611ef3565b9050806001600160a01b0316896001600160a01b03161461164b576040805162461bcd60e51b815260206004820152601360248201527211d4950e881a5b9d985b1a59081c195c9b5a5d606a1b604482015290519081900360640190fd5b6001600160a01b0389166000908152609a60205260409020805460010190556116758989896117bc565b505050505050505050565b6001600160a01b03918216600090815260356020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b6000546001600160a01b03163314611712576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116611764576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b3390565b6001600160a01b0383166118015760405162461bcd60e51b81526004018080602001828103825260248152602001806125a06024913960400191505060405180910390fd5b6001600160a01b0382166118465760405162461bcd60e51b81526004018080602001828103825260228152602001806124546022913960400191505060405180910390fd5b6001600160a01b03808416600081815260356020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166118ed5760405162461bcd60e51b815260040180806020018281038252602581526020018061257b6025913960400191505060405180910390fd5b6001600160a01b0382166119325760405162461bcd60e51b815260040180806020018281038252602381526020018061240f6023913960400191505060405180910390fd5b61193d838383610c37565b61197a81604051806060016040528060268152602001612476602691396001600160a01b0386166000908152603460205260409020549190611a05565b6001600160a01b0380851660009081526034602052604080822093909355908416815220546119a99082611ae5565b6001600160a01b0380841660008181526034602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115611a945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a59578181015183820152602001611a41565b50505050905090810190601f168015611a865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116600081815260996020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b600082820183811015611b3f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216611ba1576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611bad60008383610c37565b603654611bba9082611ae5565b6036556001600160a01b038216600090815260346020526040902054611be09082611ae5565b6001600160a01b03831660008181526034602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216611c7d5760405162461bcd60e51b815260040180806020018281038252602181526020018061255a6021913960400191505060405180910390fd5b611c8982600083610c37565b611cc681604051806060016040528060228152602001612432602291396001600160a01b0385166000908152603460205260409020549190611a05565b6001600160a01b038316600090815260346020526040902055603654611cec9082612071565b6036556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038116600081815260996020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611db0306120ce565b15905090565b611dfe6040518060400160405280600b81526020016a23b930b834102a37b5b2b760a91b8152506040518060400160405280600381526020016211d49560ea1b8152506120d4565b611e07826121a0565b611e118282611b46565b611e1a82611d34565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611e856121c2565b6040805160208082019690965280820194909452606084019290925260808301523060a08301527f000000000000000000000000000000000000000000000000000000000000000060c0808401919091528151808403909101815260e0909201905280519101206098555050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115611f545760405162461bcd60e51b815260040180806020018281038252602281526020018061249c6022913960400191505060405180910390fd5b8360ff16601b1480611f6957508360ff16601c145b611fa45760405162461bcd60e51b81526004018080602001828103825260228152602001806124ec6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612000573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612068576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b6000828211156120c8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3b151590565b600154600160a81b900460ff16806120ef57506120ef611da5565b806121045750600154600160a01b900460ff16155b61213f5760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612176576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b61217e6121c6565b612188838361227e565b8015610c37576001805460ff60a81b19169055505050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b4690565b600154600160a81b900460ff16806121e157506121e1611da5565b806121f65750600154600160a01b900460ff16155b6122315760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612268576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b8015610955576001805460ff60a81b1916905550565b600154600160a81b900460ff16806122995750612299611da5565b806122ae5750600154600160a01b900460ff16155b6122e95760405162461bcd60e51b815260040180806020018281038252602e8152602001806124be602e913960400191505060405180910390fd5b600154600160a81b900460ff16158015612320576001805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b825161233390603790602086019061236d565b50815161234790603890602085019061236d565b506039805460ff191660121790558015610c37576001805460ff60a81b19169055505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826123a357600085556123e9565b82601f106123bc57805160ff19168380011785556123e9565b828001600101855582156123e9579182015b828111156123e95782518255916020019190600101906123ce565b506123f59291506123f9565b5090565b5b808211156123f557600081556001016123fa56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c7565496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122012b2c58a54bfd503f1340d54a6869358eba038b05f4c4c11eb371220d3c4663264736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/libraries/Base58Encoder.sol/Base58Encoder.dbg.json b/abis/libraries/Base58Encoder.sol/Base58Encoder.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/libraries/Base58Encoder.sol/Base58Encoder.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/libraries/Base58Encoder.sol/Base58Encoder.json b/abis/libraries/Base58Encoder.sol/Base58Encoder.json new file mode 100644 index 000000000..72ca3d8ce --- /dev/null +++ b/abis/libraries/Base58Encoder.sol/Base58Encoder.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Base58Encoder", + "sourceName": "contracts/libraries/Base58Encoder.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220835be73e811811e897736c6f5b6dd45e2dd9016ba0b7a5b485f9426c6731fa5b64736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220835be73e811811e897736c6f5b6dd45e2dd9016ba0b7a5b485f9426c6731fa5b64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/libraries/HexStrings.sol/HexStrings.dbg.json b/abis/libraries/HexStrings.sol/HexStrings.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/libraries/HexStrings.sol/HexStrings.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/libraries/HexStrings.sol/HexStrings.json b/abis/libraries/HexStrings.sol/HexStrings.json new file mode 100644 index 000000000..fe0f30cba --- /dev/null +++ b/abis/libraries/HexStrings.sol/HexStrings.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "HexStrings", + "sourceName": "contracts/libraries/HexStrings.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204a4934d8dd715b06a6d850dcf7adf006b838681e7891c7fa150c67170604cbe164736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204a4934d8dd715b06a6d850dcf7adf006b838681e7891c7fa150c67170604cbe164736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/payments/AllocationExchange.sol/AllocationExchange.dbg.json b/abis/payments/AllocationExchange.sol/AllocationExchange.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/payments/AllocationExchange.sol/AllocationExchange.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/payments/AllocationExchange.sol/AllocationExchange.json b/abis/payments/AllocationExchange.sol/AllocationExchange.json new file mode 100644 index 000000000..c8b30e01a --- /dev/null +++ b/abis/payments/AllocationExchange.sol/AllocationExchange.json @@ -0,0 +1,319 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AllocationExchange", + "sourceName": "contracts/payments/AllocationExchange.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IGraphToken", + "name": "_graphToken", + "type": "address" + }, + { + "internalType": "contract IStaking", + "name": "_staking", + "type": "address" + }, + { + "internalType": "address", + "name": "_governor", + "type": "address" + }, + { + "internalType": "address", + "name": "_authority", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "AllocationRedeemed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "authorized", + "type": "bool" + } + ], + "name": "AuthoritySet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "TokensWithdrawn", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allocationsRedeemed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "authority", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct AllocationExchange.AllocationVoucher", + "name": "_voucher", + "type": "tuple" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "signature", + "type": "bytes" + } + ], + "internalType": "struct AllocationExchange.AllocationVoucher[]", + "name": "_vouchers", + "type": "tuple[]" + } + ], + "name": "redeemMany", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_authority", + "type": "address" + }, + { + "internalType": "bool", + "name": "_authorized", + "type": "bool" + } + ], + "name": "setAuthority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60c06040523480156200001157600080fd5b50604051620013f7380380620013f7833981016040819052620000349162000196565b6001600160a01b038216620000665760405162461bcd60e51b81526004016200005d906200023f565b60405180910390fd5b6200007c82620000ad60201b620006d51760201c565b6001600160601b0319606085811b821660a05284901b16608052620000a3816001620000cf565b50505050620002c6565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216620000f85760405162461bcd60e51b81526004016200005d9062000276565b6200010e826200019060201b620006f71760201c565b156200012e5760405162461bcd60e51b81526004016200005d9062000208565b6001600160a01b03821660008181526002602052604090819020805460ff1916841515179055517f58ff942169d73f3abad652db95845088969180d650967f57f035bf5c5c9319de9062000184908490620001fd565b60405180910390a25050565b3b151590565b60008060008060808587031215620001ac578384fd5b8451620001b981620002ad565b6020860151909450620001cc81620002ad565b6040860151909350620001df81620002ad565b6060860151909250620001f281620002ad565b939692955090935050565b901515815260200190565b6020808252601f908201527f45786368616e67653a20617574686f72697479206d75737420626520454f4100604082015260600190565b6020808252601e908201527f45786368616e67653a20676f7665726e6f72206d757374206265207365740000604082015260600190565b60208082526019908201527f45786368616e67653a20656d70747920617574686f7269747900000000000000604082015260600190565b6001600160a01b0381168114620002c357600080fd5b50565b60805160601c60a05160601c6110fd620002fa600039806101b352806105eb5250806101e052806108e152506110fd6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063b5f0d35c11610071578063b5f0d35c14610111578063cd2b1af814610124578063dfc224b414610137578063e3056a341461014a578063f2fde38b14610152578063f3fef3a314610165576100a9565b80630c340a24146100ae578063185f182d146100cc578063380d0c08146100ec5780637104dd03146100f657806379ba509714610109575b600080fd5b6100b6610178565b6040516100c39190610e03565b60405180910390f35b6100df6100da366004610c71565b610187565b6040516100c39190610e30565b6100f461019c565b005b6100df610104366004610c71565b610261565b6100f4610276565b6100f461011f366004610c92565b610384565b6100f4610132366004610cf1565b6103ea565b6100f4610145366004610da6565b61041a565b6100b6610423565b6100f4610160366004610c71565b610432565b6100f4610173366004610cc8565b610530565b6000546001600160a01b031681565b60036020526000908152604090205460ff1681565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b39061020c907f00000000000000000000000000000000000000000000000000000000000000009060001990600401610e17565b602060405180830381600087803b15801561022657600080fd5b505af115801561023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025e9190610d8a565b50565b60026020526000908152604090205460ff1681565b6001546001600160a01b031680158015906102995750336001600160a01b038216145b6102ea576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146103dc576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6103e68282610701565b5050565b60005b81518110156103e65761041282828151811061040557fe5b60200260200101516107a1565b6001016103ed565b61025e816107a1565b6001546001600160a01b031681565b6000546001600160a01b0316331461048a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0381166104dc576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b03163314610588576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0382166105b75760405162461bcd60e51b81526004016105ae90610e3b565b60405180910390fd5b806105d45760405162461bcd60e51b81526004016105ae90611001565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906106229085908590600401610e17565b602060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106749190610d8a565b6106905760405162461bcd60e51b81526004016105ae90610eee565b816001600160a01b03167f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b826040516106c99190611031565b60405180910390a25050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b803b15155b919050565b6001600160a01b0382166107275760405162461bcd60e51b81526004016105ae90610fca565b610730826106f7565b1561074d5760405162461bcd60e51b81526004016105ae90610e72565b6001600160a01b03821660008181526002602052604090819020805460ff1916841515179055517f58ff942169d73f3abad652db95845088969180d650967f57f035bf5c5c9319de906106c9908490610e30565b60008160200151116107c55760405162461bcd60e51b81526004016105ae90610f25565b6041816040015151146107ea5760405162461bcd60e51b81526004016105ae90610f93565b80516001600160a01b031660009081526003602052604090205460ff16156108245760405162461bcd60e51b81526004016105ae90610ea9565b600081600001518260200151604051602001610841929190610de1565b6040516020818303038152906040528051906020012090506000610869828460400151610997565b6001600160a01b03811660009081526002602052604090205490915060ff166108a45760405162461bcd60e51b81526004016105ae90610f5c565b82516001600160a01b03908116600090815260036020908152604091829020805460ff191660011790558501518551915163469e080560e11b81527f000000000000000000000000000000000000000000000000000000000000000090931692638d3c100a92610917929160040161103a565b600060405180830381600087803b15801561093157600080fd5b505af1158015610945573d6000803e3d6000fd5b5050505082600001516001600160a01b03167fe86f6a4e34293c4b00e73d2a8b6237e4ab10bb4849b1495a1a8b45d3a59d8118846020015160405161098a9190611031565b60405180910390a2505050565b600081516041146109ef576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a610a0d86828585610a17565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610a785760405162461bcd60e51b81526004018080602001828103825260228152602001806110846022913960400191505060405180910390fd5b8360ff16601b1480610a8d57508360ff16601c145b610ac85760405162461bcd60e51b81526004018080602001828103825260228152602001806110a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610b24573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b8c576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b80356001600160a01b03811681146106fc57600080fd5b600060608284031215610bbd578081fd5b6040516060810167ffffffffffffffff8282108183111715610bdb57fe5b81604052829350610beb85610b95565b8352602091508185013582840152604085013581811115610c0b57600080fd5b8501601f81018713610c1c57600080fd5b803582811115610c2857fe5b610c3a601f8201601f19168501611051565b92508083528784828401011115610c5057600080fd5b80848301858501376000848285010152505080604084015250505092915050565b600060208284031215610c82578081fd5b610c8b82610b95565b9392505050565b60008060408385031215610ca4578081fd5b610cad83610b95565b91506020830135610cbd81611075565b809150509250929050565b60008060408385031215610cda578182fd5b610ce383610b95565b946020939093013593505050565b60006020808385031215610d03578182fd5b823567ffffffffffffffff80821115610d1a578384fd5b818501915085601f830112610d2d578384fd5b813581811115610d3957fe5b610d468485830201611051565b8181528481019250838501865b83811015610d7c57610d6a8a888435890101610bac565b85529386019390860190600101610d53565b509098975050505050505050565b600060208284031215610d9b578081fd5b8151610c8b81611075565b600060208284031215610db7578081fd5b813567ffffffffffffffff811115610dcd578182fd5b610dd984828501610bac565b949350505050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252601b908201527f45786368616e67653a20656d7074792064657374696e6174696f6e0000000000604082015260600190565b6020808252601f908201527f45786368616e67653a20617574686f72697479206d75737420626520454f4100604082015260600190565b60208082526025908201527f45786368616e67653a20616c6c6f636174696f6e20616c72656164792072656460408201526419595b595960da1b606082015260800190565b60208082526019908201527f45786368616e67653a2063616e6e6f74207472616e7366657200000000000000604082015260600190565b6020808252601d908201527f45786368616e67653a207a65726f20746f6b656e7320766f7563686572000000604082015260600190565b60208082526018908201527f45786368616e67653a20696e76616c6964207369676e65720000000000000000604082015260600190565b6020808252601b908201527f45786368616e67653a20696e76616c6964207369676e61747572650000000000604082015260600190565b60208082526019908201527f45786368616e67653a20656d70747920617574686f7269747900000000000000604082015260600190565b602080825260169082015275115e18da185b99d94e88195b5c1d1e48185b5bdd5b9d60521b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff8111828210171561106d57fe5b604052919050565b801515811461025e57600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220deff02a5fef72ca6aef79e586a17e4fab99a68d130d895f3ec9cdbc6eadfc6bc64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063b5f0d35c11610071578063b5f0d35c14610111578063cd2b1af814610124578063dfc224b414610137578063e3056a341461014a578063f2fde38b14610152578063f3fef3a314610165576100a9565b80630c340a24146100ae578063185f182d146100cc578063380d0c08146100ec5780637104dd03146100f657806379ba509714610109575b600080fd5b6100b6610178565b6040516100c39190610e03565b60405180910390f35b6100df6100da366004610c71565b610187565b6040516100c39190610e30565b6100f461019c565b005b6100df610104366004610c71565b610261565b6100f4610276565b6100f461011f366004610c92565b610384565b6100f4610132366004610cf1565b6103ea565b6100f4610145366004610da6565b61041a565b6100b6610423565b6100f4610160366004610c71565b610432565b6100f4610173366004610cc8565b610530565b6000546001600160a01b031681565b60036020526000908152604090205460ff1681565b60405163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b39061020c907f00000000000000000000000000000000000000000000000000000000000000009060001990600401610e17565b602060405180830381600087803b15801561022657600080fd5b505af115801561023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025e9190610d8a565b50565b60026020526000908152604090205460ff1681565b6001546001600160a01b031680158015906102995750336001600160a01b038216145b6102ea576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b031633146103dc576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6103e68282610701565b5050565b60005b81518110156103e65761041282828151811061040557fe5b60200260200101516107a1565b6001016103ed565b61025e816107a1565b6001546001600160a01b031681565b6000546001600160a01b0316331461048a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0381166104dc576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b03163314610588576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0382166105b75760405162461bcd60e51b81526004016105ae90610e3b565b60405180910390fd5b806105d45760405162461bcd60e51b81526004016105ae90611001565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906106229085908590600401610e17565b602060405180830381600087803b15801561063c57600080fd5b505af1158015610650573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106749190610d8a565b6106905760405162461bcd60e51b81526004016105ae90610eee565b816001600160a01b03167f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b826040516106c99190611031565b60405180910390a25050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b803b15155b919050565b6001600160a01b0382166107275760405162461bcd60e51b81526004016105ae90610fca565b610730826106f7565b1561074d5760405162461bcd60e51b81526004016105ae90610e72565b6001600160a01b03821660008181526002602052604090819020805460ff1916841515179055517f58ff942169d73f3abad652db95845088969180d650967f57f035bf5c5c9319de906106c9908490610e30565b60008160200151116107c55760405162461bcd60e51b81526004016105ae90610f25565b6041816040015151146107ea5760405162461bcd60e51b81526004016105ae90610f93565b80516001600160a01b031660009081526003602052604090205460ff16156108245760405162461bcd60e51b81526004016105ae90610ea9565b600081600001518260200151604051602001610841929190610de1565b6040516020818303038152906040528051906020012090506000610869828460400151610997565b6001600160a01b03811660009081526002602052604090205490915060ff166108a45760405162461bcd60e51b81526004016105ae90610f5c565b82516001600160a01b03908116600090815260036020908152604091829020805460ff191660011790558501518551915163469e080560e11b81527f000000000000000000000000000000000000000000000000000000000000000090931692638d3c100a92610917929160040161103a565b600060405180830381600087803b15801561093157600080fd5b505af1158015610945573d6000803e3d6000fd5b5050505082600001516001600160a01b03167fe86f6a4e34293c4b00e73d2a8b6237e4ab10bb4849b1495a1a8b45d3a59d8118846020015160405161098a9190611031565b60405180910390a2505050565b600081516041146109ef576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a610a0d86828585610a17565b9695505050505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610a785760405162461bcd60e51b81526004018080602001828103825260228152602001806110846022913960400191505060405180910390fd5b8360ff16601b1480610a8d57508360ff16601c145b610ac85760405162461bcd60e51b81526004018080602001828103825260228152602001806110a66022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610b24573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b8c576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b80356001600160a01b03811681146106fc57600080fd5b600060608284031215610bbd578081fd5b6040516060810167ffffffffffffffff8282108183111715610bdb57fe5b81604052829350610beb85610b95565b8352602091508185013582840152604085013581811115610c0b57600080fd5b8501601f81018713610c1c57600080fd5b803582811115610c2857fe5b610c3a601f8201601f19168501611051565b92508083528784828401011115610c5057600080fd5b80848301858501376000848285010152505080604084015250505092915050565b600060208284031215610c82578081fd5b610c8b82610b95565b9392505050565b60008060408385031215610ca4578081fd5b610cad83610b95565b91506020830135610cbd81611075565b809150509250929050565b60008060408385031215610cda578182fd5b610ce383610b95565b946020939093013593505050565b60006020808385031215610d03578182fd5b823567ffffffffffffffff80821115610d1a578384fd5b818501915085601f830112610d2d578384fd5b813581811115610d3957fe5b610d468485830201611051565b8181528481019250838501865b83811015610d7c57610d6a8a888435890101610bac565b85529386019390860190600101610d53565b509098975050505050505050565b600060208284031215610d9b578081fd5b8151610c8b81611075565b600060208284031215610db7578081fd5b813567ffffffffffffffff811115610dcd578182fd5b610dd984828501610bac565b949350505050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252601b908201527f45786368616e67653a20656d7074792064657374696e6174696f6e0000000000604082015260600190565b6020808252601f908201527f45786368616e67653a20617574686f72697479206d75737420626520454f4100604082015260600190565b60208082526025908201527f45786368616e67653a20616c6c6f636174696f6e20616c72656164792072656460408201526419595b595960da1b606082015260800190565b60208082526019908201527f45786368616e67653a2063616e6e6f74207472616e7366657200000000000000604082015260600190565b6020808252601d908201527f45786368616e67653a207a65726f20746f6b656e7320766f7563686572000000604082015260600190565b60208082526018908201527f45786368616e67653a20696e76616c6964207369676e65720000000000000000604082015260600190565b6020808252601b908201527f45786368616e67653a20696e76616c6964207369676e61747572650000000000604082015260600190565b60208082526019908201527f45786368616e67653a20656d70747920617574686f7269747900000000000000604082015260600190565b602080825260169082015275115e18da185b99d94e88195b5c1d1e48185b5bdd5b9d60521b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff8111828210171561106d57fe5b604052919050565b801515811461025e57600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c7565a2646970667358221220deff02a5fef72ca6aef79e586a17e4fab99a68d130d895f3ec9cdbc6eadfc6bc64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.dbg.json b/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.json b/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.json new file mode 100644 index 000000000..3d2cb6b5e --- /dev/null +++ b/abis/rewards/IRewardsIssuer.sol/IRewardsIssuer.json @@ -0,0 +1,74 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IRewardsIssuer", + "sourceName": "contracts/rewards/IRewardsIssuer.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "allocationId", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + }, + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPending", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/IRewardsManager.sol/IRewardsManager.dbg.json b/abis/rewards/IRewardsManager.sol/IRewardsManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/IRewardsManager.sol/IRewardsManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/IRewardsManager.sol/IRewardsManager.json b/abis/rewards/IRewardsManager.sol/IRewardsManager.json new file mode 100644 index 000000000..80f4e0264 --- /dev/null +++ b/abis/rewards/IRewardsManager.sol/IRewardsManager.json @@ -0,0 +1,287 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IRewardsManager", + "sourceName": "contracts/rewards/IRewardsManager.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "name": "calcRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getAccRewardsForSubgraph", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getAccRewardsPerAllocatedToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNewRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardsIssuer", + "type": "address" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isDenied", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "onSubgraphAllocationUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "onSubgraphSignalUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "_deny", + "type": "bool" + } + ], + "name": "setDenied", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_issuancePerBlock", + "type": "uint256" + } + ], + "name": "setIssuancePerBlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumSubgraphSignal", + "type": "uint256" + } + ], + "name": "setMinimumSubgraphSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphAvailabilityOracle", + "type": "address" + } + ], + "name": "setSubgraphAvailabilityOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphService", + "type": "address" + } + ], + "name": "setSubgraphService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "takeRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateAccRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManager.sol/RewardsManager.dbg.json b/abis/rewards/RewardsManager.sol/RewardsManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManager.sol/RewardsManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManager.sol/RewardsManager.json b/abis/rewards/RewardsManager.sol/RewardsManager.json new file mode 100644 index 000000000..401825386 --- /dev/null +++ b/abis/rewards/RewardsManager.sol/RewardsManager.json @@ -0,0 +1,622 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManager", + "sourceName": "contracts/rewards/RewardsManager.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "HorizonRewardsAssigned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + } + ], + "name": "RewardsDenied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "sinceBlock", + "type": "uint256" + } + ], + "name": "RewardsDenylistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldSubgraphService", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newSubgraphService", + "type": "address" + } + ], + "name": "SubgraphServiceSet", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "name": "calcRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getAccRewardsForSubgraph", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getAccRewardsPerAllocatedToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAccRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getNewRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardsIssuer", + "type": "address" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "isDenied", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuancePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumSubgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "onSubgraphAllocationUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "onSubgraphSignalUpdate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "_deny", + "type": "bool" + } + ], + "name": "setDenied", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_issuancePerBlock", + "type": "uint256" + } + ], + "name": "setIssuancePerBlock", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumSubgraphSignal", + "type": "uint256" + } + ], + "name": "setMinimumSubgraphSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphAvailabilityOracle", + "type": "address" + } + ], + "name": "setSubgraphAvailabilityOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphService", + "type": "address" + } + ], + "name": "setSubgraphService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphService", + "outputs": [ + { + "internalType": "contract IRewardsIssuer", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "takeRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "updateAccRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051611ca761017360003980610e60525080610e37525080610e0e52806117d9525080610de5528061155c525080610dbc525080610d93525080610d6a52806113a05250611ca76000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806393a90a1e11610104578063c8a5f81e116100a2578063e284f84811610071578063e284f848146103ad578063e820e284146103b5578063eeac3e0e146103d5578063f77c4791146103e8576101da565b8063c8a5f81e14610377578063d6866ea51461038a578063db75092614610392578063e242cf1e146103a5576101da565b8063a8cc0ee2116100de578063a8cc0ee21461034c578063b951acd714610354578063c4d66de81461035c578063c7d1117d1461036f576101da565b806393a90a1e146103135780639ce7abe514610326578063a2594d8214610339576101da565b80634986594f1161017c578063702a280e1161014b578063702a280e146102c4578063779bcb9b146102e55780639006ce8b146102f857806392eefe9b14610300576101da565b80634986594f146102735780634bbfc1c5146102965780635c6cbd59146102a95780636c080f18146102bc576101da565b80631324a506116101b85780631324a5061461022557806316a84ab2146102385780631d1c2fec14610258578063260582491461026b576101da565b806305bb8c6b146101df5780630903c094146101fd5780631156bdc114610212575b600080fd5b6101e76103f0565b6040516101f49190611a57565b60405180910390f35b61021061020b366004611895565b6103ff565b005b610210610220366004611962565b61045b565b61021061023336600461197a565b61046f565b61024b610246366004611962565b6104b0565b6040516101f49190611a8f565b61024b610266366004611962565b6104c2565b6101e76104fb565b610286610281366004611962565b61050a565b6040516101f49493929190611c12565b6102106102a4366004611962565b610531565b61024b6102b7366004611962565b61062d565b61024b61071e565b6102d76102d2366004611962565b610724565b6040516101f4929190611c04565b61024b6102f33660046118cd565b610898565b61024b6109be565b61021061030e366004611895565b6109c4565b610210610321366004611895565b6109d5565b61021061033436600461199e565b610a2f565b610210610347366004611895565b610b85565b61024b610ca0565b61024b610cbc565b61021061036a366004611895565b610cc2565b61024b610d2e565b61024b610385366004611a36565b610d46565b610210610d65565b61024b6103a0366004611895565b610e86565b61024b6110bc565b61024b6110c2565b6103c86103c3366004611962565b6111d1565b6040516101f49190611a84565b61024b6103e3366004611962565b6111e5565b6101e7611217565b600f546001600160a01b031681565b610407611226565b600f80546001600160a01b0319166001600160a01b0383161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611a98565b60405180910390a150565b610463611226565b61046c816112fa565b50565b600f546001600160a01b031633146104a25760405162461bcd60e51b815260040161049990611acf565b60405180910390fd5b6104ac8282611336565b5050565b60116020526000908152604090205481565b60006104cc610d2e565b5060008281526010602052604090206104e48361062d565b808255600d5460029092019190915590505b919050565b6015546001600160a01b031681565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600f546001600160a01b03163314806105de575060008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b505afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c991906118b1565b6001600160a01b0316336001600160a01b0316145b6105fa5760405162461bcd60e51b815260040161049990611bdc565b60128190556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611b1e565b600081815260106020526040812081610644611399565b6001600160a01b03166346e855da856040518263ffffffff1660e01b815260040161066f9190611a8f565b60206040518083038186803b15801561068757600080fd5b505afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bf9190611a1e565b905060006012548210156106d4576000610706565b610706670de0b6b3a7640000610700846106fa87600201546106f4610ca0565b906113c4565b90611421565b9061147a565b835490915061071590826114e1565b95945050505050565b60145481565b600081815260106020526040812081908161073e8561062d565b9050600061075082846001015461153b565b90506000806040518060400160405280610768611555565b6001600160a01b03908116825260155416602090910152905060005b600281101561084757600082826002811061079b57fe5b60200201516001600160a01b03161461083f578181600281106107ba57fe5b60200201516001600160a01b031663e2e1e8e98a6040518263ffffffff1660e01b81526004016107ea9190611a8f565b60206040518083038186803b15801561080257600080fd5b505afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a9190611a1e565b830192505b600101610784565b508161085e57600084965096505050505050610893565b60006108768361070086670de0b6b3a7640000611421565b600387015490915061088890826114e1565b975093955050505050505b915091565b60006108a2611555565b6001600160a01b0316836001600160a01b031614806108ce57506015546001600160a01b038481169116145b6108ea5760405162461bcd60e51b815260040161049990611b77565b6000806000806000876001600160a01b03166355c85269886040518263ffffffff1660e01b815260040161091e9190611a57565b60c06040518083038186803b15801561093657600080fd5b505afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190611905565b95509550955095505094508461098c576000955050505050506109b8565b600061099785610724565b5090506109af6109a8858584611580565b83906114e1565b96505050505050505b92915050565b600e5481565b6109cc6115a5565b61046c81611604565b6109dd611226565b601580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f97befc0afcf2bace352f077aea9873c9552fc2e5ab26874f356006fdf9da4ede90600090a35050565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b50516001600160a01b03163314610af3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505050506040513d6020811015610beb57600080fd5b50516001600160a01b03163314610c49576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c8457600080fd5b505af1158015610c98573d6000803e3d6000fd5b505050505050565b6000610cb6610cad6110c2565b600d54906114e1565b90505b90565b60125481565b610cca6116ac565b6001600160a01b0316336001600160a01b031614610d25576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b61046c816109cc565b6000610d38610ca0565b600d81905543600e55905090565b6000610d5e670de0b6b3a76400006107008486611421565b9392505050565b610d8e7f00000000000000000000000000000000000000000000000000000000000000006116d1565b610db77f00000000000000000000000000000000000000000000000000000000000000006116d1565b610de07f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e097f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e327f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e5b7f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e847f00000000000000000000000000000000000000000000000000000000000000006116d1565b565b600033610e91611555565b6001600160a01b0316816001600160a01b03161480610ebd57506015546001600160a01b038281169116145b610ed95760405162461bcd60e51b815260040161049990611ba5565b600080600080600080866001600160a01b03166355c852698a6040518263ffffffff1660e01b8152600401610f0e9190611a57565b60c06040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190611905565b9550955095509550955095506000610f75856111e5565b9050610f80856111d1565b15610fd657896001600160a01b0316866001600160a01b03167f9b1323a10f3955b1c9c054ffbda78edfdf49998aaf37f61d9f84776b59ac804360405160405180910390a36000985050505050505050506104f6565b6000871561106357610ff3610fec868685611580565b84906114e1565b90508015611063576110036117d2565b6001600160a01b03166340c10f198a836040518363ffffffff1660e01b8152600401611030929190611a6b565b600060405180830381600087803b15801561104a57600080fd5b505af115801561105e573d6000803e3d6000fd5b505050505b8a6001600160a01b0316876001600160a01b03167fa111914d7f2ea8beca61d12f1a1f38c5533de5f1823c3936422df4404ac2ec68836040516110a69190611a8f565b60405180910390a39a9950505050505050505050565b600d5481565b6000806110da600e54436113c490919063ffffffff16565b9050806110eb576000915050610cb9565b6014546110fc576000915050610cb9565b60006111066117d2565b90506000816001600160a01b03166370a08231611121611399565b6040518263ffffffff1660e01b815260040161113d9190611a57565b60206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d9190611a1e565b9050806111a05760009350505050610cb9565b6014546000906111b09085611421565b90506111c88261070083670de0b6b3a7640000611421565b94505050505090565b600090815260116020526040902054151590565b600081815260106020526040812081806111fe85610724565b6003850182905560019094019390935550909392505050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561127257600080fd5b505afa158015611286573d6000803e3d6000fd5b505050506040513d602081101561129c57600080fd5b50516001600160a01b03163314610e84576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b611302610d2e565b5060148190556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611b4d565b600081611344576000611346565b435b600084815260116020526040908190208290555190915083907fe016102b339c3889f4967b491f3381f2c352c8fe3d4f880007807d45b124065a9061138c908490611a8f565b60405180910390a2505050565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000006117f9565b60008282111561141b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082611430575060006109b8565b8282028284828161143d57fe5b0414610d5e5760405162461bcd60e51b8152600401808060200182810382526021815260200180611c516021913960400191505060405180910390fd5b60008082116114d0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816114d957fe5b049392505050565b600082820183811015610d5e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831161154b576000610d5e565b610d5e83836113c4565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000006117f9565b60008061158d83856113c4565b9050610715670de0b6b3a76400006107008388611421565b6000546001600160a01b03163314610e84576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611658576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561171e57600080fd5b505afa158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146104ac5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b0316806109b85760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561186257600080fd5b505afa158015611876573d6000803e3d6000fd5b505050506040513d602081101561188c57600080fd5b50519392505050565b6000602082840312156118a6578081fd5b8135610d5e81611c2d565b6000602082840312156118c2578081fd5b8151610d5e81611c2d565b600080604083850312156118df578081fd5b82356118ea81611c2d565b915060208301356118fa81611c2d565b809150509250929050565b60008060008060008060c0878903121561191d578182fd5b865161192881611c42565b602088015190965061193981611c2d565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b600060208284031215611973578081fd5b5035919050565b6000806040838503121561198c578182fd5b8235915060208301356118fa81611c42565b6000806000604084860312156119b2578283fd5b83356119bd81611c2d565b9250602084013567ffffffffffffffff808211156119d9578384fd5b818601915086601f8301126119ec578384fd5b8135818111156119fa578485fd5b876020828501011115611a0b578485fd5b6020830194508093505050509250925092565b600060208284031215611a2f578081fd5b5051919050565b60008060408385031215611a48578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6020808252601a908201527f7375626772617068417661696c6162696c6974794f7261636c65000000000000604082015260600190565b6020808252602f908201527f43616c6c6572206d75737420626520746865207375626772617068206176616960408201526e6c6162696c697479206f7261636c6560881b606082015260800190565b6020808252601590820152741b5a5b9a5b5d5b54dd5899dc985c1a14da59db985b605a1b604082015260600190565b60208082526010908201526f69737375616e6365506572426c6f636b60801b604082015260600190565b6020808252601490820152732737ba1030903932bbb0b932399034b9b9bab2b960611b604082015260600190565b6020808252601f908201527f43616c6c6572206d757374206265206120726577617264732069737375657200604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b6001600160a01b038116811461046c57600080fd5b801515811461046c57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c1c7249959ec03bd119b3d15c338a6e323ecd6c699ef1058d9b729494ed7889664736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806393a90a1e11610104578063c8a5f81e116100a2578063e284f84811610071578063e284f848146103ad578063e820e284146103b5578063eeac3e0e146103d5578063f77c4791146103e8576101da565b8063c8a5f81e14610377578063d6866ea51461038a578063db75092614610392578063e242cf1e146103a5576101da565b8063a8cc0ee2116100de578063a8cc0ee21461034c578063b951acd714610354578063c4d66de81461035c578063c7d1117d1461036f576101da565b806393a90a1e146103135780639ce7abe514610326578063a2594d8214610339576101da565b80634986594f1161017c578063702a280e1161014b578063702a280e146102c4578063779bcb9b146102e55780639006ce8b146102f857806392eefe9b14610300576101da565b80634986594f146102735780634bbfc1c5146102965780635c6cbd59146102a95780636c080f18146102bc576101da565b80631324a506116101b85780631324a5061461022557806316a84ab2146102385780631d1c2fec14610258578063260582491461026b576101da565b806305bb8c6b146101df5780630903c094146101fd5780631156bdc114610212575b600080fd5b6101e76103f0565b6040516101f49190611a57565b60405180910390f35b61021061020b366004611895565b6103ff565b005b610210610220366004611962565b61045b565b61021061023336600461197a565b61046f565b61024b610246366004611962565b6104b0565b6040516101f49190611a8f565b61024b610266366004611962565b6104c2565b6101e76104fb565b610286610281366004611962565b61050a565b6040516101f49493929190611c12565b6102106102a4366004611962565b610531565b61024b6102b7366004611962565b61062d565b61024b61071e565b6102d76102d2366004611962565b610724565b6040516101f4929190611c04565b61024b6102f33660046118cd565b610898565b61024b6109be565b61021061030e366004611895565b6109c4565b610210610321366004611895565b6109d5565b61021061033436600461199e565b610a2f565b610210610347366004611895565b610b85565b61024b610ca0565b61024b610cbc565b61021061036a366004611895565b610cc2565b61024b610d2e565b61024b610385366004611a36565b610d46565b610210610d65565b61024b6103a0366004611895565b610e86565b61024b6110bc565b61024b6110c2565b6103c86103c3366004611962565b6111d1565b6040516101f49190611a84565b61024b6103e3366004611962565b6111e5565b6101e7611217565b600f546001600160a01b031681565b610407611226565b600f80546001600160a01b0319166001600160a01b0383161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611a98565b60405180910390a150565b610463611226565b61046c816112fa565b50565b600f546001600160a01b031633146104a25760405162461bcd60e51b815260040161049990611acf565b60405180910390fd5b6104ac8282611336565b5050565b60116020526000908152604090205481565b60006104cc610d2e565b5060008281526010602052604090206104e48361062d565b808255600d5460029092019190915590505b919050565b6015546001600160a01b031681565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600f546001600160a01b03163314806105de575060008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b505afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c991906118b1565b6001600160a01b0316336001600160a01b0316145b6105fa5760405162461bcd60e51b815260040161049990611bdc565b60128190556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611b1e565b600081815260106020526040812081610644611399565b6001600160a01b03166346e855da856040518263ffffffff1660e01b815260040161066f9190611a8f565b60206040518083038186803b15801561068757600080fd5b505afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bf9190611a1e565b905060006012548210156106d4576000610706565b610706670de0b6b3a7640000610700846106fa87600201546106f4610ca0565b906113c4565b90611421565b9061147a565b835490915061071590826114e1565b95945050505050565b60145481565b600081815260106020526040812081908161073e8561062d565b9050600061075082846001015461153b565b90506000806040518060400160405280610768611555565b6001600160a01b03908116825260155416602090910152905060005b600281101561084757600082826002811061079b57fe5b60200201516001600160a01b03161461083f578181600281106107ba57fe5b60200201516001600160a01b031663e2e1e8e98a6040518263ffffffff1660e01b81526004016107ea9190611a8f565b60206040518083038186803b15801561080257600080fd5b505afa158015610816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083a9190611a1e565b830192505b600101610784565b508161085e57600084965096505050505050610893565b60006108768361070086670de0b6b3a7640000611421565b600387015490915061088890826114e1565b975093955050505050505b915091565b60006108a2611555565b6001600160a01b0316836001600160a01b031614806108ce57506015546001600160a01b038481169116145b6108ea5760405162461bcd60e51b815260040161049990611b77565b6000806000806000876001600160a01b03166355c85269886040518263ffffffff1660e01b815260040161091e9190611a57565b60c06040518083038186803b15801561093657600080fd5b505afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190611905565b95509550955095505094508461098c576000955050505050506109b8565b600061099785610724565b5090506109af6109a8858584611580565b83906114e1565b96505050505050505b92915050565b600e5481565b6109cc6115a5565b61046c81611604565b6109dd611226565b601580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f97befc0afcf2bace352f077aea9873c9552fc2e5ab26874f356006fdf9da4ede90600090a35050565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d6020811015610a9557600080fd5b50516001600160a01b03163314610af3576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b5050505050505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610bc157600080fd5b505af1158015610bd5573d6000803e3d6000fd5b505050506040513d6020811015610beb57600080fd5b50516001600160a01b03163314610c49576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c8457600080fd5b505af1158015610c98573d6000803e3d6000fd5b505050505050565b6000610cb6610cad6110c2565b600d54906114e1565b90505b90565b60125481565b610cca6116ac565b6001600160a01b0316336001600160a01b031614610d25576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b61046c816109cc565b6000610d38610ca0565b600d81905543600e55905090565b6000610d5e670de0b6b3a76400006107008486611421565b9392505050565b610d8e7f00000000000000000000000000000000000000000000000000000000000000006116d1565b610db77f00000000000000000000000000000000000000000000000000000000000000006116d1565b610de07f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e097f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e327f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e5b7f00000000000000000000000000000000000000000000000000000000000000006116d1565b610e847f00000000000000000000000000000000000000000000000000000000000000006116d1565b565b600033610e91611555565b6001600160a01b0316816001600160a01b03161480610ebd57506015546001600160a01b038281169116145b610ed95760405162461bcd60e51b815260040161049990611ba5565b600080600080600080866001600160a01b03166355c852698a6040518263ffffffff1660e01b8152600401610f0e9190611a57565b60c06040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190611905565b9550955095509550955095506000610f75856111e5565b9050610f80856111d1565b15610fd657896001600160a01b0316866001600160a01b03167f9b1323a10f3955b1c9c054ffbda78edfdf49998aaf37f61d9f84776b59ac804360405160405180910390a36000985050505050505050506104f6565b6000871561106357610ff3610fec868685611580565b84906114e1565b90508015611063576110036117d2565b6001600160a01b03166340c10f198a836040518363ffffffff1660e01b8152600401611030929190611a6b565b600060405180830381600087803b15801561104a57600080fd5b505af115801561105e573d6000803e3d6000fd5b505050505b8a6001600160a01b0316876001600160a01b03167fa111914d7f2ea8beca61d12f1a1f38c5533de5f1823c3936422df4404ac2ec68836040516110a69190611a8f565b60405180910390a39a9950505050505050505050565b600d5481565b6000806110da600e54436113c490919063ffffffff16565b9050806110eb576000915050610cb9565b6014546110fc576000915050610cb9565b60006111066117d2565b90506000816001600160a01b03166370a08231611121611399565b6040518263ffffffff1660e01b815260040161113d9190611a57565b60206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d9190611a1e565b9050806111a05760009350505050610cb9565b6014546000906111b09085611421565b90506111c88261070083670de0b6b3a7640000611421565b94505050505090565b600090815260116020526040902054151590565b600081815260106020526040812081806111fe85610724565b6003850182905560019094019390935550909392505050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561127257600080fd5b505afa158015611286573d6000803e3d6000fd5b505050506040513d602081101561129c57600080fd5b50516001600160a01b03163314610e84576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b611302610d2e565b5060148190556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061045090611b4d565b600081611344576000611346565b435b600084815260116020526040908190208290555190915083907fe016102b339c3889f4967b491f3381f2c352c8fe3d4f880007807d45b124065a9061138c908490611a8f565b60405180910390a2505050565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000006117f9565b60008282111561141b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082611430575060006109b8565b8282028284828161143d57fe5b0414610d5e5760405162461bcd60e51b8152600401808060200182810382526021815260200180611c516021913960400191505060405180910390fd5b60008082116114d0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816114d957fe5b049392505050565b600082820183811015610d5e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831161154b576000610d5e565b610d5e83836113c4565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000006117f9565b60008061158d83856113c4565b9050610715670de0b6b3a76400006107008388611421565b6000546001600160a01b03163314610e84576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611658576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561171e57600080fd5b505afa158015611732573d6000803e3d6000fd5b505050506040513d602081101561174857600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146104ac5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000610cb67f00000000000000000000000000000000000000000000000000000000000000005b6000818152600160205260408120546001600160a01b0316806109b85760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561186257600080fd5b505afa158015611876573d6000803e3d6000fd5b505050506040513d602081101561188c57600080fd5b50519392505050565b6000602082840312156118a6578081fd5b8135610d5e81611c2d565b6000602082840312156118c2578081fd5b8151610d5e81611c2d565b600080604083850312156118df578081fd5b82356118ea81611c2d565b915060208301356118fa81611c2d565b809150509250929050565b60008060008060008060c0878903121561191d578182fd5b865161192881611c42565b602088015190965061193981611c2d565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b600060208284031215611973578081fd5b5035919050565b6000806040838503121561198c578182fd5b8235915060208301356118fa81611c42565b6000806000604084860312156119b2578283fd5b83356119bd81611c2d565b9250602084013567ffffffffffffffff808211156119d9578384fd5b818601915086601f8301126119ec578384fd5b8135818111156119fa578485fd5b876020828501011115611a0b578485fd5b6020830194508093505050509250925092565b600060208284031215611a2f578081fd5b5051919050565b60008060408385031215611a48578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b6020808252601a908201527f7375626772617068417661696c6162696c6974794f7261636c65000000000000604082015260600190565b6020808252602f908201527f43616c6c6572206d75737420626520746865207375626772617068206176616960408201526e6c6162696c697479206f7261636c6560881b606082015260800190565b6020808252601590820152741b5a5b9a5b5d5b54dd5899dc985c1a14da59db985b605a1b604082015260600190565b60208082526010908201526f69737375616e6365506572426c6f636b60801b604082015260600190565b6020808252601490820152732737ba1030903932bbb0b932399034b9b9bab2b960611b604082015260600190565b6020808252601f908201527f43616c6c6572206d757374206265206120726577617264732069737375657200604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b6001600160a01b038116811461046c57600080fd5b801515811461046c57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c1c7249959ec03bd119b3d15c338a6e323ecd6c699ef1058d9b729494ed7889664736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.dbg.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.json new file mode 100644 index 000000000..aa5e72616 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV1Storage.json @@ -0,0 +1,181 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManagerV1Storage", + "sourceName": "contracts/rewards/RewardsManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051610542610164600039806102c852508061029f52508061027652508061024d5250806102245250806101fb5250806101d252506105426000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806392eefe9b1161005b57806392eefe9b1461012b578063d6866ea514610153578063e242cf1e1461015b578063f77c47911461016357610088565b806305bb8c6b1461008d57806316a84ab2146100b15780634986594f146100e05780639006ce8b14610123575b600080fd5b61009561016b565b604080516001600160a01b039092168252519081900360200190f35b6100ce600480360360208110156100c757600080fd5b503561017a565b60408051918252519081900360200190f35b6100fd600480360360208110156100f657600080fd5b503561018c565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100ce6101b3565b6101516004803603602081101561014157600080fd5b50356001600160a01b03166101b9565b005b6101516101cd565b6100ce6102ee565b6100956102f4565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101c1610303565b6101ca81610362565b50565b6101f67f000000000000000000000000000000000000000000000000000000000000000061040a565b61021f7f000000000000000000000000000000000000000000000000000000000000000061040a565b6102487f000000000000000000000000000000000000000000000000000000000000000061040a565b6102717f000000000000000000000000000000000000000000000000000000000000000061040a565b61029a7f000000000000000000000000000000000000000000000000000000000000000061040a565b6102c37f000000000000000000000000000000000000000000000000000000000000000061040a565b6102ec7f000000000000000000000000000000000000000000000000000000000000000061040a565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b031633146102ec576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103b6576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105085760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220704917d8d54d4e55143924d3d9acb12b5bdf6d91fc9ba1fd7ba7b7205c3f54e864736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806392eefe9b1161005b57806392eefe9b1461012b578063d6866ea514610153578063e242cf1e1461015b578063f77c47911461016357610088565b806305bb8c6b1461008d57806316a84ab2146100b15780634986594f146100e05780639006ce8b14610123575b600080fd5b61009561016b565b604080516001600160a01b039092168252519081900360200190f35b6100ce600480360360208110156100c757600080fd5b503561017a565b60408051918252519081900360200190f35b6100fd600480360360208110156100f657600080fd5b503561018c565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100ce6101b3565b6101516004803603602081101561014157600080fd5b50356001600160a01b03166101b9565b005b6101516101cd565b6100ce6102ee565b6100956102f4565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101c1610303565b6101ca81610362565b50565b6101f67f000000000000000000000000000000000000000000000000000000000000000061040a565b61021f7f000000000000000000000000000000000000000000000000000000000000000061040a565b6102487f000000000000000000000000000000000000000000000000000000000000000061040a565b6102717f000000000000000000000000000000000000000000000000000000000000000061040a565b61029a7f000000000000000000000000000000000000000000000000000000000000000061040a565b6102c37f000000000000000000000000000000000000000000000000000000000000000061040a565b6102ec7f000000000000000000000000000000000000000000000000000000000000000061040a565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b031633146102ec576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103b6576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561045757600080fd5b505afa15801561046b573d6000803e3d6000fd5b505050506040513d602081101561048157600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105085760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220704917d8d54d4e55143924d3d9acb12b5bdf6d91fc9ba1fd7ba7b7205c3f54e864736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.dbg.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.json new file mode 100644 index 000000000..b75331f99 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV2Storage.json @@ -0,0 +1,194 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManagerV2Storage", + "sourceName": "contracts/rewards/RewardsManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumSubgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161055b610164600039806102e15250806102b852508061028f52508061026652508061023d5250806102145250806101eb525061055b6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392eefe9b1161006657806392eefe9b14610136578063b951acd71461015e578063d6866ea514610166578063e242cf1e1461016e578063f77c47911461017657610093565b806305bb8c6b1461009857806316a84ab2146100bc5780634986594f146100eb5780639006ce8b1461012e575b600080fd5b6100a061017e565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360208110156100d257600080fd5b503561018d565b60408051918252519081900360200190f35b6101086004803603602081101561010157600080fd5b503561019f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100d96101c6565b61015c6004803603602081101561014c57600080fd5b50356001600160a01b03166101cc565b005b6100d96101e0565b61015c6101e6565b6100d9610307565b6100a061030d565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101d461031c565b6101dd8161037b565b50565b60125481565b61020f7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102387f0000000000000000000000000000000000000000000000000000000000000000610423565b6102617f0000000000000000000000000000000000000000000000000000000000000000610423565b61028a7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102b37f0000000000000000000000000000000000000000000000000000000000000000610423565b6102dc7f0000000000000000000000000000000000000000000000000000000000000000610423565b6103057f0000000000000000000000000000000000000000000000000000000000000000610423565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610305576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103cf576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105215760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212209b1cccfcf0c9b061dc93b2e5079357f08fa00790b6a9367b5edef6171ac6be9b64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806392eefe9b1161006657806392eefe9b14610136578063b951acd71461015e578063d6866ea514610166578063e242cf1e1461016e578063f77c47911461017657610093565b806305bb8c6b1461009857806316a84ab2146100bc5780634986594f146100eb5780639006ce8b1461012e575b600080fd5b6100a061017e565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360208110156100d257600080fd5b503561018d565b60408051918252519081900360200190f35b6101086004803603602081101561010157600080fd5b503561019f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100d96101c6565b61015c6004803603602081101561014c57600080fd5b50356001600160a01b03166101cc565b005b6100d96101e0565b61015c6101e6565b6100d9610307565b6100a061030d565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101d461031c565b6101dd8161037b565b50565b60125481565b61020f7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102387f0000000000000000000000000000000000000000000000000000000000000000610423565b6102617f0000000000000000000000000000000000000000000000000000000000000000610423565b61028a7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102b37f0000000000000000000000000000000000000000000000000000000000000000610423565b6102dc7f0000000000000000000000000000000000000000000000000000000000000000610423565b6103057f0000000000000000000000000000000000000000000000000000000000000000610423565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610305576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103cf576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105215760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212209b1cccfcf0c9b061dc93b2e5079357f08fa00790b6a9367b5edef6171ac6be9b64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.dbg.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.json new file mode 100644 index 000000000..05f837c38 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV3Storage.json @@ -0,0 +1,194 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManagerV3Storage", + "sourceName": "contracts/rewards/RewardsManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumSubgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161055b610164600039806102e15250806102b852508061028f52508061026652508061023d5250806102145250806101eb525061055b6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806392eefe9b1161006657806392eefe9b14610136578063b951acd71461015e578063d6866ea514610166578063e242cf1e1461016e578063f77c47911461017657610093565b806305bb8c6b1461009857806316a84ab2146100bc5780634986594f146100eb5780639006ce8b1461012e575b600080fd5b6100a061017e565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360208110156100d257600080fd5b503561018d565b60408051918252519081900360200190f35b6101086004803603602081101561010157600080fd5b503561019f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100d96101c6565b61015c6004803603602081101561014c57600080fd5b50356001600160a01b03166101cc565b005b6100d96101e0565b61015c6101e6565b6100d9610307565b6100a061030d565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101d461031c565b6101dd8161037b565b50565b60125481565b61020f7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102387f0000000000000000000000000000000000000000000000000000000000000000610423565b6102617f0000000000000000000000000000000000000000000000000000000000000000610423565b61028a7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102b37f0000000000000000000000000000000000000000000000000000000000000000610423565b6102dc7f0000000000000000000000000000000000000000000000000000000000000000610423565b6103057f0000000000000000000000000000000000000000000000000000000000000000610423565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610305576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103cf576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105215760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220ec3f87fb3e02a33f1df47cb9d1ddc93d034b318a7eabe17e908873a33bc5d49264736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806392eefe9b1161006657806392eefe9b14610136578063b951acd71461015e578063d6866ea514610166578063e242cf1e1461016e578063f77c47911461017657610093565b806305bb8c6b1461009857806316a84ab2146100bc5780634986594f146100eb5780639006ce8b1461012e575b600080fd5b6100a061017e565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360208110156100d257600080fd5b503561018d565b60408051918252519081900360200190f35b6101086004803603602081101561010157600080fd5b503561019f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100d96101c6565b61015c6004803603602081101561014c57600080fd5b50356001600160a01b03166101cc565b005b6100d96101e0565b61015c6101e6565b6100d9610307565b6100a061030d565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b600e5481565b6101d461031c565b6101dd8161037b565b50565b60125481565b61020f7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102387f0000000000000000000000000000000000000000000000000000000000000000610423565b6102617f0000000000000000000000000000000000000000000000000000000000000000610423565b61028a7f0000000000000000000000000000000000000000000000000000000000000000610423565b6102b37f0000000000000000000000000000000000000000000000000000000000000000610423565b6102dc7f0000000000000000000000000000000000000000000000000000000000000000610423565b6103057f0000000000000000000000000000000000000000000000000000000000000000610423565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610305576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103cf576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d602081101561049a57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146105215760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220ec3f87fb3e02a33f1df47cb9d1ddc93d034b318a7eabe17e908873a33bc5d49264736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.dbg.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.json new file mode 100644 index 000000000..ab93c60a9 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV4Storage.json @@ -0,0 +1,207 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManagerV4Storage", + "sourceName": "contracts/rewards/RewardsManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuancePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumSubgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e051610100516101205161014051610574610164600039806102fa5250806102d15250806102a852508061027f52508061025652508061022d52508061020452506105746000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806392eefe9b1161006657806392eefe9b14610149578063b951acd714610171578063d6866ea514610179578063e242cf1e14610181578063f77c4791146101895761009e565b806305bb8c6b146100a357806316a84ab2146100c75780634986594f146100f65780636c080f18146101395780639006ce8b14610141575b600080fd5b6100ab610191565b604080516001600160a01b039092168252519081900360200190f35b6100e4600480360360208110156100dd57600080fd5b50356101a0565b60408051918252519081900360200190f35b6101136004803603602081101561010c57600080fd5b50356101b2565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100e46101d9565b6100e46101df565b61016f6004803603602081101561015f57600080fd5b50356001600160a01b03166101e5565b005b6100e46101f9565b61016f6101ff565b6100e4610320565b6100ab610326565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b60145481565b600e5481565b6101ed610335565b6101f681610394565b50565b60125481565b6102287f000000000000000000000000000000000000000000000000000000000000000061043c565b6102517f000000000000000000000000000000000000000000000000000000000000000061043c565b61027a7f000000000000000000000000000000000000000000000000000000000000000061043c565b6102a37f000000000000000000000000000000000000000000000000000000000000000061043c565b6102cc7f000000000000000000000000000000000000000000000000000000000000000061043c565b6102f57f000000000000000000000000000000000000000000000000000000000000000061043c565b61031e7f000000000000000000000000000000000000000000000000000000000000000061043c565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b0316331461031e576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103e8576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561048957600080fd5b505afa15801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461053a5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220f7653dc17d881d9643eb0b68f864259c04cea3e05d213a856c76103de11e7b6064736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806392eefe9b1161006657806392eefe9b14610149578063b951acd714610171578063d6866ea514610179578063e242cf1e14610181578063f77c4791146101895761009e565b806305bb8c6b146100a357806316a84ab2146100c75780634986594f146100f65780636c080f18146101395780639006ce8b14610141575b600080fd5b6100ab610191565b604080516001600160a01b039092168252519081900360200190f35b6100e4600480360360208110156100dd57600080fd5b50356101a0565b60408051918252519081900360200190f35b6101136004803603602081101561010c57600080fd5b50356101b2565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100e46101d9565b6100e46101df565b61016f6004803603602081101561015f57600080fd5b50356001600160a01b03166101e5565b005b6100e46101f9565b61016f6101ff565b6100e4610320565b6100ab610326565b600f546001600160a01b031681565b60116020526000908152604090205481565b60106020526000908152604090208054600182015460028301546003909301549192909184565b60145481565b600e5481565b6101ed610335565b6101f681610394565b50565b60125481565b6102287f000000000000000000000000000000000000000000000000000000000000000061043c565b6102517f000000000000000000000000000000000000000000000000000000000000000061043c565b61027a7f000000000000000000000000000000000000000000000000000000000000000061043c565b6102a37f000000000000000000000000000000000000000000000000000000000000000061043c565b6102cc7f000000000000000000000000000000000000000000000000000000000000000061043c565b6102f57f000000000000000000000000000000000000000000000000000000000000000061043c565b61031e7f000000000000000000000000000000000000000000000000000000000000000061043c565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b0316331461031e576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b0381166103e8576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561048957600080fd5b505afa15801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461053a5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220f7653dc17d881d9643eb0b68f864259c04cea3e05d213a856c76103de11e7b6064736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.dbg.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.json b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.json new file mode 100644 index 000000000..e4c9f8b9f --- /dev/null +++ b/abis/rewards/RewardsManagerStorage.sol/RewardsManagerV5Storage.json @@ -0,0 +1,220 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "RewardsManagerV5Storage", + "sourceName": "contracts/rewards/RewardsManagerStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "accRewardsPerSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "accRewardsPerSignalLastBlockUpdated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "denylist", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuancePerBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumSubgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphAvailabilityOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphService", + "outputs": [ + { + "internalType": "contract IRewardsIssuer", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "accRewardsForSubgraph", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsForSubgraphSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerSignalSnapshot", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516105966101646000398061031c5250806102f35250806102ca5250806102a152508061027852508061024f52508061022652506105966000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80639006ce8b116100715780639006ce8b1461015457806392eefe9b1461015c578063b951acd714610184578063d6866ea51461018c578063e242cf1e14610194578063f77c47911461019c576100a9565b806305bb8c6b146100ae57806316a84ab2146100d257806326058249146101015780634986594f146101095780636c080f181461014c575b600080fd5b6100b66101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ef600480360360208110156100e857600080fd5b50356101b3565b60408051918252519081900360200190f35b6100b66101c5565b6101266004803603602081101561011f57600080fd5b50356101d4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100ef6101fb565b6100ef610201565b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610207565b005b6100ef61021b565b610182610221565b6100ef610342565b6100b6610348565b600f546001600160a01b031681565b60116020526000908152604090205481565b6015546001600160a01b031681565b60106020526000908152604090208054600182015460028301546003909301549192909184565b60145481565b600e5481565b61020f610357565b610218816103b6565b50565b60125481565b61024a7f000000000000000000000000000000000000000000000000000000000000000061045e565b6102737f000000000000000000000000000000000000000000000000000000000000000061045e565b61029c7f000000000000000000000000000000000000000000000000000000000000000061045e565b6102c57f000000000000000000000000000000000000000000000000000000000000000061045e565b6102ee7f000000000000000000000000000000000000000000000000000000000000000061045e565b6103177f000000000000000000000000000000000000000000000000000000000000000061045e565b6103407f000000000000000000000000000000000000000000000000000000000000000061045e565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610340576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b03811661040a576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156104ab57600080fd5b505afa1580156104bf573d6000803e3d6000fd5b505050506040513d60208110156104d557600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461055c5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122081154afac68e027aa264efa8f57ab4fad92033dc429a491b7d76ce35aa58a4be64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80639006ce8b116100715780639006ce8b1461015457806392eefe9b1461015c578063b951acd714610184578063d6866ea51461018c578063e242cf1e14610194578063f77c47911461019c576100a9565b806305bb8c6b146100ae57806316a84ab2146100d257806326058249146101015780634986594f146101095780636c080f181461014c575b600080fd5b6100b66101a4565b604080516001600160a01b039092168252519081900360200190f35b6100ef600480360360208110156100e857600080fd5b50356101b3565b60408051918252519081900360200190f35b6100b66101c5565b6101266004803603602081101561011f57600080fd5b50356101d4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6100ef6101fb565b6100ef610201565b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610207565b005b6100ef61021b565b610182610221565b6100ef610342565b6100b6610348565b600f546001600160a01b031681565b60116020526000908152604090205481565b6015546001600160a01b031681565b60106020526000908152604090208054600182015460028301546003909301549192909184565b60145481565b600e5481565b61020f610357565b610218816103b6565b50565b60125481565b61024a7f000000000000000000000000000000000000000000000000000000000000000061045e565b6102737f000000000000000000000000000000000000000000000000000000000000000061045e565b61029c7f000000000000000000000000000000000000000000000000000000000000000061045e565b6102c57f000000000000000000000000000000000000000000000000000000000000000061045e565b6102ee7f000000000000000000000000000000000000000000000000000000000000000061045e565b6103177f000000000000000000000000000000000000000000000000000000000000000061045e565b6103407f000000000000000000000000000000000000000000000000000000000000000061045e565b565b600d5481565b6000546001600160a01b031681565b6000546001600160a01b03163314610340576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b03811661040a576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b1580156104ab57600080fd5b505afa1580156104bf573d6000803e3d6000fd5b505050506040513d60208110156104d557600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461055c5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122081154afac68e027aa264efa8f57ab4fad92033dc429a491b7d76ce35aa58a4be64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.dbg.json b/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.json b/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.json new file mode 100644 index 000000000..fe5b0af6a --- /dev/null +++ b/abis/rewards/SubgraphAvailabilityManager.sol/SubgraphAvailabilityManager.json @@ -0,0 +1,419 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SubgraphAvailabilityManager", + "sourceName": "contracts/rewards/SubgraphAvailabilityManager.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_governor", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardsManager", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_executionThreshold", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_voteTimeLimit", + "type": "uint256" + }, + { + "internalType": "address[5]", + "name": "_oracles", + "type": "address[5]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "OracleSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "deny", + "type": "bool" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "oracleIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "name": "OracleVote", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "voteTimeLimit", + "type": "uint256" + } + ], + "name": "VoteTimeLimitSet", + "type": "event" + }, + { + "inputs": [], + "name": "NUM_ORACLES", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "_deny", + "type": "bool" + } + ], + "name": "checkVotes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentNonce", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "executionThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lastAllowVote", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "lastDenyVote", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "oracles", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "setOracle", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_voteTimeLimit", + "type": "uint256" + } + ], + "name": "setVoteTimeLimit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "_deny", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "_oracleIndex", + "type": "uint256" + } + ], + "name": "vote", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "_subgraphDeploymentID", + "type": "bytes32[]" + }, + { + "internalType": "bool[]", + "name": "_deny", + "type": "bool[]" + }, + { + "internalType": "uint256", + "name": "_oracleIndex", + "type": "uint256" + } + ], + "name": "voteMany", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "voteTimeLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60c060405234801561001057600080fd5b5060405161103a38038061103a833981810160405261012081101561003457600080fd5b5080516020820151604083015160608401519293919290916080016001600160a01b0385166100aa576040805162461bcd60e51b815260206004820152601960248201527f53414d3a20676f7665726e6f72206d7573742062652073657400000000000000604482015290519081900360640190fd5b6001600160a01b038416610105576040805162461bcd60e51b815260206004820152601f60248201527f53414d3a20726577617264734d616e61676572206d7573742062652073657400604482015290519081900360640190fd5b600383101561015b576040805162461bcd60e51b815260206004820152601f60248201527f53414d3a20657865637574696f6e5468726573686f6c6420746f6f206c6f7700604482015290519081900360640190fd5b60058311156101b1576040805162461bcd60e51b815260206004820181905260248201527f53414d3a20657865637574696f6e5468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b60005b60058110156102785760008282600581106101cb57fe5b602002015190506001600160a01b0381166102175760405162461bcd60e51b81526004018080602001828103825260228152602001806110186022913960400191505060405180910390fd5b806004836005811061022557fe5b0180546001600160a01b0319166001600160a01b039283161790556040519082169083907f61ed5fb9f6490171d7e49a130d655388e18d520be4af17aebf95efb2933315e390600090a3506001016101b4565b5061028c856102ac60201b610b101760201c565b5060609290921b6001600160601b03191660a052608052600355506102ce565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60805160a05160601c610d1f6102f960003980610c3b5250806105a2528061065e5250610d1f6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063d3c049d311610066578063d3c049d314610256578063e3056a3414610281578063eb4fe64114610289578063f2fde38b1461034b57610100565b806379ba509714610215578063ad8cb8281461021d578063adb610a314610246578063ce70d4f41461024e57610100565b8063516be65e116100d3578063516be65e146101af5780635b69a7d8146101b75780635bcf8f6f146101d45780637110399b1461020d57610100565b80630c340a241461010557806316850c321461012957806317c67569146101485780633d13dd0314610174575b600080fd5b61010d610371565b604080516001600160a01b039092168252519081900360200190f35b6101466004803603602081101561013f57600080fd5b5035610380565b005b6101466004803603604081101561015e57600080fd5b50803590602001356001600160a01b031661041c565b61019d6004803603606081101561018a57600080fd5b508035906020810135906040013561056e565b60408051918252519081900360200190f35b61019d6105a0565b61010d600480360360208110156101cd57600080fd5b50356105c4565b6101f9600480360360408110156101ea57600080fd5b508035906020013515156105e4565b604080519115158252519081900360200190f35b61019d6106a8565b6101466106ae565b61019d6004803603606081101561023357600080fd5b50803590602081013590604001356107bc565b61019d6107e4565b61019d6107ea565b6101466004803603606081101561026c57600080fd5b508035906020810135151590604001356107ef565b61010d6108bc565b6101466004803603606081101561029f57600080fd5b8101906020810181356401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b91939092909160208101903564010000000081111561030c57600080fd5b82018360208201111561031e57600080fd5b8035906020019184602083028401116401000000008311171561034057600080fd5b9193509150356108cb565b6101466004803603602081101561036157600080fd5b50356001600160a01b0316610a12565b6000546001600160a01b031681565b6000546001600160a01b031633146103d8576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b60038190556002805460010190556040805182815290517f464f177e34333595ddece650d5f32a493d41c19bfbe4454f3be06b6d22668caf9181900360200190a150565b6000546001600160a01b03163314610474576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b600582106104c4576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6001600160a01b0381166105095760405162461bcd60e51b8152600401808060200182810382526022815260200180610cc86022913960400191505060405180910390fd5b806004836005811061051757fe5b0180546001600160a01b0319166001600160a01b039283161790556002805460010190556040519082169083907f61ed5fb9f6490171d7e49a130d655388e18d520be4af17aebf95efb2933315e390600090a35050565b600a602052826000526040600020602052816000526040600020816005811061059657600080fd5b0154925083915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600481600581106105d457600080fd5b01546001600160a01b0316905081565b600354600090819042038184610615576002546000908152600a602090815260408083208984529091529020610632565b600254600090815260096020908152604080832089845290915290205b905060005b6005811015610699578282826005811061064d57fe5b0154111561065c576001909301925b7f00000000000000000000000000000000000000000000000000000000000000008414156106915760019450505050506106a2565b600101610637565b50600093505050505b92915050565b60035481565b6001546001600160a01b031680158015906106d15750336001600160a01b038216145b610722576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6009602052826000526040600020602052816000526040600020816005811061059657600080fd5b60025481565b600581565b8060058110610840576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6004816005811061084d57fe5b01546001600160a01b031633146108ab576040805162461bcd60e51b815260206004820152601a60248201527f53414d3a2063616c6c6572206d757374206265206f7261636c65000000000000604482015290519081900360640190fd5b6108b6848484610b32565b50505050565b6001546001600160a01b031681565b806005811061091c576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6004816005811061092957fe5b01546001600160a01b03163314610987576040805162461bcd60e51b815260206004820152601a60248201527f53414d3a2063616c6c6572206d757374206265206f7261636c65000000000000604482015290519081900360640190fd5b8483146109c5576040805162461bcd60e51b8152602060048201526007602482015266042d8cadccee8d60cb1b604482015290519081900360640190fd5b60005b85811015610a0957610a018787838181106109df57fe5b905060200201358686848181106109f257fe5b90506020020135151585610b32565b6001016109c8565b50505050505050565b6000546001600160a01b03163314610a6a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610abc576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b428215610b92576002546000908152600960209081526040808320878452909152902081908360058110610b6257fe5b01556002546000908152600a6020908152604080832087845290915281208360058110610b8b57fe5b0155610be7565b6002546000908152600a60209081526040808320878452909152902081908360058110610bbb57fe5b0155600254600090815260096020908152604080832087845290915281208360058110610be457fe5b01555b81847f016f0374e21e413dd07655867b6cee5769499d32477ec48b125b1e2ed70c9a8a85846040518083151581526020018281526020019250505060405180910390a3610c3484846105e4565b156108b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631324a50685856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050505050505056fe53414d3a206f7261636c652063616e6e6f742062652061646472657373207a65726fa2646970667358221220a51175a2211c6a174c17f58da9d61bcf1be19a9c54d3ea226d61b1582a8e914064736f6c6343000706003353414d3a206f7261636c652063616e6e6f742062652061646472657373207a65726f", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063d3c049d311610066578063d3c049d314610256578063e3056a3414610281578063eb4fe64114610289578063f2fde38b1461034b57610100565b806379ba509714610215578063ad8cb8281461021d578063adb610a314610246578063ce70d4f41461024e57610100565b8063516be65e116100d3578063516be65e146101af5780635b69a7d8146101b75780635bcf8f6f146101d45780637110399b1461020d57610100565b80630c340a241461010557806316850c321461012957806317c67569146101485780633d13dd0314610174575b600080fd5b61010d610371565b604080516001600160a01b039092168252519081900360200190f35b6101466004803603602081101561013f57600080fd5b5035610380565b005b6101466004803603604081101561015e57600080fd5b50803590602001356001600160a01b031661041c565b61019d6004803603606081101561018a57600080fd5b508035906020810135906040013561056e565b60408051918252519081900360200190f35b61019d6105a0565b61010d600480360360208110156101cd57600080fd5b50356105c4565b6101f9600480360360408110156101ea57600080fd5b508035906020013515156105e4565b604080519115158252519081900360200190f35b61019d6106a8565b6101466106ae565b61019d6004803603606081101561023357600080fd5b50803590602081013590604001356107bc565b61019d6107e4565b61019d6107ea565b6101466004803603606081101561026c57600080fd5b508035906020810135151590604001356107ef565b61010d6108bc565b6101466004803603606081101561029f57600080fd5b8101906020810181356401000000008111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111640100000000831117156102ee57600080fd5b91939092909160208101903564010000000081111561030c57600080fd5b82018360208201111561031e57600080fd5b8035906020019184602083028401116401000000008311171561034057600080fd5b9193509150356108cb565b6101466004803603602081101561036157600080fd5b50356001600160a01b0316610a12565b6000546001600160a01b031681565b6000546001600160a01b031633146103d8576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b60038190556002805460010190556040805182815290517f464f177e34333595ddece650d5f32a493d41c19bfbe4454f3be06b6d22668caf9181900360200190a150565b6000546001600160a01b03163314610474576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b600582106104c4576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6001600160a01b0381166105095760405162461bcd60e51b8152600401808060200182810382526022815260200180610cc86022913960400191505060405180910390fd5b806004836005811061051757fe5b0180546001600160a01b0319166001600160a01b039283161790556002805460010190556040519082169083907f61ed5fb9f6490171d7e49a130d655388e18d520be4af17aebf95efb2933315e390600090a35050565b600a602052826000526040600020602052816000526040600020816005811061059657600080fd5b0154925083915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600481600581106105d457600080fd5b01546001600160a01b0316905081565b600354600090819042038184610615576002546000908152600a602090815260408083208984529091529020610632565b600254600090815260096020908152604080832089845290915290205b905060005b6005811015610699578282826005811061064d57fe5b0154111561065c576001909301925b7f00000000000000000000000000000000000000000000000000000000000000008414156106915760019450505050506106a2565b600101610637565b50600093505050505b92915050565b60035481565b6001546001600160a01b031680158015906106d15750336001600160a01b038216145b610722576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6009602052826000526040600020602052816000526040600020816005811061059657600080fd5b60025481565b600581565b8060058110610840576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6004816005811061084d57fe5b01546001600160a01b031633146108ab576040805162461bcd60e51b815260206004820152601a60248201527f53414d3a2063616c6c6572206d757374206265206f7261636c65000000000000604482015290519081900360640190fd5b6108b6848484610b32565b50505050565b6001546001600160a01b031681565b806005811061091c576040805162461bcd60e51b815260206004820152601860248201527753414d3a20696e646578206f7574206f6620626f756e647360401b604482015290519081900360640190fd5b6004816005811061092957fe5b01546001600160a01b03163314610987576040805162461bcd60e51b815260206004820152601a60248201527f53414d3a2063616c6c6572206d757374206265206f7261636c65000000000000604482015290519081900360640190fd5b8483146109c5576040805162461bcd60e51b8152602060048201526007602482015266042d8cadccee8d60cb1b604482015290519081900360640190fd5b60005b85811015610a0957610a018787838181106109df57fe5b905060200201358686848181106109f257fe5b90506020020135151585610b32565b6001016109c8565b50505050505050565b6000546001600160a01b03163314610a6a576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610abc576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b428215610b92576002546000908152600960209081526040808320878452909152902081908360058110610b6257fe5b01556002546000908152600a6020908152604080832087845290915281208360058110610b8b57fe5b0155610be7565b6002546000908152600a60209081526040808320878452909152902081908360058110610bbb57fe5b0155600254600090815260096020908152604080832087845290915281208360058110610be457fe5b01555b81847f016f0374e21e413dd07655867b6cee5769499d32477ec48b125b1e2ed70c9a8a85846040518083151581526020018281526020019250505060405180910390a3610c3484846105e4565b156108b6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631324a50685856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050505050505056fe53414d3a206f7261636c652063616e6e6f742062652061646472657373207a65726fa2646970667358221220a51175a2211c6a174c17f58da9d61bcf1be19a9c54d3ea226d61b1582a8e914064736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.dbg.json b/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.json b/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.json new file mode 100644 index 000000000..b25e6705c --- /dev/null +++ b/abis/staking/IL1GraphTokenLockTransferTool.sol/IL1GraphTokenLockTransferTool.json @@ -0,0 +1,48 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL1GraphTokenLockTransferTool", + "sourceName": "contracts/staking/IL1GraphTokenLockTransferTool.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Wallet", + "type": "address" + } + ], + "name": "l2WalletAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Wallet", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "pullETH", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IL1Staking.sol/IL1Staking.dbg.json b/abis/staking/IL1Staking.sol/IL1Staking.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IL1Staking.sol/IL1Staking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IL1Staking.sol/IL1Staking.json b/abis/staking/IL1Staking.sol/IL1Staking.json new file mode 100644 index 000000000..346c75041 --- /dev/null +++ b/abis/staking/IL1Staking.sol/IL1Staking.json @@ -0,0 +1,2107 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL1Staking", + "sourceName": "contracts/staking/IL1Staking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredDelegationTokens", + "type": "uint256" + } + ], + "name": "DelegationTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredStakeTokens", + "type": "uint256" + } + ], + "name": "IndexerStakeTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "L1GraphTokenLockTransferToolSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "slasher", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SlasherUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeDelegatedLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + } + ], + "name": "StakeDelegatedUnlockedDueToL2Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDelegatedWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + } + ], + "name": "StakeSlashed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "allocations", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "delegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "delegationPools", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "updatedAtBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "internalType": "struct IStakingExtension.DelegationPoolReturn", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationUnbondingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "getDelegation", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "_delegation", + "type": "tuple" + } + ], + "name": "getWithdraweableDelegatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "isDelegator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxAllocationEpochs", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumIndexerStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_maybeOperator", + "type": "address" + } + ], + "name": "operatorAuth", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "rewardsDestination", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + } + ], + "name": "setDelegationRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setDelegationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + } + ], + "name": "setDelegationUnbondingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IL1GraphTokenLockTransferTool", + "name": "_l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "setL1GraphTokenLockTransferTool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_slasher", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setSlasher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reward", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_maybeSlasher", + "type": "address" + } + ], + "name": "slashers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokensStaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensAllocated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakes.Indexer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "subgraphAllocations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "thawingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferDelegationToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedDelegationToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedStakeToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferStakeToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "undelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "unlockDelegationToTransferredIndexer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_newIndexer", + "type": "address" + } + ], + "name": "withdrawDelegated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IL1StakingBase.sol/IL1StakingBase.dbg.json b/abis/staking/IL1StakingBase.sol/IL1StakingBase.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IL1StakingBase.sol/IL1StakingBase.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IL1StakingBase.sol/IL1StakingBase.json b/abis/staking/IL1StakingBase.sol/IL1StakingBase.json new file mode 100644 index 000000000..276fdb6c0 --- /dev/null +++ b/abis/staking/IL1StakingBase.sol/IL1StakingBase.json @@ -0,0 +1,253 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IL1StakingBase", + "sourceName": "contracts/staking/IL1StakingBase.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredDelegationTokens", + "type": "uint256" + } + ], + "name": "DelegationTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredStakeTokens", + "type": "uint256" + } + ], + "name": "IndexerStakeTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "L1GraphTokenLockTransferToolSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + } + ], + "name": "StakeDelegatedUnlockedDueToL2Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IL1GraphTokenLockTransferTool", + "name": "_l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "setL1GraphTokenLockTransferTool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferDelegationToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedDelegationToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedStakeToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferStakeToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "unlockDelegationToTransferredIndexer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IStaking.sol/IStaking.dbg.json b/abis/staking/IStaking.sol/IStaking.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IStaking.sol/IStaking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IStaking.sol/IStaking.json b/abis/staking/IStaking.sol/IStaking.json new file mode 100644 index 000000000..381b3f9b9 --- /dev/null +++ b/abis/staking/IStaking.sol/IStaking.json @@ -0,0 +1,1865 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStaking", + "sourceName": "contracts/staking/IStaking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "slasher", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SlasherUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeDelegatedLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDelegatedWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + } + ], + "name": "StakeSlashed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "allocations", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "delegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "delegationPools", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "updatedAtBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "internalType": "struct IStakingExtension.DelegationPoolReturn", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationUnbondingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "getDelegation", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "_delegation", + "type": "tuple" + } + ], + "name": "getWithdraweableDelegatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "isDelegator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxAllocationEpochs", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumIndexerStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_maybeOperator", + "type": "address" + } + ], + "name": "operatorAuth", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "rewardsDestination", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + } + ], + "name": "setDelegationRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setDelegationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + } + ], + "name": "setDelegationUnbondingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_slasher", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setSlasher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reward", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_maybeSlasher", + "type": "address" + } + ], + "name": "slashers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokensStaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensAllocated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakes.Indexer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "subgraphAllocations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "thawingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "undelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_newIndexer", + "type": "address" + } + ], + "name": "withdrawDelegated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IStakingBase.sol/IStakingBase.dbg.json b/abis/staking/IStakingBase.sol/IStakingBase.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IStakingBase.sol/IStakingBase.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IStakingBase.sol/IStakingBase.json b/abis/staking/IStakingBase.sol/IStakingBase.json new file mode 100644 index 000000000..4b68d5df9 --- /dev/null +++ b/abis/staking/IStakingBase.sol/IStakingBase.json @@ -0,0 +1,1011 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStakingBase", + "sourceName": "contracts/staking/IStakingBase.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IStakingData.sol/IStakingData.dbg.json b/abis/staking/IStakingData.sol/IStakingData.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IStakingData.sol/IStakingData.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IStakingData.sol/IStakingData.json b/abis/staking/IStakingData.sol/IStakingData.json new file mode 100644 index 000000000..07a810d30 --- /dev/null +++ b/abis/staking/IStakingData.sol/IStakingData.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStakingData", + "sourceName": "contracts/staking/IStakingData.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/IStakingExtension.sol/IStakingExtension.dbg.json b/abis/staking/IStakingExtension.sol/IStakingExtension.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/IStakingExtension.sol/IStakingExtension.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/IStakingExtension.sol/IStakingExtension.json b/abis/staking/IStakingExtension.sol/IStakingExtension.json new file mode 100644 index 000000000..cbef3eca4 --- /dev/null +++ b/abis/staking/IStakingExtension.sol/IStakingExtension.json @@ -0,0 +1,813 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStakingExtension", + "sourceName": "contracts/staking/IStakingExtension.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "slasher", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SlasherUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeDelegatedLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDelegatedWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + } + ], + "name": "StakeSlashed", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "allocations", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "delegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "delegationPools", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "updatedAtBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "internalType": "struct IStakingExtension.DelegationPoolReturn", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationUnbondingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "getDelegation", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "_delegation", + "type": "tuple" + } + ], + "name": "getWithdraweableDelegatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "isDelegator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxAllocationEpochs", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumIndexerStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_maybeOperator", + "type": "address" + } + ], + "name": "operatorAuth", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "rewardsDestination", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + } + ], + "name": "setDelegationRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setDelegationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + } + ], + "name": "setDelegationUnbondingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_slasher", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setSlasher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reward", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_maybeSlasher", + "type": "address" + } + ], + "name": "slashers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokensStaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensAllocated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakes.Indexer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "subgraphAllocations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "thawingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "undelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_newIndexer", + "type": "address" + } + ], + "name": "withdrawDelegated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/L1Staking.sol/L1Staking.dbg.json b/abis/staking/L1Staking.sol/L1Staking.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/L1Staking.sol/L1Staking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/L1Staking.sol/L1Staking.json b/abis/staking/L1Staking.sol/L1Staking.json new file mode 100644 index 000000000..00c97aa2e --- /dev/null +++ b/abis/staking/L1Staking.sol/L1Staking.json @@ -0,0 +1,1426 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1Staking", + "sourceName": "contracts/staking/L1Staking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Delegator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredDelegationTokens", + "type": "uint256" + } + ], + "name": "DelegationTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transferredStakeTokens", + "type": "uint256" + } + ], + "name": "IndexerStakeTransferredToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "L1GraphTokenLockTransferToolSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + } + ], + "name": "StakeDelegatedUnlockedDueToL2Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "indexerTransferredToL2", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IL1GraphTokenLockTransferTool", + "name": "_l1GraphTokenLockTransferTool", + "type": "address" + } + ], + "name": "setL1GraphTokenLockTransferTool", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferDelegationToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedDelegationToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferLockedStakeToL2", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "transferStakeToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "unlockDelegationToTransferredIndexer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e0516101005161012051610140516158876200017e60003980611ea5525080611e7c5280614362525080611e53528061340c525080611e2a525080611e015280614325525080611dd85280612b41525080611daf52806142fa52506158876000f3fe6080604052600436106102605760003560e01c806392eefe9b11610144578063b6363cf2116100b6578063ddb8b1311161007a578063ddb8b131146107e4578063e2e1e8e914610804578063e73e14bf14610824578063f0c2d66c14610844578063f1d60d6614610864578063f77c4791146108845761029a565b8063b6363cf21461075c578063bb8d57c91461077c578063cbf0fdfe1461078f578063d6866ea5146107a2578063d755ad34146107b75761029a565b8063a2594d8211610108578063a2594d821461068f578063a2a31722146106af578063a510be20146106cf578063a694fc3a146106ef578063a6fe292b1461070f578063ac9650d81461072f5761029a565b806392eefe9b146105e257806398c657dc146106025780639a48bf831461062f5780639ce7abe51461064f5780639dcaa6c91461066f5761029a565b80633ccfd60b116101dd578063687fe40e116101a1578063687fe40e1461051557806369286e47146105355780636948a78c146105555780636a3ca38314610575578063772495c3146105a25780638d3c100a146105c25761029a565b80633ccfd60b1461046e57806342f543ae1461048357806344c32a61146104a3578063558a7297146104c357806355c85269146104e35761029a565b80632652d75e116102245780632652d75e146103ce5780632e17de78146103ee5780632fd434821461040e57806332bc91081461042e57806339dcf4761461044e5761029a565b80630a6655a01461030b5780630e0229231461032b5780631787e69f146103615780631ae720451461038e57806323477e48146103ae5761029a565b3661029a57604d546001600160a01b031633146102985760405162461bcd60e51b815260040161028f90614eb4565b60405180910390fd5b005b3480156102a657600080fd5b5060006102b1610899565b6001600160a01b031614156102d85760405162461bcd60e51b815260040161028f90615234565b6040516001600160a01b036019541636600083376000803684845af490503d806000843e818015610307578184f35b8184fd5b34801561031757600080fd5b50610298610326366004614876565b6108be565b34801561033757600080fd5b5061034b6103463660046146da565b610a34565b60405161035891906155a4565b60405180910390f35b34801561036d57600080fd5b5061038161037c3660046146da565b610ac4565b6040516103589190614e53565b34801561039a57600080fd5b506102986103a93660046146da565b610adf565b3480156103ba57600080fd5b506102986103c93660046147f2565b610b29565b3480156103da57600080fd5b506102986103e9366004614bd0565b610b40565b3480156103fa57600080fd5b50610298610409366004614a41565b610b54565b34801561041a57600080fd5b506102986104293660046146da565b610d1f565b34801561043a57600080fd5b50610298610449366004614bd0565b610e80565b34801561045a57600080fd5b50610298610469366004614bd0565b610e91565b34801561047a57600080fd5b50610298610ea2565b34801561048f57600080fd5b5061029861049e366004614b9f565b610eb5565b3480156104af57600080fd5b506102986104be3660046147c7565b61101b565b3480156104cf57600080fd5b506102986104de36600461479a565b611031565b3480156104ef57600080fd5b506105036104fe3660046146da565b6110c9565b60405161035896959493929190614e20565b34801561052157600080fd5b506102986105303660046148f3565b611199565b34801561054157600080fd5b50610298610550366004614c2c565b61139f565b34801561056157600080fd5b506102986105703660046146da565b6113b9565b34801561058157600080fd5b506105956105903660046146da565b61140b565b6040516103589190614e15565b3480156105ae57600080fd5b506102986105bd3660046146da565b61142a565b3480156105ce57600080fd5b506102986105dd366004614b7b565b611481565b3480156105ee57600080fd5b506102986105fd3660046146da565b6117fa565b34801561060e57600080fd5b5061062261061d3660046146da565b61180b565b6040516103589190614e6a565b34801561063b57600080fd5b5061029861064a366004614bd0565b61181c565b34801561065b57600080fd5b5061029861066a366004614b10565b61182d565b34801561067b57600080fd5b5061029861068a366004614bea565b611983565b34801561069b57600080fd5b506102986106aa3660046146da565b611993565b3480156106bb57600080fd5b506102986106ca3660046147c7565b611aae565b3480156106db57600080fd5b506103816106ea3660046146da565b611af2565b3480156106fb57600080fd5b5061029861070a366004614a41565b611b88565b34801561071b57600080fd5b5061029861072a366004614a59565b611b92565b34801561073b57600080fd5b5061074f61074a3660046149b6565b611ba9565b6040516103589190614db5565b34801561076857600080fd5b50610595610777366004614712565b611ce9565b61029861078a36600461474a565b611d18565b61029861079d3660046148b0565b611d68565b3480156107ae57600080fd5b50610298611daa565b3480156107c357600080fd5b506107d76107d23660046146da565b611ec9565b6040516103589190614cfe565b3480156107f057600080fd5b506102986107ff366004614a41565b611ee4565b34801561081057600080fd5b5061038161081f366004614a41565b611ef5565b34801561083057600080fd5b5061059561083f3660046146da565b611f07565b34801561085057600080fd5b5061029861085f3660046146da565b611f24565b34801561087057600080fd5b5061059561087f3660046146da565b611f77565b34801561089057600080fd5b506107d7611f96565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6108c6611fa5565b604d5460405163e7db830960e01b81526000916001600160a01b03169063e7db8309906108f7903390600401614cfe565b60206040518083038186803b15801561090f57600080fd5b505afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094791906146f6565b90506001600160a01b03811661096f5760405162461bcd60e51b815260040161028f90615448565b47600061098661097f8787612113565b8590612173565b604d54604051638f8295f760e01b81529192506001600160a01b031690638f8295f7906109b99033908590600401614d12565b600060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506109fe818361217390919063ffffffff16565b4714610a1c5760405162461bcd60e51b815260040161028f906151e1565b610a2b338885898989876121cd565b50505050505050565b610a3c61459c565b506001600160a01b038082166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201525b919050565b6001600160a01b03166000908152600e602052604090205490565b610ae76123df565b601880546001600160a01b0319166001600160a01b0383161790556040516000805160206157ef83398151915290610b1e906153c1565b60405180910390a150565b610b316124b3565b610a2b87878787878787612566565b610b486123df565b610b5181612951565b50565b610b5c611fa5565b336000818152600e602052604090208054610b895760405162461bcd60e51b815260040161028f9061549e565b6000610bd0610bca8360405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505061298b565b85612997565b905060008111610bf25760405162461bcd60e51b815260040161028f9061508a565b6000610c3a82610c34856040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b906129be565b9050801580610c4b5750600c548110155b610c675760405162461bcd60e51b815260040161028f906150b0565b60408051608081018252845481526001850154602082015260028501549181019190915260038401546060820152600090610ca190612a1b565b90508015610cb257610cb285612a48565b600d54610ccc908590859063ffffffff90811690612ae216565b846001600160a01b03167fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0185600201548660030154604051610d0f929190614e5c565b60405180910390a2505050505050565b610d27611fa5565b6001600160a01b038181166000908152604c60205260409020541615801590610d6657506001600160a01b0381166000908152600e6020526040902054155b610d825760405162461bcd60e51b815260040161028f9061538a565b6001600160a01b038116600090815260146020908152604080832033845260040190915290206001810154610dc95760405162461bcd60e51b815260040161028f90615368565b610dd1612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190614b63565b600282015560405133906001600160a01b038416907f9479d3ae78a3aabec806926645c4e8b7bfb79518adc929618d0f080c91f6830890600090a35050565b610e886123df565b610b5181612b6a565b610e996123df565b610b5181612bc1565b610eaa6124b3565b610eb333612a48565b565b610ebd611fa5565b604d5460405163e7db830960e01b81526000916001600160a01b03169063e7db830990610eee903390600401614cfe565b60206040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e91906146f6565b90506001600160a01b038116610f665760405162461bcd60e51b815260040161028f90615448565b476000610f7661097f8787612113565b604d54604051638f8295f760e01b81529192506001600160a01b031690638f8295f790610fa99033908590600401614d12565b600060405180830381600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b50505050610fee818361217390919063ffffffff16565b471461100c5760405162461bcd60e51b815260040161028f906151e1565b610a2b33848989898987612c26565b6110236124b3565b61102d8282612f26565b5050565b6001600160a01b03821633141561105a5760405162461bcd60e51b815260040161028f90614fdd565b3360008181526015602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907fa3581229e2c315eb01303f468621e07aa9b628a23b1608162ae063f143355135906110bd908590614e15565b60405180910390a35050565b6001600160a01b038082166000908152600f6020908152604080832081516101208101835281549095168552600180820154938601939093526002810154918501919091526003810154606085015260048101546080850152600581015460a0850152600681015460c0850152600781015460e08501526008015461010084015290918291829182918291829182906111618a61320e565b600281111561116c57fe5b83516020850151604086015160e090960151939092149c909b509099509297509550600094509092505050565b6111a1610899565b6001600160a01b0316336001600160a01b0316146111fc576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6112058a611802565b61120e89613269565b61121788612b6a565b611220876132aa565b61122986612bc1565b61123285612951565b6112776112426020840184614bd0565b6112526040850160208601614bd0565b6112626060860160408701614bd0565b6112726080870160608801614bd0565b61330d565b601980546001600160a01b0319166001600160a01b038381169190911791829055604051600092909116906369d33c2f60e01b906112bf9088908590899082906024016156d2565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112fd9190614ce2565b600060405180830381855af49150503d8060008114611338576040519150601f19603f3d011682016040523d82523d6000602084013e61133d565b606091505b505090508061135e5760405162461bcd60e51b815260040161028f90614f77565b6040516001600160a01b038316907f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a25050505050505050505050565b6113a76123df565b6113b38484848461330d565b50505050565b6113c16123df565b601980546001600160a01b0319166001600160a01b0383169081179091556040517f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a250565b600060016114188361320e565b600281111561142357fe5b1492915050565b3360008181526017602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f29c33cd533c17d8916c8e471a4e2c4d1e34caa9b8844527c0bb182b3c104c7d391a350565b6001600160a01b0381166114a75760405162461bcd60e51b815260040161028f906154be565b60006114b28261320e565b905060008160028111156114c257fe5b14156114e05760405162461bcd60e51b815260040161028f90615555565b826114eb575061102d565b6001600160a01b0382166000908152600f6020526040812060018101549091859080808080611518613405565b9050611525813388613430565b600d546115429082908890600160401b900463ffffffff166134f8565b945061154e86866129be565b9550611574818888600d60049054906101000a900463ffffffff1663ffffffff16613533565b935061158086856129be565b60058901549096506115929087612173565b6005890155600288015460009015806115b85750601954600160a01b900463ffffffff16155b61168157600589015460028a0154600d546019546040516349484d8160e01b815273__$79b3c9257ca58085a7f52ccac408e0258b$__946349484d819461162c9491939092600160a01b80840463ffffffff90811694600160c01b908190048216949283048216939204169060040161569f565b60206040518083038186803b15801561164457600080fd5b505af4158015611658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167c9190614b63565b611684565b60005b9050611694818a6008015461372b565b93506116a08488612997565b93506116b5826116b089876129be565b613745565b831561171f5760088901546116ca9085612173565b60088a015588546116e4906001600160a01b031685613791565b92506116f084846129be565b89546001600160a01b0390811660008181526017602052604090205492965061171f928592889291161561382c565b505086546001600160a01b03808b16918891167ff5ded07502b6feba4c13b19a0c6646efd4b4119f439bcbd49076e4f0ed1eec4b3361175c612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561179457600080fd5b505afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190614b63565b8f8a8a8d8b8b6040516117e6989796959493929190614d2b565b60405180910390a450505050505050505050565b61180261387e565b610b51816138dd565b60006118168261320e565b92915050565b6118246123df565b610b51816132aa565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186957600080fd5b505af115801561187d573d6000803e3d6000fd5b505050506040513d602081101561189357600080fd5b50516001600160a01b031633146118f1576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561196557600080fd5b505af1158015611979573d6000803e3d6000fd5b5050505050505050565b61198e338484613985565b505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b50516001600160a01b03163314611a57576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611a9257600080fd5b505af1158015611aa6573d6000803e3d6000fd5b505050505050565b611ab6611fa5565b60008111611ad65760405162461bcd60e51b815260040161028f9061510a565b611ae8611ae1613405565b3383613430565b61102d8282613a71565b6001600160a01b0381166000818152600e602090815260408083208151608081018352815481526001820154818501526002808301548285015260039092015460608201529484526014909252822001546013549192918390611b649063ffffffff16611b5e856129ae565b90612113565b90506000611b728383612997565b9050611b7e8482613b85565b9695505050505050565b610b513382611aae565b611b9a6124b3565b611aa633878787878787612566565b60608167ffffffffffffffff81118015611bc257600080fd5b50604051908082528060200260200182016040528015611bf657816020015b6060815260200190600190039081611be15790505b50905060005b82811015611ce25760008030868685818110611c1457fe5b9050602002810190611c269190615738565b604051611c34929190614cd2565b600060405180830381855af49150503d8060008114611c6f576040519150601f19603f3d011682016040523d82523d6000602084013e611c74565b606091505b509150915081611cc057604481511015611c8d57600080fd5b60048101905080806020019051810190611ca79190614aca565b60405162461bcd60e51b815260040161028f9190614e7e565b80848481518110611ccd57fe5b60209081029190910101525050600101611bfc565b5092915050565b6001600160a01b0380821660009081526015602090815260408083209386168352929052205460ff1692915050565b611d20611fa5565b611d34611d2d8385612113565b8290612173565b3414611d525760405162461bcd60e51b815260040161028f90615529565b611d61338686868686346121cd565b5050505050565b611d70611fa5565b611d7d611d2d8385612113565b3414611d9b5760405162461bcd60e51b815260040161028f90615529565b611d6133868686868634612c26565b611dd37f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611dfc7f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e257f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e4e7f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e777f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611ea07f0000000000000000000000000000000000000000000000000000000000000000613bc2565b610eb37f0000000000000000000000000000000000000000000000000000000000000000613bc2565b604c602052600090815260409020546001600160a01b031681565b611eec6123df565b610b5181613269565b60009081526010602052604090205490565b6001600160a01b03166000908152600e6020526040902054151590565b611f2c6123df565b604d80546001600160a01b0319166001600160a01b0383161790556040517f1df10d75b292a047367affe08d5cfc6e4e56bb9dd9b648e9525dffe9fbd89f0b90610b1e908390614cfe565b600080611f838361320e565b6002811115611f8e57fe5b141592915050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff157600080fd5b505afa158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b505115612058576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b505115610eb3576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261212257506000611816565b8282028284828161212f57fe5b041461216c5760405162461bcd60e51b81526004018080602001828103825260218152602001806158316021913960400191505060405180910390fd5b9392505050565b60008282018381101561216c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0385166121f35760405162461bcd60e51b815260040161028f90615297565b6001600160a01b038681166000908152604c60205260409020541661222a5760405162461bcd60e51b815260040161028f9061538a565b6001600160a01b038087166000908152601460209081526040808320938b1683526004840190915290206001810154156122765760405162461bcd60e51b815260040161028f9061505f565b80546122945760405162461bcd60e51b815260040161028f9061533f565b60006122bf83600301546122b98560020154856000015461211390919063ffffffff16565b90613cc3565b60028401549091506122d190826129be565b6002840155815460038401546122e6916129be565b60038401556000825560606122f96145f4565b6001600160a01b03808c166000908152604c602090815260409091205482168352908b1690820152600181604051602001612334919061560c565b60408051601f1981840301815290829052612352929160200161571c565b604051602081830303815290604052915050612372828989898986613d2a565b6001600160a01b03808b166000818152604c60205260409081902054905191928c8116928f8216927f231e5cfeff7759a468241d939ab04a60d603b17e359057abbb8f52afc3e4986b926123ca929116908890614d12565b60405180910390a45050505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561242b57600080fd5b505afa15801561243f573d6000803e3d6000fd5b505050506040513d602081101561245557600080fd5b50516001600160a01b03163314610eb3576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ff57600080fd5b505afa158015612513573d6000803e3d6000fd5b505050506040513d602081101561252957600080fd5b505115610eb3576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b61256f87613e92565b61258b5760405162461bcd60e51b815260040161028f9061550a565b6001600160a01b0384166125b15760405162461bcd60e51b815260040161028f906154be565b60006125bc8561320e565b60028111156125c757fe5b146125e45760405162461bcd60e51b815260040161028f90615198565b600087856040516020016125f9929190614cab565b604051602081830303815290604052805190602001209050600061261c82613ebb565b9050856001600160a01b03166126688286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f0c92505050565b6001600160a01b03161461268e5760405162461bcd60e51b815260040161028f90615178565b600c546126f1600e60008c6001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b101561270f5760405162461bcd60e51b815260040161028f906150b0565b861561273d578661271f8a611af2565b101561273d5760405162461bcd60e51b815260040161028f906153f8565b60006040518061012001604052808b6001600160a01b031681526020018a815260200189815260200161276e612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b1580156127a657600080fd5b505afa1580156127ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127de9190614b63565b815260200160008152602001600081526020016000815260200160008a11612807576000612810565b6128108b613f82565b8152600060209182018190526001600160a01b038a81168252600f8352604091829020845181546001600160a01b03191692169190911781559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160089091015590508715612901576040808201516001600160a01b038c166000908152600e602052919091206128c791614025565b6040808201516020808401516000908152601090915291909120546128eb91612173565b6020808301516000908152601090915260409020555b866001600160a01b0316898b6001600160a01b03167f0f73ab5f706106366951b51f760e0a6f60c794f233d90958d81c82ad84fa6e87846060015185604001518b6040516117e693929190615689565b600d805463ffffffff60801b1916600160801b63ffffffff8416021790556040516000805160206157ef83398151915290610b1e90615577565b60006118168282613b85565b6000818311156129a7578161216c565b5090919050565b6040810151815160009161181691905b600082821115612a15576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000816060015160001480612a335750816060015143105b15612a4057506000610abf565b506040015190565b6001600160a01b0381166000908152600e60205260408120612a6990614040565b905060008111612a8b5760405162461bcd60e51b815260040161028f9061510a565b612a9d612a96613405565b838361409b565b816001600160a01b03167f8108595eb6bad3acefa9da467d90cc2217686d5c5ac85460f8b7849c840645fc82604051612ad69190614e53565b60405180910390a25050565b6002830154819015612b0e57612b0b612aff85600301544361372b565b856002015484866140f8565b90505b6002840154612b1d9084612173565b6002850155612b2c4382612173565b846003018190555050505050565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b905090565b60008163ffffffff1611612b905760405162461bcd60e51b815260040161028f90615476565b600d805463ffffffff191663ffffffff83161790556040516000805160206157ef83398151915290610b1e90615009565b620f424063ffffffff82161115612bea5760405162461bcd60e51b815260040161028f9061531a565b600d805467ffffffff00000000191664010000000063ffffffff8416021790556040516000805160206157ef83398151915290610b1e906152ee565b6001600160a01b0387166000908152600e602052604090208054612c5c5760405162461bcd60e51b815260040161028f906152c3565b600281015415612c7e5760405162461bcd60e51b815260040161028f9061505f565b6001600160a01b038716612ca45760405162461bcd60e51b815260040161028f90615297565b6001600160a01b038881166000908152604c60205260409020541615612d05576001600160a01b038881166000908152604c6020526040902054811690881614612d005760405162461bcd60e51b815260040161028f90614fa6565b612d55565b6001600160a01b038881166000908152604c6020526040902080546001600160a01b031916918916919091179055600c54861015612d555760405162461bcd60e51b815260040161028f90614f40565b8054612d6190876129be565b8082551580612d735750600c54815410155b612d8f5760405162461bcd60e51b815260040161028f90615260565b6001600160a01b03881660009081526014602052604090208154612dd457600182015415612dcf5760405162461bcd60e51b815260040161028f90614e91565b612e69565b6013548254600091612df0919063ffffffff9081169061211316565b90506000612e02836002015483612997565b8454909150612e119082612173565b60408051608081018252865481526001870154602082015260028701549181019190915260038601546060820152612e48906141cc565b1115612e665760405162461bcd60e51b815260040161028f90615030565b50505b612e7161460b565b6001600160a01b038916815260008082604051602001612e91919061562f565b60408051601f1981840301815290829052612eaf929160200161571c565b6040516020818303038152906040529050612ece898989898986613d2a565b896001600160a01b03168b6001600160a01b03167f869be114c2c3725ff5a2c6ea9ce2d37bf0d5a33c50fcc4905dc11d6958cd122c8b604051612f119190614e53565b60405180910390a35050505050505050505050565b6000612f318361320e565b90506001816002811115612f4157fe5b14612f5e5760405162461bcd60e51b815260040161028f90615157565b6001600160a01b038084166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e083015260080154610100820152612fe7612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561301f57600080fd5b505afa158015613033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130579190614b63565b60808201819052606082015160009161306f9161372b565b905060006130808360000151613e92565b600d54909150600160801b900463ffffffff16821115806130a357506040830151155b156130c557806130c55760405162461bcd60e51b815260040161028f9061550a565b604083015115613170578080156130db57508415155b80156130e75750600082115b156130ff576130fa8684600001516141e9565b61310e565b61310c8360200151613f82565b505b60408084015184516001600160a01b03166000908152600e60205291909120613136916142e4565b60408084015160208086015160009081526010909152919091205461315a916129be565b6020808501516000908152601090915260409020555b8260800151600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060040181905550856001600160a01b0316836020015184600001516001600160a01b03167ff6725dd105a6fc88bb79a6e4627f128577186c567a17c94818d201c2a4ce140386608001518760400151338b88156040516131fe95949392919061565b565b60405180910390a4505050505050565b6001600160a01b038082166000908152600f602052604081208054919290911661323c576000915050610abf565b60038101541580159061325157506004810154155b15613260576001915050610abf565b50600292915050565b600081116132895760405162461bcd60e51b815260040161028f906150b0565b600c8190556040516000805160206157ef83398151915290610b1e9061541b565b620f424063ffffffff821611156132d35760405162461bcd60e51b815260040161028f9061531a565b600d805463ffffffff60401b1916600160401b63ffffffff8416021790556040516000805160206157ef83398151915290610b1e9061512b565b60008363ffffffff16116133335760405162461bcd60e51b815260040161028f90614eeb565b60008263ffffffff16116133595760405162461bcd60e51b815260040161028f906151b7565b60008163ffffffff161161337f5760405162461bcd60e51b815260040161028f906150de565b600d805463ffffffff858116600160c01b90810263ffffffff60c01b19838a16600160a01b90810263ffffffff60a01b19968716178216929092179095556019805487851690930293881690910291909316179092169190911790556040516000805160206157ef833981519152906133f790614f16565b60405180910390a150505050565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b801561198e57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561348f57600080fd5b505af11580156134a3573d6000803e3d6000fd5b505050506040513d60208110156134b957600080fd5b505161198e576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600080613510620f42406122b986611b5e83886129be565b9050600061351e85836129be565b905061352a8682613745565b95945050505050565b60008261354257506000613723565b600061354c6142f3565b90506000808411801561356757506001600160a01b03821615155b90508080156135ed5750604051634c4ea0ed60e01b81526001600160a01b03831690634c4ea0ed9061359d908990600401614e53565b60206040518083038186803b1580156135b557600080fd5b505afa1580156135c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ed9190614a25565b1561371c576000613609620f42406122b988611b5e838a6129be565b9050600061361787836129be565b905080156137115761362761431e565b6001600160a01b0316631d1c2fec896040518263ffffffff1660e01b81526004016136529190614e53565b602060405180830381600087803b15801561366c57600080fd5b505af1158015613680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a49190614b63565b506136b089858361409b565b60405163102ae65160e31b81526001600160a01b038516906381573288906136de908b908590600401614e5c565b600060405180830381600087803b1580156136f857600080fd5b505af115801561370c573d6000803e3d6000fd5b505050505b935061372392505050565b6000925050505b949350505050565b600081831161373b57600061216c565b61216c83836129be565b801561102d57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a9257600080fd5b6001600160a01b03821660009081526014602052604081206002810154829190158015906137d057508054620f4240600160401b90910463ffffffff16105b156138245780546000906137ff90620f4240906122b990600160401b900463ffffffff90811690899061211316565b905061380b85826129be565b600283015490935061381d9084612173565b6002830155505b509392505050565b82613836576113b3565b801561384b576138468284613a71565b6113b3565b6001600160a01b0380831660009081526017602052604090205416611d618582156138765782613878565b845b8661409b565b6000546001600160a01b03163314610eb3576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116613931576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b620f424063ffffffff821611156139ae5760405162461bcd60e51b815260040161028f9061520e565b620f424063ffffffff831611156139d75760405162461bcd60e51b815260040161028f906154de565b6001600160a01b038316600081815260146020526040808220805463ffffffff868116600160401b0263ffffffff60401b199189166401000000000267ffffffff0000000019909316929092171617815543600182015590519092917fdd5c1add84431df7ff63c721510522fbccafda37dfc33f0f5094d90135a8f22a91613a639187918791906156fc565b60405180910390a250505050565b600c54613ade82613ad8600e6000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b90612173565b1015613afc5760405162461bcd60e51b815260040161028f906150b0565b6001600160a01b0382166000908152600e60205260409020613b1e9082614349565b6001600160a01b038216600090815260146020526040902060010154613b4c57613b4c82620f424080613985565b816001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc282604051612ad69190614e53565b81516000908190613b969084612173565b90506000613ba3856141cc565b905081811115613bb857600092505050611816565b61352a82826129be565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015613c0f57600080fd5b505afa158015613c23573d6000803e3d6000fd5b505050506040513d6020811015613c3957600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461102d5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000808211613d19576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613d2257fe5b049392505050565b6000613d34613405565b90506000613d4061435b565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390613d719084908c90600401614d12565b602060405180830381600087803b158015613d8b57600080fd5b505af1158015613d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dc39190614a25565b50806001600160a01b031663d2ce7d658584601860009054906101000a90046001600160a01b03168c8c8c8c8b604051602001613e01929190615642565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401613e3196959493929190614d6c565b6000604051808303818588803b158015613e4a57600080fd5b505af1158015613e5e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052613e879190810190614aca565b505050505050505050565b6000336001600160a01b03831614806118165750613eb03383611ce9565b151560011492915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114613f64576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611b7e86828585614386565b600080613f8d61431e565b90506001600160a01b038116613fa7576000915050610abf565b6040516377561f0760e11b81526001600160a01b0382169063eeac3e0e90613fd3908690600401614e53565b602060405180830381600087803b158015613fed57600080fd5b505af1158015614001573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216c9190614b63565b60018201546140349082612173565b82600101819055505050565b60008061407f83604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612a1b565b905080156118165761409183826144fb565b6118168382614520565b801561198e57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561348f57600080fd5b600061352a6141078584612173565b6122b96141196001610c348988612173565b613ad86141268888612113565b613ad88b8b612113565b6000818152600160205260408120546001600160a01b0316806118165760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561419957600080fd5b505afa1580156141ad573d6000803e3d6000fd5b505050506040513d60208110156141c357600080fd5b50519392505050565b60006118168260400151836020015161217390919063ffffffff16565b60006141f361431e565b90506001600160a01b038116614209575061102d565b604051636dba849360e11b81526000906001600160a01b0383169063db75092690614238908790600401614cfe565b602060405180830381600087803b15801561425257600080fd5b505af1158015614266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061428a9190614b63565b90508061429857505061102d565b60006142a4848361452c565b905060006142b283836129be565b9050611aa66142bf613405565b6001600160a01b0380881660009081526017602052604090205484918991161561382c565b600182015461403490826129be565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b81546143559082612173565b90915550565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156143e75760405162461bcd60e51b81526004018080602001828103825260228152602001806157cd6022913960400191505060405180910390fd5b8360ff16601b14806143fc57508360ff16601c145b6144375760405162461bcd60e51b815260040180806020018281038252602281526020018061580f6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015614493573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661352a576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b600282015461450a90826129be565b6002830181905561102d57600060038301555050565b815461435590826129be565b6001600160a01b038216600090815260146020526040812060028101548291901580159061456c57508054620f424064010000000090910463ffffffff16105b156138245780546000906137ff90620f4240906122b990640100000000900463ffffffff90811690899061211316565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b60408051602081019091526000815290565b600067ffffffffffffffff8084111561463257fe5b604051601f8501601f19168101602001828111828210171561465057fe5b60405284815291508183850186101561466857600080fd5b61467685602083018661577d565b50509392505050565b60008083601f840112614690578182fd5b50813567ffffffffffffffff8111156146a7578182fd5b6020830191508360208285010111156146bf57600080fd5b9250929050565b803563ffffffff81168114610abf57600080fd5b6000602082840312156146eb578081fd5b813561216c816157a9565b600060208284031215614707578081fd5b815161216c816157a9565b60008060408385031215614724578081fd5b823561472f816157a9565b9150602083013561473f816157a9565b809150509250929050565b600080600080600060a08688031215614761578081fd5b853561476c816157a9565b9450602086013561477c816157a9565b94979496505050506040830135926060810135926080909101359150565b600080604083850312156147ac578182fd5b82356147b7816157a9565b9150602083013561473f816157be565b600080604083850312156147d9578182fd5b82356147e4816157a9565b946020939093013593505050565b600080600080600080600060c0888a03121561480c578182fd5b8735614817816157a9565b965060208801359550604088013594506060880135614835816157a9565b93506080880135925060a088013567ffffffffffffffff811115614857578283fd5b6148638a828b0161467f565b989b979a50959850939692959293505050565b6000806000806080858703121561488b578182fd5b8435614896816157a9565b966020860135965060408601359560600135945092505050565b600080600080600060a086880312156148c7578283fd5b85356148d2816157a9565b97602087013597506040870135966060810135965060800135945092505050565b6000806000806000806000806000808a8c036101a0811215614913578485fd5b8b3561491e816157a9565b9a5060208c0135995061493360408d016146c6565b985061494160608d016146c6565b975061494f60808d016146c6565b965061495d60a08d016146c6565b955061496b60c08d016146c6565b945061497960e08d016146c6565b9350608060ff198201121561498c578283fd5b506101008b0191506101808b01356149a3816157a9565b809150509295989b9194979a5092959850565b600080602083850312156149c8578182fd5b823567ffffffffffffffff808211156149df578384fd5b818501915085601f8301126149f2578384fd5b813581811115614a00578485fd5b8660208083028501011115614a13578485fd5b60209290920196919550909350505050565b600060208284031215614a36578081fd5b815161216c816157be565b600060208284031215614a52578081fd5b5035919050565b60008060008060008060a08789031215614a71578384fd5b86359550602087013594506040870135614a8a816157a9565b935060608701359250608087013567ffffffffffffffff811115614aac578283fd5b614ab889828a0161467f565b979a9699509497509295939492505050565b600060208284031215614adb578081fd5b815167ffffffffffffffff811115614af1578182fd5b8201601f81018413614b01578182fd5b6137238482516020840161461d565b600080600060408486031215614b24578081fd5b8335614b2f816157a9565b9250602084013567ffffffffffffffff811115614b4a578182fd5b614b568682870161467f565b9497909650939450505050565b600060208284031215614b74578081fd5b5051919050565b60008060408385031215614b8d578182fd5b82359150602083013561473f816157a9565b60008060008060808587031215614bb4578182fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215614be1578081fd5b61216c826146c6565b600080600060608486031215614bfe578081fd5b614c07846146c6565b9250614c15602085016146c6565b9150614c23604085016146c6565b90509250925092565b60008060008060808587031215614c41578182fd5b614c4a856146c6565b9350614c58602086016146c6565b9250614c66604086016146c6565b9150614c74606086016146c6565b905092959194509250565b60008151808452614c9781602086016020860161577d565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6000828483379101908152919050565b60008251614cf481846020870161577d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03989098168852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a0830152614da960c0830184614c7f565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015614e0857603f19888603018452614df6858351614c7f565b94509285019290850190600101614dda565b5092979650505050505050565b901515815260200190565b95151586526001600160a01b0394909416602086015260408501929092526060840152608083015260a082015260c00190565b90815260200190565b918252602082015260400190565b6020810160038310614e7857fe5b91905290565b60006020825261216c6020830184614c7f565b602080825260099082015268185b1b1bd8d85d195960ba1b604082015260600190565b6020808252601f908201527f4f6e6c79207472616e7366657220746f6f6c2063616e2073656e642045544800604082015260600190565b60208082526011908201527010b0b6383430a232b737b6b4b730ba37b960791b604082015260600190565b60208082526010908201526f726562617465506172616d657465727360801b604082015260600190565b60208082526019908201527f216d696e696d756d496e64657865725374616b652073656e7400000000000000604082015260600190565b602080825260159082015274115e1d195b9cda5bdb881a5b9a5d0819985a5b1959605a1b604082015260600190565b60208082526019908201527f6c3242656e656669636961727920213d2070726576696f757300000000000000604082015260600190565b60208082526012908201527137b832b930ba37b9101e9e9039b2b73232b960711b604082015260600190565b6020808252600d908201526c1d1a185dda5b99d4195c9a5bd9609a1b604082015260600190565b6020808252601590820152742120616c6c6f636174696f6e20636170616369747960581b604082015260600190565b6020808252601190820152700746f6b656e734c6f636b656420213d203607c1b604082015260600190565b6020808252600c908201526b085cdd185ad94b585d985a5b60a21b604082015260600190565b602080825260149082015273216d696e696d756d496e64657865725374616b6560601b604082015260600190565b60208082526012908201527110b630b6b13230a232b737b6b4b730ba37b960711b604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526012908201527170726f746f636f6c50657263656e7461676560701b604082015260600190565b6020808252600790820152662161637469766560c81b604082015260600190565b60208082526006908201526510b83937b7b360d11b604082015260600190565b602080825260059082015264085b9d5b1b60da1b604082015260600190565b60208082526010908201526f10b630b6b13230a73ab6b2b930ba37b960811b604082015260600190565b602080825260139082015272115512081514905394d1915488119052531151606a1b604082015260600190565b6020808252600c908201526b0f9c5d595c9e51995950dd5d60a21b604082015260600190565b6020808252601290820152716f6e6c79207468726f7567682070726f787960701b604082015260600190565b6020808252601e908201527f216d696e696d756d496e64657865725374616b652072656d61696e696e670000604082015260600190565b60208082526012908201527106c3242656e6566696369617279203d3d20360741b604082015260600190565b6020808252601190820152700746f6b656e735374616b6564203d3d203607c1b604082015260600190565b6020808252601290820152716375726174696f6e50657263656e7461676560701b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b6020808252600f908201526e064656c65676174696f6e203d3d203608c1b604082015260600190565b60208082526008908201526708481b1bd8dad95960c21b604082015260600190565b60208082526017908201527f696e6465786572206e6f74207472616e73666572726564000000000000000000604082015260600190565b60208082526019908201527f636f756e746572706172745374616b696e674164647265737300000000000000604082015260600190565b60208082526009908201526821636170616369747960b81b604082015260600190565b6020808252601390820152726d696e696d756d496e64657865725374616b6560681b604082015260600190565b6020808252601490820152731313d0d2c81393d5081514905394d1915494915160621b604082015260600190565b6020808252600e908201526d085d1a185dda5b99d4195c9a5bd960921b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b60208082526006908201526521616c6c6f6360d01b604082015260600190565b6020808252601290820152710f9a5b99195e1a5b99d4995dd85c9910dd5d60721b604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6020808252601290820152711253959053125117d1551217d05353d5539560721b604082015260600190565b6020808252600890820152670858dbdb1b1958dd60c21b604082015260600190565b6020808252601390820152726d6178416c6c6f636174696f6e45706f63687360681b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b81516001600160a01b039081168252602092830151169181019190915260400190565b90516001600160a01b0316815260200190565b6000838252604060208301526137236040830184614c7f565b94855260208501939093526001600160a01b0391909116604084015260608301521515608082015260a00190565b9283526020830191909152604082015260600190565b958652602086019490945263ffffffff92831660408601529082166060850152811660808401521660a082015260c00190565b63ffffffff948516815260ff93841660208201529190931660408201529116606082015260800190565b63ffffffff93841681529183166020830152909116604082015260600190565b600060ff84168252604060208301526137236040830184614c7f565b6000808335601e1984360301811261574e578283fd5b83018035915067ffffffffffffffff821115615768578283fd5b6020019150368190038213156146bf57600080fd5b60005b83811015615798578181015183820152602001615780565b838111156113b35750506000910152565b6001600160a01b0381168114610b5157600080fd5b8015158114610b5157600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d024c7c051bab941d8fea14ba00c0077c345c067b5b7b5c46e6082ff19486ffd64736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106102605760003560e01c806392eefe9b11610144578063b6363cf2116100b6578063ddb8b1311161007a578063ddb8b131146107e4578063e2e1e8e914610804578063e73e14bf14610824578063f0c2d66c14610844578063f1d60d6614610864578063f77c4791146108845761029a565b8063b6363cf21461075c578063bb8d57c91461077c578063cbf0fdfe1461078f578063d6866ea5146107a2578063d755ad34146107b75761029a565b8063a2594d8211610108578063a2594d821461068f578063a2a31722146106af578063a510be20146106cf578063a694fc3a146106ef578063a6fe292b1461070f578063ac9650d81461072f5761029a565b806392eefe9b146105e257806398c657dc146106025780639a48bf831461062f5780639ce7abe51461064f5780639dcaa6c91461066f5761029a565b80633ccfd60b116101dd578063687fe40e116101a1578063687fe40e1461051557806369286e47146105355780636948a78c146105555780636a3ca38314610575578063772495c3146105a25780638d3c100a146105c25761029a565b80633ccfd60b1461046e57806342f543ae1461048357806344c32a61146104a3578063558a7297146104c357806355c85269146104e35761029a565b80632652d75e116102245780632652d75e146103ce5780632e17de78146103ee5780632fd434821461040e57806332bc91081461042e57806339dcf4761461044e5761029a565b80630a6655a01461030b5780630e0229231461032b5780631787e69f146103615780631ae720451461038e57806323477e48146103ae5761029a565b3661029a57604d546001600160a01b031633146102985760405162461bcd60e51b815260040161028f90614eb4565b60405180910390fd5b005b3480156102a657600080fd5b5060006102b1610899565b6001600160a01b031614156102d85760405162461bcd60e51b815260040161028f90615234565b6040516001600160a01b036019541636600083376000803684845af490503d806000843e818015610307578184f35b8184fd5b34801561031757600080fd5b50610298610326366004614876565b6108be565b34801561033757600080fd5b5061034b6103463660046146da565b610a34565b60405161035891906155a4565b60405180910390f35b34801561036d57600080fd5b5061038161037c3660046146da565b610ac4565b6040516103589190614e53565b34801561039a57600080fd5b506102986103a93660046146da565b610adf565b3480156103ba57600080fd5b506102986103c93660046147f2565b610b29565b3480156103da57600080fd5b506102986103e9366004614bd0565b610b40565b3480156103fa57600080fd5b50610298610409366004614a41565b610b54565b34801561041a57600080fd5b506102986104293660046146da565b610d1f565b34801561043a57600080fd5b50610298610449366004614bd0565b610e80565b34801561045a57600080fd5b50610298610469366004614bd0565b610e91565b34801561047a57600080fd5b50610298610ea2565b34801561048f57600080fd5b5061029861049e366004614b9f565b610eb5565b3480156104af57600080fd5b506102986104be3660046147c7565b61101b565b3480156104cf57600080fd5b506102986104de36600461479a565b611031565b3480156104ef57600080fd5b506105036104fe3660046146da565b6110c9565b60405161035896959493929190614e20565b34801561052157600080fd5b506102986105303660046148f3565b611199565b34801561054157600080fd5b50610298610550366004614c2c565b61139f565b34801561056157600080fd5b506102986105703660046146da565b6113b9565b34801561058157600080fd5b506105956105903660046146da565b61140b565b6040516103589190614e15565b3480156105ae57600080fd5b506102986105bd3660046146da565b61142a565b3480156105ce57600080fd5b506102986105dd366004614b7b565b611481565b3480156105ee57600080fd5b506102986105fd3660046146da565b6117fa565b34801561060e57600080fd5b5061062261061d3660046146da565b61180b565b6040516103589190614e6a565b34801561063b57600080fd5b5061029861064a366004614bd0565b61181c565b34801561065b57600080fd5b5061029861066a366004614b10565b61182d565b34801561067b57600080fd5b5061029861068a366004614bea565b611983565b34801561069b57600080fd5b506102986106aa3660046146da565b611993565b3480156106bb57600080fd5b506102986106ca3660046147c7565b611aae565b3480156106db57600080fd5b506103816106ea3660046146da565b611af2565b3480156106fb57600080fd5b5061029861070a366004614a41565b611b88565b34801561071b57600080fd5b5061029861072a366004614a59565b611b92565b34801561073b57600080fd5b5061074f61074a3660046149b6565b611ba9565b6040516103589190614db5565b34801561076857600080fd5b50610595610777366004614712565b611ce9565b61029861078a36600461474a565b611d18565b61029861079d3660046148b0565b611d68565b3480156107ae57600080fd5b50610298611daa565b3480156107c357600080fd5b506107d76107d23660046146da565b611ec9565b6040516103589190614cfe565b3480156107f057600080fd5b506102986107ff366004614a41565b611ee4565b34801561081057600080fd5b5061038161081f366004614a41565b611ef5565b34801561083057600080fd5b5061059561083f3660046146da565b611f07565b34801561085057600080fd5b5061029861085f3660046146da565b611f24565b34801561087057600080fd5b5061059561087f3660046146da565b611f77565b34801561089057600080fd5b506107d7611f96565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6108c6611fa5565b604d5460405163e7db830960e01b81526000916001600160a01b03169063e7db8309906108f7903390600401614cfe565b60206040518083038186803b15801561090f57600080fd5b505afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094791906146f6565b90506001600160a01b03811661096f5760405162461bcd60e51b815260040161028f90615448565b47600061098661097f8787612113565b8590612173565b604d54604051638f8295f760e01b81529192506001600160a01b031690638f8295f7906109b99033908590600401614d12565b600060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506109fe818361217390919063ffffffff16565b4714610a1c5760405162461bcd60e51b815260040161028f906151e1565b610a2b338885898989876121cd565b50505050505050565b610a3c61459c565b506001600160a01b038082166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e0830152600801546101008201525b919050565b6001600160a01b03166000908152600e602052604090205490565b610ae76123df565b601880546001600160a01b0319166001600160a01b0383161790556040516000805160206157ef83398151915290610b1e906153c1565b60405180910390a150565b610b316124b3565b610a2b87878787878787612566565b610b486123df565b610b5181612951565b50565b610b5c611fa5565b336000818152600e602052604090208054610b895760405162461bcd60e51b815260040161028f9061549e565b6000610bd0610bca8360405180608001604052908160008201548152602001600182015481526020016002820154815260200160038201548152505061298b565b85612997565b905060008111610bf25760405162461bcd60e51b815260040161028f9061508a565b6000610c3a82610c34856040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b906129be565b9050801580610c4b5750600c548110155b610c675760405162461bcd60e51b815260040161028f906150b0565b60408051608081018252845481526001850154602082015260028501549181019190915260038401546060820152600090610ca190612a1b565b90508015610cb257610cb285612a48565b600d54610ccc908590859063ffffffff90811690612ae216565b846001600160a01b03167fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0185600201548660030154604051610d0f929190614e5c565b60405180910390a2505050505050565b610d27611fa5565b6001600160a01b038181166000908152604c60205260409020541615801590610d6657506001600160a01b0381166000908152600e6020526040902054155b610d825760405162461bcd60e51b815260040161028f9061538a565b6001600160a01b038116600090815260146020908152604080832033845260040190915290206001810154610dc95760405162461bcd60e51b815260040161028f90615368565b610dd1612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0957600080fd5b505afa158015610e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190614b63565b600282015560405133906001600160a01b038416907f9479d3ae78a3aabec806926645c4e8b7bfb79518adc929618d0f080c91f6830890600090a35050565b610e886123df565b610b5181612b6a565b610e996123df565b610b5181612bc1565b610eaa6124b3565b610eb333612a48565b565b610ebd611fa5565b604d5460405163e7db830960e01b81526000916001600160a01b03169063e7db830990610eee903390600401614cfe565b60206040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e91906146f6565b90506001600160a01b038116610f665760405162461bcd60e51b815260040161028f90615448565b476000610f7661097f8787612113565b604d54604051638f8295f760e01b81529192506001600160a01b031690638f8295f790610fa99033908590600401614d12565b600060405180830381600087803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b50505050610fee818361217390919063ffffffff16565b471461100c5760405162461bcd60e51b815260040161028f906151e1565b610a2b33848989898987612c26565b6110236124b3565b61102d8282612f26565b5050565b6001600160a01b03821633141561105a5760405162461bcd60e51b815260040161028f90614fdd565b3360008181526015602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907fa3581229e2c315eb01303f468621e07aa9b628a23b1608162ae063f143355135906110bd908590614e15565b60405180910390a35050565b6001600160a01b038082166000908152600f6020908152604080832081516101208101835281549095168552600180820154938601939093526002810154918501919091526003810154606085015260048101546080850152600581015460a0850152600681015460c0850152600781015460e08501526008015461010084015290918291829182918291829182906111618a61320e565b600281111561116c57fe5b83516020850151604086015160e090960151939092149c909b509099509297509550600094509092505050565b6111a1610899565b6001600160a01b0316336001600160a01b0316146111fc576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b6112058a611802565b61120e89613269565b61121788612b6a565b611220876132aa565b61122986612bc1565b61123285612951565b6112776112426020840184614bd0565b6112526040850160208601614bd0565b6112626060860160408701614bd0565b6112726080870160608801614bd0565b61330d565b601980546001600160a01b0319166001600160a01b038381169190911791829055604051600092909116906369d33c2f60e01b906112bf9088908590899082906024016156d2565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112fd9190614ce2565b600060405180830381855af49150503d8060008114611338576040519150601f19603f3d011682016040523d82523d6000602084013e61133d565b606091505b505090508061135e5760405162461bcd60e51b815260040161028f90614f77565b6040516001600160a01b038316907f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a25050505050505050505050565b6113a76123df565b6113b38484848461330d565b50505050565b6113c16123df565b601980546001600160a01b0319166001600160a01b0383169081179091556040517f0cb7ab0359507b75eb7d3af43896a0a80baf3c8e551e4e8393f37f8b9bb9f38590600090a250565b600060016114188361320e565b600281111561142357fe5b1492915050565b3360008181526017602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519092917f29c33cd533c17d8916c8e471a4e2c4d1e34caa9b8844527c0bb182b3c104c7d391a350565b6001600160a01b0381166114a75760405162461bcd60e51b815260040161028f906154be565b60006114b28261320e565b905060008160028111156114c257fe5b14156114e05760405162461bcd60e51b815260040161028f90615555565b826114eb575061102d565b6001600160a01b0382166000908152600f6020526040812060018101549091859080808080611518613405565b9050611525813388613430565b600d546115429082908890600160401b900463ffffffff166134f8565b945061154e86866129be565b9550611574818888600d60049054906101000a900463ffffffff1663ffffffff16613533565b935061158086856129be565b60058901549096506115929087612173565b6005890155600288015460009015806115b85750601954600160a01b900463ffffffff16155b61168157600589015460028a0154600d546019546040516349484d8160e01b815273__$79b3c9257ca58085a7f52ccac408e0258b$__946349484d819461162c9491939092600160a01b80840463ffffffff90811694600160c01b908190048216949283048216939204169060040161569f565b60206040518083038186803b15801561164457600080fd5b505af4158015611658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167c9190614b63565b611684565b60005b9050611694818a6008015461372b565b93506116a08488612997565b93506116b5826116b089876129be565b613745565b831561171f5760088901546116ca9085612173565b60088a015588546116e4906001600160a01b031685613791565b92506116f084846129be565b89546001600160a01b0390811660008181526017602052604090205492965061171f928592889291161561382c565b505086546001600160a01b03808b16918891167ff5ded07502b6feba4c13b19a0c6646efd4b4119f439bcbd49076e4f0ed1eec4b3361175c612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561179457600080fd5b505afa1580156117a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cc9190614b63565b8f8a8a8d8b8b6040516117e6989796959493929190614d2b565b60405180910390a450505050505050505050565b61180261387e565b610b51816138dd565b60006118168261320e565b92915050565b6118246123df565b610b51816132aa565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561186957600080fd5b505af115801561187d573d6000803e3d6000fd5b505050506040513d602081101561189357600080fd5b50516001600160a01b031633146118f1576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561196557600080fd5b505af1158015611979573d6000803e3d6000fd5b5050505050505050565b61198e338484613985565b505050565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119cf57600080fd5b505af11580156119e3573d6000803e3d6000fd5b505050506040513d60208110156119f957600080fd5b50516001600160a01b03163314611a57576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611a9257600080fd5b505af1158015611aa6573d6000803e3d6000fd5b505050505050565b611ab6611fa5565b60008111611ad65760405162461bcd60e51b815260040161028f9061510a565b611ae8611ae1613405565b3383613430565b61102d8282613a71565b6001600160a01b0381166000818152600e602090815260408083208151608081018352815481526001820154818501526002808301548285015260039092015460608201529484526014909252822001546013549192918390611b649063ffffffff16611b5e856129ae565b90612113565b90506000611b728383612997565b9050611b7e8482613b85565b9695505050505050565b610b513382611aae565b611b9a6124b3565b611aa633878787878787612566565b60608167ffffffffffffffff81118015611bc257600080fd5b50604051908082528060200260200182016040528015611bf657816020015b6060815260200190600190039081611be15790505b50905060005b82811015611ce25760008030868685818110611c1457fe5b9050602002810190611c269190615738565b604051611c34929190614cd2565b600060405180830381855af49150503d8060008114611c6f576040519150601f19603f3d011682016040523d82523d6000602084013e611c74565b606091505b509150915081611cc057604481511015611c8d57600080fd5b60048101905080806020019051810190611ca79190614aca565b60405162461bcd60e51b815260040161028f9190614e7e565b80848481518110611ccd57fe5b60209081029190910101525050600101611bfc565b5092915050565b6001600160a01b0380821660009081526015602090815260408083209386168352929052205460ff1692915050565b611d20611fa5565b611d34611d2d8385612113565b8290612173565b3414611d525760405162461bcd60e51b815260040161028f90615529565b611d61338686868686346121cd565b5050505050565b611d70611fa5565b611d7d611d2d8385612113565b3414611d9b5760405162461bcd60e51b815260040161028f90615529565b611d6133868686868634612c26565b611dd37f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611dfc7f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e257f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e4e7f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611e777f0000000000000000000000000000000000000000000000000000000000000000613bc2565b611ea07f0000000000000000000000000000000000000000000000000000000000000000613bc2565b610eb37f0000000000000000000000000000000000000000000000000000000000000000613bc2565b604c602052600090815260409020546001600160a01b031681565b611eec6123df565b610b5181613269565b60009081526010602052604090205490565b6001600160a01b03166000908152600e6020526040902054151590565b611f2c6123df565b604d80546001600160a01b0319166001600160a01b0383161790556040517f1df10d75b292a047367affe08d5cfc6e4e56bb9dd9b648e9525dffe9fbd89f0b90610b1e908390614cfe565b600080611f838361320e565b6002811115611f8e57fe5b141592915050565b6000546001600160a01b031681565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff157600080fd5b505afa158015612005573d6000803e3d6000fd5b505050506040513d602081101561201b57600080fd5b505115612058576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b505115610eb3576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261212257506000611816565b8282028284828161212f57fe5b041461216c5760405162461bcd60e51b81526004018080602001828103825260218152602001806158316021913960400191505060405180910390fd5b9392505050565b60008282018381101561216c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0385166121f35760405162461bcd60e51b815260040161028f90615297565b6001600160a01b038681166000908152604c60205260409020541661222a5760405162461bcd60e51b815260040161028f9061538a565b6001600160a01b038087166000908152601460209081526040808320938b1683526004840190915290206001810154156122765760405162461bcd60e51b815260040161028f9061505f565b80546122945760405162461bcd60e51b815260040161028f9061533f565b60006122bf83600301546122b98560020154856000015461211390919063ffffffff16565b90613cc3565b60028401549091506122d190826129be565b6002840155815460038401546122e6916129be565b60038401556000825560606122f96145f4565b6001600160a01b03808c166000908152604c602090815260409091205482168352908b1690820152600181604051602001612334919061560c565b60408051601f1981840301815290829052612352929160200161571c565b604051602081830303815290604052915050612372828989898986613d2a565b6001600160a01b03808b166000818152604c60205260409081902054905191928c8116928f8216927f231e5cfeff7759a468241d939ab04a60d603b17e359057abbb8f52afc3e4986b926123ca929116908890614d12565b60405180910390a45050505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561242b57600080fd5b505afa15801561243f573d6000803e3d6000fd5b505050506040513d602081101561245557600080fd5b50516001600160a01b03163314610eb3576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124ff57600080fd5b505afa158015612513573d6000803e3d6000fd5b505050506040513d602081101561252957600080fd5b505115610eb3576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b61256f87613e92565b61258b5760405162461bcd60e51b815260040161028f9061550a565b6001600160a01b0384166125b15760405162461bcd60e51b815260040161028f906154be565b60006125bc8561320e565b60028111156125c757fe5b146125e45760405162461bcd60e51b815260040161028f90615198565b600087856040516020016125f9929190614cab565b604051602081830303815290604052805190602001209050600061261c82613ebb565b9050856001600160a01b03166126688286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f0c92505050565b6001600160a01b03161461268e5760405162461bcd60e51b815260040161028f90615178565b600c546126f1600e60008c6001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b101561270f5760405162461bcd60e51b815260040161028f906150b0565b861561273d578661271f8a611af2565b101561273d5760405162461bcd60e51b815260040161028f906153f8565b60006040518061012001604052808b6001600160a01b031681526020018a815260200189815260200161276e612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b1580156127a657600080fd5b505afa1580156127ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127de9190614b63565b815260200160008152602001600081526020016000815260200160008a11612807576000612810565b6128108b613f82565b8152600060209182018190526001600160a01b038a81168252600f8352604091829020845181546001600160a01b03191692169190911781559183015160018301558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160089091015590508715612901576040808201516001600160a01b038c166000908152600e602052919091206128c791614025565b6040808201516020808401516000908152601090915291909120546128eb91612173565b6020808301516000908152601090915260409020555b866001600160a01b0316898b6001600160a01b03167f0f73ab5f706106366951b51f760e0a6f60c794f233d90958d81c82ad84fa6e87846060015185604001518b6040516117e693929190615689565b600d805463ffffffff60801b1916600160801b63ffffffff8416021790556040516000805160206157ef83398151915290610b1e90615577565b60006118168282613b85565b6000818311156129a7578161216c565b5090919050565b6040810151815160009161181691905b600082821115612a15576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000816060015160001480612a335750816060015143105b15612a4057506000610abf565b506040015190565b6001600160a01b0381166000908152600e60205260408120612a6990614040565b905060008111612a8b5760405162461bcd60e51b815260040161028f9061510a565b612a9d612a96613405565b838361409b565b816001600160a01b03167f8108595eb6bad3acefa9da467d90cc2217686d5c5ac85460f8b7849c840645fc82604051612ad69190614e53565b60405180910390a25050565b6002830154819015612b0e57612b0b612aff85600301544361372b565b856002015484866140f8565b90505b6002840154612b1d9084612173565b6002850155612b2c4382612173565b846003018190555050505050565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b905090565b60008163ffffffff1611612b905760405162461bcd60e51b815260040161028f90615476565b600d805463ffffffff191663ffffffff83161790556040516000805160206157ef83398151915290610b1e90615009565b620f424063ffffffff82161115612bea5760405162461bcd60e51b815260040161028f9061531a565b600d805467ffffffff00000000191664010000000063ffffffff8416021790556040516000805160206157ef83398151915290610b1e906152ee565b6001600160a01b0387166000908152600e602052604090208054612c5c5760405162461bcd60e51b815260040161028f906152c3565b600281015415612c7e5760405162461bcd60e51b815260040161028f9061505f565b6001600160a01b038716612ca45760405162461bcd60e51b815260040161028f90615297565b6001600160a01b038881166000908152604c60205260409020541615612d05576001600160a01b038881166000908152604c6020526040902054811690881614612d005760405162461bcd60e51b815260040161028f90614fa6565b612d55565b6001600160a01b038881166000908152604c6020526040902080546001600160a01b031916918916919091179055600c54861015612d555760405162461bcd60e51b815260040161028f90614f40565b8054612d6190876129be565b8082551580612d735750600c54815410155b612d8f5760405162461bcd60e51b815260040161028f90615260565b6001600160a01b03881660009081526014602052604090208154612dd457600182015415612dcf5760405162461bcd60e51b815260040161028f90614e91565b612e69565b6013548254600091612df0919063ffffffff9081169061211316565b90506000612e02836002015483612997565b8454909150612e119082612173565b60408051608081018252865481526001870154602082015260028701549181019190915260038601546060820152612e48906141cc565b1115612e665760405162461bcd60e51b815260040161028f90615030565b50505b612e7161460b565b6001600160a01b038916815260008082604051602001612e91919061562f565b60408051601f1981840301815290829052612eaf929160200161571c565b6040516020818303038152906040529050612ece898989898986613d2a565b896001600160a01b03168b6001600160a01b03167f869be114c2c3725ff5a2c6ea9ce2d37bf0d5a33c50fcc4905dc11d6958cd122c8b604051612f119190614e53565b60405180910390a35050505050505050505050565b6000612f318361320e565b90506001816002811115612f4157fe5b14612f5e5760405162461bcd60e51b815260040161028f90615157565b6001600160a01b038084166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e083015260080154610100820152612fe7612b3a565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561301f57600080fd5b505afa158015613033573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130579190614b63565b60808201819052606082015160009161306f9161372b565b905060006130808360000151613e92565b600d54909150600160801b900463ffffffff16821115806130a357506040830151155b156130c557806130c55760405162461bcd60e51b815260040161028f9061550a565b604083015115613170578080156130db57508415155b80156130e75750600082115b156130ff576130fa8684600001516141e9565b61310e565b61310c8360200151613f82565b505b60408084015184516001600160a01b03166000908152600e60205291909120613136916142e4565b60408084015160208086015160009081526010909152919091205461315a916129be565b6020808501516000908152601090915260409020555b8260800151600f6000886001600160a01b03166001600160a01b0316815260200190815260200160002060040181905550856001600160a01b0316836020015184600001516001600160a01b03167ff6725dd105a6fc88bb79a6e4627f128577186c567a17c94818d201c2a4ce140386608001518760400151338b88156040516131fe95949392919061565b565b60405180910390a4505050505050565b6001600160a01b038082166000908152600f602052604081208054919290911661323c576000915050610abf565b60038101541580159061325157506004810154155b15613260576001915050610abf565b50600292915050565b600081116132895760405162461bcd60e51b815260040161028f906150b0565b600c8190556040516000805160206157ef83398151915290610b1e9061541b565b620f424063ffffffff821611156132d35760405162461bcd60e51b815260040161028f9061531a565b600d805463ffffffff60401b1916600160401b63ffffffff8416021790556040516000805160206157ef83398151915290610b1e9061512b565b60008363ffffffff16116133335760405162461bcd60e51b815260040161028f90614eeb565b60008263ffffffff16116133595760405162461bcd60e51b815260040161028f906151b7565b60008163ffffffff161161337f5760405162461bcd60e51b815260040161028f906150de565b600d805463ffffffff858116600160c01b90810263ffffffff60c01b19838a16600160a01b90810263ffffffff60a01b19968716178216929092179095556019805487851690930293881690910291909316179092169190911790556040516000805160206157ef833981519152906133f790614f16565b60405180910390a150505050565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b801561198e57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561348f57600080fd5b505af11580156134a3573d6000803e3d6000fd5b505050506040513d60208110156134b957600080fd5b505161198e576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600080613510620f42406122b986611b5e83886129be565b9050600061351e85836129be565b905061352a8682613745565b95945050505050565b60008261354257506000613723565b600061354c6142f3565b90506000808411801561356757506001600160a01b03821615155b90508080156135ed5750604051634c4ea0ed60e01b81526001600160a01b03831690634c4ea0ed9061359d908990600401614e53565b60206040518083038186803b1580156135b557600080fd5b505afa1580156135c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ed9190614a25565b1561371c576000613609620f42406122b988611b5e838a6129be565b9050600061361787836129be565b905080156137115761362761431e565b6001600160a01b0316631d1c2fec896040518263ffffffff1660e01b81526004016136529190614e53565b602060405180830381600087803b15801561366c57600080fd5b505af1158015613680573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a49190614b63565b506136b089858361409b565b60405163102ae65160e31b81526001600160a01b038516906381573288906136de908b908590600401614e5c565b600060405180830381600087803b1580156136f857600080fd5b505af115801561370c573d6000803e3d6000fd5b505050505b935061372392505050565b6000925050505b949350505050565b600081831161373b57600061216c565b61216c83836129be565b801561102d57816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611a9257600080fd5b6001600160a01b03821660009081526014602052604081206002810154829190158015906137d057508054620f4240600160401b90910463ffffffff16105b156138245780546000906137ff90620f4240906122b990600160401b900463ffffffff90811690899061211316565b905061380b85826129be565b600283015490935061381d9084612173565b6002830155505b509392505050565b82613836576113b3565b801561384b576138468284613a71565b6113b3565b6001600160a01b0380831660009081526017602052604090205416611d618582156138765782613878565b845b8661409b565b6000546001600160a01b03163314610eb3576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116613931576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b620f424063ffffffff821611156139ae5760405162461bcd60e51b815260040161028f9061520e565b620f424063ffffffff831611156139d75760405162461bcd60e51b815260040161028f906154de565b6001600160a01b038316600081815260146020526040808220805463ffffffff868116600160401b0263ffffffff60401b199189166401000000000267ffffffff0000000019909316929092171617815543600182015590519092917fdd5c1add84431df7ff63c721510522fbccafda37dfc33f0f5094d90135a8f22a91613a639187918791906156fc565b60405180910390a250505050565b600c54613ade82613ad8600e6000876001600160a01b03166001600160a01b031681526020019081526020016000206040518060800160405290816000820154815260200160018201548152602001600282015481526020016003820154815250506129ae565b90612173565b1015613afc5760405162461bcd60e51b815260040161028f906150b0565b6001600160a01b0382166000908152600e60205260409020613b1e9082614349565b6001600160a01b038216600090815260146020526040902060010154613b4c57613b4c82620f424080613985565b816001600160a01b03167f0a7bb2e28cc4698aac06db79cf9163bfcc20719286cf59fa7d492ceda1b8edc282604051612ad69190614e53565b81516000908190613b969084612173565b90506000613ba3856141cc565b905081811115613bb857600092505050611816565b61352a82826129be565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015613c0f57600080fd5b505afa158015613c23573d6000803e3d6000fd5b505050506040513d6020811015613c3957600080fd5b50516000838152600160205260409020549091506001600160a01b0380831691161461102d5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25050565b6000808211613d19576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613d2257fe5b049392505050565b6000613d34613405565b90506000613d4061435b565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390613d719084908c90600401614d12565b602060405180830381600087803b158015613d8b57600080fd5b505af1158015613d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dc39190614a25565b50806001600160a01b031663d2ce7d658584601860009054906101000a90046001600160a01b03168c8c8c8c8b604051602001613e01929190615642565b6040516020818303038152906040526040518863ffffffff1660e01b8152600401613e3196959493929190614d6c565b6000604051808303818588803b158015613e4a57600080fd5b505af1158015613e5e573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052613e879190810190614aca565b505050505050505050565b6000336001600160a01b03831614806118165750613eb03383611ce9565b151560011492915050565b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b60008151604114613f64576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a611b7e86828585614386565b600080613f8d61431e565b90506001600160a01b038116613fa7576000915050610abf565b6040516377561f0760e11b81526001600160a01b0382169063eeac3e0e90613fd3908690600401614e53565b602060405180830381600087803b158015613fed57600080fd5b505af1158015614001573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216c9190614b63565b60018201546140349082612173565b82600101819055505050565b60008061407f83604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050612a1b565b905080156118165761409183826144fb565b6118168382614520565b801561198e57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561348f57600080fd5b600061352a6141078584612173565b6122b96141196001610c348988612173565b613ad86141268888612113565b613ad88b8b612113565b6000818152600160205260408120546001600160a01b0316806118165760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561419957600080fd5b505afa1580156141ad573d6000803e3d6000fd5b505050506040513d60208110156141c357600080fd5b50519392505050565b60006118168260400151836020015161217390919063ffffffff16565b60006141f361431e565b90506001600160a01b038116614209575061102d565b604051636dba849360e11b81526000906001600160a01b0383169063db75092690614238908790600401614cfe565b602060405180830381600087803b15801561425257600080fd5b505af1158015614266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061428a9190614b63565b90508061429857505061102d565b60006142a4848361452c565b905060006142b283836129be565b9050611aa66142bf613405565b6001600160a01b0380881660009081526017602052604090205484918991161561382c565b600182015461403490826129be565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b81546143559082612173565b90915550565b6000612b657f0000000000000000000000000000000000000000000000000000000000000000614130565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156143e75760405162461bcd60e51b81526004018080602001828103825260228152602001806157cd6022913960400191505060405180910390fd5b8360ff16601b14806143fc57508360ff16601c145b6144375760405162461bcd60e51b815260040180806020018281038252602281526020018061580f6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015614493573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661352a576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b600282015461450a90826129be565b6002830181905561102d57600060038301555050565b815461435590826129be565b6001600160a01b038216600090815260146020526040812060028101548291901580159061456c57508054620f424064010000000090910463ffffffff16105b156138245780546000906137ff90620f4240906122b990640100000000900463ffffffff90811690899061211316565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080518082019091526000808252602082015290565b60408051602081019091526000815290565b600067ffffffffffffffff8084111561463257fe5b604051601f8501601f19168101602001828111828210171561465057fe5b60405284815291508183850186101561466857600080fd5b61467685602083018661577d565b50509392505050565b60008083601f840112614690578182fd5b50813567ffffffffffffffff8111156146a7578182fd5b6020830191508360208285010111156146bf57600080fd5b9250929050565b803563ffffffff81168114610abf57600080fd5b6000602082840312156146eb578081fd5b813561216c816157a9565b600060208284031215614707578081fd5b815161216c816157a9565b60008060408385031215614724578081fd5b823561472f816157a9565b9150602083013561473f816157a9565b809150509250929050565b600080600080600060a08688031215614761578081fd5b853561476c816157a9565b9450602086013561477c816157a9565b94979496505050506040830135926060810135926080909101359150565b600080604083850312156147ac578182fd5b82356147b7816157a9565b9150602083013561473f816157be565b600080604083850312156147d9578182fd5b82356147e4816157a9565b946020939093013593505050565b600080600080600080600060c0888a03121561480c578182fd5b8735614817816157a9565b965060208801359550604088013594506060880135614835816157a9565b93506080880135925060a088013567ffffffffffffffff811115614857578283fd5b6148638a828b0161467f565b989b979a50959850939692959293505050565b6000806000806080858703121561488b578182fd5b8435614896816157a9565b966020860135965060408601359560600135945092505050565b600080600080600060a086880312156148c7578283fd5b85356148d2816157a9565b97602087013597506040870135966060810135965060800135945092505050565b6000806000806000806000806000808a8c036101a0811215614913578485fd5b8b3561491e816157a9565b9a5060208c0135995061493360408d016146c6565b985061494160608d016146c6565b975061494f60808d016146c6565b965061495d60a08d016146c6565b955061496b60c08d016146c6565b945061497960e08d016146c6565b9350608060ff198201121561498c578283fd5b506101008b0191506101808b01356149a3816157a9565b809150509295989b9194979a5092959850565b600080602083850312156149c8578182fd5b823567ffffffffffffffff808211156149df578384fd5b818501915085601f8301126149f2578384fd5b813581811115614a00578485fd5b8660208083028501011115614a13578485fd5b60209290920196919550909350505050565b600060208284031215614a36578081fd5b815161216c816157be565b600060208284031215614a52578081fd5b5035919050565b60008060008060008060a08789031215614a71578384fd5b86359550602087013594506040870135614a8a816157a9565b935060608701359250608087013567ffffffffffffffff811115614aac578283fd5b614ab889828a0161467f565b979a9699509497509295939492505050565b600060208284031215614adb578081fd5b815167ffffffffffffffff811115614af1578182fd5b8201601f81018413614b01578182fd5b6137238482516020840161461d565b600080600060408486031215614b24578081fd5b8335614b2f816157a9565b9250602084013567ffffffffffffffff811115614b4a578182fd5b614b568682870161467f565b9497909650939450505050565b600060208284031215614b74578081fd5b5051919050565b60008060408385031215614b8d578182fd5b82359150602083013561473f816157a9565b60008060008060808587031215614bb4578182fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215614be1578081fd5b61216c826146c6565b600080600060608486031215614bfe578081fd5b614c07846146c6565b9250614c15602085016146c6565b9150614c23604085016146c6565b90509250925092565b60008060008060808587031215614c41578182fd5b614c4a856146c6565b9350614c58602086016146c6565b9250614c66604086016146c6565b9150614c74606086016146c6565b905092959194509250565b60008151808452614c9781602086016020860161577d565b601f01601f19169290920160200192915050565b6bffffffffffffffffffffffff19606093841b811682529190921b16601482015260280190565b6000828483379101908152919050565b60008251614cf481846020870161577d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03989098168852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a0830152614da960c0830184614c7f565b98975050505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015614e0857603f19888603018452614df6858351614c7f565b94509285019290850190600101614dda565b5092979650505050505050565b901515815260200190565b95151586526001600160a01b0394909416602086015260408501929092526060840152608083015260a082015260c00190565b90815260200190565b918252602082015260400190565b6020810160038310614e7857fe5b91905290565b60006020825261216c6020830184614c7f565b602080825260099082015268185b1b1bd8d85d195960ba1b604082015260600190565b6020808252601f908201527f4f6e6c79207472616e7366657220746f6f6c2063616e2073656e642045544800604082015260600190565b60208082526011908201527010b0b6383430a232b737b6b4b730ba37b960791b604082015260600190565b60208082526010908201526f726562617465506172616d657465727360801b604082015260600190565b60208082526019908201527f216d696e696d756d496e64657865725374616b652073656e7400000000000000604082015260600190565b602080825260159082015274115e1d195b9cda5bdb881a5b9a5d0819985a5b1959605a1b604082015260600190565b60208082526019908201527f6c3242656e656669636961727920213d2070726576696f757300000000000000604082015260600190565b60208082526012908201527137b832b930ba37b9101e9e9039b2b73232b960711b604082015260600190565b6020808252600d908201526c1d1a185dda5b99d4195c9a5bd9609a1b604082015260600190565b6020808252601590820152742120616c6c6f636174696f6e20636170616369747960581b604082015260600190565b6020808252601190820152700746f6b656e734c6f636b656420213d203607c1b604082015260600190565b6020808252600c908201526b085cdd185ad94b585d985a5b60a21b604082015260600190565b602080825260149082015273216d696e696d756d496e64657865725374616b6560601b604082015260600190565b60208082526012908201527110b630b6b13230a232b737b6b4b730ba37b960711b604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526012908201527170726f746f636f6c50657263656e7461676560701b604082015260600190565b6020808252600790820152662161637469766560c81b604082015260600190565b60208082526006908201526510b83937b7b360d11b604082015260600190565b602080825260059082015264085b9d5b1b60da1b604082015260600190565b60208082526010908201526f10b630b6b13230a73ab6b2b930ba37b960811b604082015260600190565b602080825260139082015272115512081514905394d1915488119052531151606a1b604082015260600190565b6020808252600c908201526b0f9c5d595c9e51995950dd5d60a21b604082015260600190565b6020808252601290820152716f6e6c79207468726f7567682070726f787960701b604082015260600190565b6020808252601e908201527f216d696e696d756d496e64657865725374616b652072656d61696e696e670000604082015260600190565b60208082526012908201527106c3242656e6566696369617279203d3d20360741b604082015260600190565b6020808252601190820152700746f6b656e735374616b6564203d3d203607c1b604082015260600190565b6020808252601290820152716375726174696f6e50657263656e7461676560701b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b6020808252600f908201526e064656c65676174696f6e203d3d203608c1b604082015260600190565b60208082526008908201526708481b1bd8dad95960c21b604082015260600190565b60208082526017908201527f696e6465786572206e6f74207472616e73666572726564000000000000000000604082015260600190565b60208082526019908201527f636f756e746572706172745374616b696e674164647265737300000000000000604082015260600190565b60208082526009908201526821636170616369747960b81b604082015260600190565b6020808252601390820152726d696e696d756d496e64657865725374616b6560681b604082015260600190565b6020808252601490820152731313d0d2c81393d5081514905394d1915494915160621b604082015260600190565b6020808252600e908201526d085d1a185dda5b99d4195c9a5bd960921b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b60208082526006908201526521616c6c6f6360d01b604082015260600190565b6020808252601290820152710f9a5b99195e1a5b99d4995dd85c9910dd5d60721b604082015260600190565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6020808252601290820152711253959053125117d1551217d05353d5539560721b604082015260600190565b6020808252600890820152670858dbdb1b1958dd60c21b604082015260600190565b6020808252601390820152726d6178416c6c6f636174696f6e45706f63687360681b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b81516001600160a01b039081168252602092830151169181019190915260400190565b90516001600160a01b0316815260200190565b6000838252604060208301526137236040830184614c7f565b94855260208501939093526001600160a01b0391909116604084015260608301521515608082015260a00190565b9283526020830191909152604082015260600190565b958652602086019490945263ffffffff92831660408601529082166060850152811660808401521660a082015260c00190565b63ffffffff948516815260ff93841660208201529190931660408201529116606082015260800190565b63ffffffff93841681529183166020830152909116604082015260600190565b600060ff84168252604060208301526137236040830184614c7f565b6000808335601e1984360301811261574e578283fd5b83018035915067ffffffffffffffff821115615768578283fd5b6020019150368190038213156146bf57600080fd5b60005b83811015615798578181015183820152602001615780565b838111156113b35750506000910152565b6001600160a01b0381168114610b5157600080fd5b8015158114610b5157600080fdfe45434453413a20696e76616c6964207369676e6174757265202773272076616c756596d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c45434453413a20696e76616c6964207369676e6174757265202776272076616c7565536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220d024c7c051bab941d8fea14ba00c0077c345c067b5b7b5c46e6082ff19486ffd64736f6c63430007060033", + "linkReferences": { + "contracts/staking/libs/Exponential.sol": { + "LibExponential": [ + { + "length": 20, + "start": 5977 + } + ] + } + }, + "deployedLinkReferences": { + "contracts/staking/libs/Exponential.sol": { + "LibExponential": [ + { + "length": 20, + "start": 5595 + } + ] + } + } +} diff --git a/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.dbg.json b/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.json b/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.json new file mode 100644 index 000000000..533d69499 --- /dev/null +++ b/abis/staking/L1StakingStorage.sol/L1StakingV1Storage.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1StakingV1Storage", + "sourceName": "contracts/staking/L1StakingStorage.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "indexerTransferredToL2", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/Staking.sol/Staking.dbg.json b/abis/staking/Staking.sol/Staking.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/Staking.sol/Staking.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/Staking.sol/Staking.json b/abis/staking/Staking.sol/Staking.json new file mode 100644 index 000000000..675cc4007 --- /dev/null +++ b/abis/staking/Staking.sol/Staking.json @@ -0,0 +1,1143 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Staking", + "sourceName": "contracts/staking/Staking.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "poi", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isPublic", + "type": "bool" + } + ], + "name": "AllocationClosed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "metadata", + "type": "bytes32" + } + ], + "name": "AllocationCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + } + ], + "name": "DelegationParametersUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "extensionImpl", + "type": "address" + } + ], + "name": "ExtensionImplementationSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "assetHolder", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "allocationID", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "epoch", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "protocolTax", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "curationFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryFees", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "queryRebates", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "delegationRewards", + "type": "uint256" + } + ], + "name": "RebateCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SetOperator", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destination", + "type": "address" + } + ], + "name": "SetRewardsDestination", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeWithdrawn", + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_metadata", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_proof", + "type": "bytes" + } + ], + "name": "allocateFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_poi", + "type": "bytes32" + } + ], + "name": "closeAllocation", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocation", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationData", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "getAllocationState", + "outputs": [ + { + "internalType": "enum IStakingBase.AllocationState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerCapacity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "getIndexerStakedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "getSubgraphAllocatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "hasStake", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_protocolPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_curationPercentage", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "internalType": "struct IStakingData.RebatesParameters", + "name": "_rebatesParameters", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isActiveAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "isAllocation", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "isOperator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartStakingAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setCurationPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "setDelegationParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_extensionImpl", + "type": "address" + } + ], + "name": "setExtensionImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_maxAllocationEpochs", + "type": "uint32" + } + ], + "name": "setMaxAllocationEpochs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumIndexerStake", + "type": "uint256" + } + ], + "name": "setMinimumIndexerStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setOperator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setProtocolPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_lambdaDenominator", + "type": "uint32" + } + ], + "name": "setRebateParameters", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destination", + "type": "address" + } + ], + "name": "setRewardsDestination", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_thawingPeriod", + "type": "uint32" + } + ], + "name": "setThawingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "stakeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "unstake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/StakingExtension.sol/StakingExtension.dbg.json b/abis/staking/StakingExtension.sol/StakingExtension.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/StakingExtension.sol/StakingExtension.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/StakingExtension.sol/StakingExtension.json b/abis/staking/StakingExtension.sol/StakingExtension.json new file mode 100644 index 000000000..bce53a1ce --- /dev/null +++ b/abis/staking/StakingExtension.sol/StakingExtension.json @@ -0,0 +1,950 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StakingExtension", + "sourceName": "contracts/staking/StakingExtension.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "slasher", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "allowed", + "type": "bool" + } + ], + "name": "SlasherUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "StakeDelegated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "until", + "type": "uint256" + } + ], + "name": "StakeDelegatedLocked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "delegator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + } + ], + "name": "StakeDelegatedWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "beneficiary", + "type": "address" + } + ], + "name": "StakeSlashed", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_allocationID", + "type": "address" + } + ], + "name": "allocations", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "indexer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "closedAtEpoch", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "__DEPRECATED_effectiveAllocation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "accRewardsPerAllocatedToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "distributedRebates", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Allocation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "alphaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "curationPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "delegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "delegationPools", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "__DEPRECATED_cooldownBlocks", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "indexingRewardCut", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "queryFeeCut", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "updatedAtBlock", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "internalType": "struct IStakingExtension.DelegationPoolReturn", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationRatio", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "delegationUnbondingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "getDelegation", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakingData.Delegation", + "name": "_delegation", + "type": "tuple" + } + ], + "name": "getWithdraweableDelegatedTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "_delegationTaxPercentage", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_delegator", + "type": "address" + } + ], + "name": "isDelegator", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaDenominator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lambdaNumerator", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxAllocationEpochs", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "minimumIndexerStake", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_maybeOperator", + "type": "address" + } + ], + "name": "operatorAuth", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "rewardsDestination", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationRatio", + "type": "uint32" + } + ], + "name": "setDelegationRatio", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_percentage", + "type": "uint32" + } + ], + "name": "setDelegationTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_delegationUnbondingPeriod", + "type": "uint32" + } + ], + "name": "setDelegationUnbondingPeriod", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_slasher", + "type": "address" + }, + { + "internalType": "bool", + "name": "_allowed", + "type": "bool" + } + ], + "name": "setSlasher", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_reward", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + } + ], + "name": "slash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_maybeSlasher", + "type": "address" + } + ], + "name": "slashers", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + } + ], + "name": "stakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokensStaked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensAllocated", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLocked", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokensLockedUntil", + "type": "uint256" + } + ], + "internalType": "struct IStakes.Indexer", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentId", + "type": "bytes32" + } + ], + "name": "subgraphAllocations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "thawingPeriod", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_shares", + "type": "uint256" + } + ], + "name": "undelegate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_indexer", + "type": "address" + }, + { + "internalType": "address", + "name": "_newIndexer", + "type": "address" + } + ], + "name": "withdrawDelegated", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161280161016e60003980610d48525080610d1f525080610cf6528061118b525080610ccd525080610ca4525080610c7b5280611452525080610c5252506128016000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80639ce7abe511610125578063ce853613116100ad578063e6dc5a1c1161007c578063e6dc5a1c14610468578063e76fede61461047b578063f2485bf21461048e578063f77c479114610496578063fb7659381461049e5761021c565b8063ce8536131461043d578063d6866ea514610445578063e2e946561461044d578063e6aeb796146104605761021c565b8063b1468f52116100f4578063b1468f52146103ff578063b6846e4714610412578063b87fcbff1461041a578063bfdfa7af1461042d578063cdc747dd146104355761021c565b80639ce7abe5146103b1578063a0e11929146103c4578063a2594d82146103e4578063a26b90f2146103f75761021c565b806352348080116101a85780637203ca78116101775780637203ca781461034e5780637ef820701461036e57806385b52ad01461037657806392511c8f1461037e57806392eefe9b1461039e5761021c565b806352348080146102f557806352a9039c146103085780635e9a63921461032857806369d33c2f1461033b5761021c565b806316934fc4116101ef57806316934fc4146102925780631dd42f60146102b25780634b8a9b8e146102c75780634d99dd16146102cf57806351a60b02146102e25761021c565b8063026e402b1461022157806309da07f71461024a578063130bea571461025f57806315049a5a14610272575b600080fd5b61023461022f3660046121d0565b6104a6565b6040516102419190612738565b60405180910390f35b6102526104d8565b6040516102419190612784565b61023461026d3660046122dc565b6104eb565b610285610280366004612167565b61059c565b60405161024191906126ec565b6102a56102a036600461214b565b6105f7565b604051610241919061270d565b6102c56102c0366004612349565b61064d565b005b610252610661565b6102346102dd3660046121d0565b610674565b6102346102f0366004612167565b610690565b6102c561030336600461219f565b6106a5565b61031b61031636600461214b565b61073e565b6040516102419190612634565b6102c5610336366004612349565b6107cb565b6102c5610349366004612363565b6107dc565b61036161035c36600461214b565b610860565b60405161024191906123b6565b61025261087e565b610252610891565b61039161038c36600461214b565b6108a5565b604051610241919061269c565b6102c56103ac36600461214b565b610919565b6102c56103bf36600461225c565b61092a565b6103d76103d2366004612167565b610a80565b60405161024191906123ca565b6102c56103f236600461214b565b610ab1565b610252610bcc565b61023461040d366004612244565b610bdf565b610252610bf1565b6103d761042836600461214b565b610c04565b610252610c22565b610252610c2e565b610252610c3a565b6102c5610c4d565b6103d761045b366004612167565b610d6e565b610252610d9c565b6102c5610476366004612349565b610daf565b6102c56104893660046121fb565b610dc0565b610234610fee565b610361610ff4565b610252611003565b60006104b0611016565b336104c36104bc611184565b82856111b4565b6104ce818585611281565b9150505b92915050565b601954600160a01b900463ffffffff1690565b6000806104f661144b565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505afa158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612331565b905060008360400151118015610580575082604001518110155b156105915750506020810151610597565b60009150505b919050565b6105a461204e565b506001600160a01b03918216600090815260146020908152604080832093909416825260049092018252829020825160608101845281548152600182015492810192909252600201549181019190915290565b6105ff61206f565b506001600160a01b03166000908152600e6020908152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b610655611476565b61065e8161154a565b50565b601954600160c01b900463ffffffff1690565b600061067e611016565b610689338484611598565b9392505050565b600061069a6117cf565b610689338484611882565b6106ad611476565b6001600160a01b0382166106dc5760405162461bcd60e51b81526004016106d3906123d5565b60405180910390fd5b6001600160a01b03821660008181526012602052604090819020805460ff19168415151790555133907f87ea6771e87d96ce16dbe8eda64da9473733e4c1c568baf8ae47256c5bd765e9906107329085906123ca565b60405180910390a35050565b610746612097565b506001600160a01b039081166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e08301526008015461010082015290565b6107d3611476565b61065e81611993565b6107e4611a0a565b6001600160a01b0316336001600160a01b03161461083f576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b61084884611993565b6108518261154a565b61085a81611a2f565b50505050565b6001600160a01b039081166000908152601760205260409020541690565b600d54600160a01b900463ffffffff1690565b600d54640100000000900463ffffffff1690565b6108ad6120ef565b506001600160a01b03166000908152601460209081526040808320815160c081018352938452805463ffffffff6401000000008204811694860194909452600160401b90049092169083015260018101546060830152600281015460808301526003015460a082015290565b610921611aa4565b61065e81611b03565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b50516001600160a01b031633146109ee576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03918216600090815260146020908152604080832093909416825260049092019091522054151590565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b505050506040513d6020811015610b1757600080fd5b50516001600160a01b03163314610b75576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bb057600080fd5b505af1158015610bc4573d6000803e3d6000fd5b505050505050565b600d54600160401b900463ffffffff1690565b60009081526010602052604090205490565b601354600160401b900463ffffffff1690565b6001600160a01b031660009081526012602052604090205460ff1690565b60135463ffffffff1690565b600d5463ffffffff1690565b600d54600160c01b900463ffffffff1690565b610c767f0000000000000000000000000000000000000000000000000000000000000000611bab565b610c9f7f0000000000000000000000000000000000000000000000000000000000000000611bab565b610cc87f0000000000000000000000000000000000000000000000000000000000000000611bab565b610cf17f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d1a7f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d437f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d6c7f0000000000000000000000000000000000000000000000000000000000000000611bab565b565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205460ff1690565b601354600160601b900463ffffffff1690565b610db7611476565b61065e81611a2f565b3360009081526012602052604090205460ff161515600114610df45760405162461bcd60e51b81526004016106d3906123d5565b610dfc611016565b6001600160a01b0384166000908152600e6020526040902083610e315760405162461bcd60e51b81526004016106d3906124d4565b82841015610e515760405162461bcd60e51b81526004016106d39061260d565b8054610e6f5760405162461bcd60e51b81526004016106d3906125ed565b8054841115610e905760405162461bcd60e51b81526004016106d39061254b565b6001600160a01b038216610eb65760405162461bcd60e51b81526004016106d3906123f7565b60408051608081018252825481526001830154602082015260028301549181019190915260038201546060820152610eed90611cad565b84118015610eff575060008160020154115b15610f6d576000610f4c610f4583604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050611cad565b8690611cb9565b90506000610f5e828460020154611d16565b9050610f6a8382611d2d565b50505b610f778185611d52565b6000610f81611184565b9050610f9681610f918787611cb9565b611d64565b610fa1818486611db0565b856001600160a01b03167ff2717be2f27d9d2d7d265e42dc556e40d2d9aeaba02f49c5286030f30c0571f3868686604051610fde9392919061274f565b60405180910390a2505050505050565b600c5490565b6000546001600160a01b031681565b600d54600160801b900463ffffffff1690565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561106257600080fd5b505afa158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b5051156110c9576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561111557600080fd5b505afa158015611129573d6000803e3d6000fd5b505050506040513d602081101561113f57600080fd5b505115610d6c576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60006111af7f0000000000000000000000000000000000000000000000000000000000000000611e0d565b905090565b801561127c57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b505050506040513d602081101561123d57600080fd5b505161127c576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b505050565b6000670de0b6b3a76400008210156112ab5760405162461bcd60e51b81526004016106d3906124f5565b6001600160a01b0383166112d15760405162461bcd60e51b81526004016106d390612454565b6001600160a01b0383166000908152600e60205260409020546113065760405162461bcd60e51b81526004016106d3906125ed565b6001600160a01b03808416600090815260146020908152604080832093881683526004840190915281209061135361133c611184565b6013548790600160601b900463ffffffff16611ea9565b905060006113618683611cb9565b90506000846002015460001461139b576113968560020154611390876003015485611ed190919063ffffffff16565b90611f2a565b61139d565b815b9050600081116113bf5760405162461bcd60e51b81526004016106d3906125a7565b60028501546113ce9083611f91565b600286015560038501546113e29082611f91565b600386015583546113f39082611f91565b84556040516001600160a01b03808b1691908a16907fcd0366dce5247d874ffc60a762aa7abbb82c1695bbb171609c1b8861e279eb73906114379086908690612741565b60405180910390a398975050505050505050565b60006111af7f0000000000000000000000000000000000000000000000000000000000000000611e0d565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b50516001600160a01b03163314610d6c576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6013805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d90612522565b60405180910390a150565b60008082116115b95760405162461bcd60e51b81526004016106d3906125a7565b6001600160a01b038084166000908152601460209081526040808320938816835260048401909152902080548411156116045760405162461bcd60e51b81526004016106d390612476565b604080516060810182528254815260018301546020820152600283015491810191909152600090611634906104eb565b11156116485761164686866000611882565b505b600282015460038301546000611662826113908986611ed1565b905061166e8382611cb9565b925061167a8288611cb9565b600286018490556003860181905584549092506116979088611cb9565b808555156116e05783546000906116b49084906113909087611ed1565b9050670de0b6b3a76400008110156116de5760405162461bcd60e51b81526004016106d3906124f5565b505b60018401546116ef9082611f91565b600185015560135461178690600160401b900463ffffffff1661171061144b565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505afa15801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190612331565b90611f91565b600285018190556040516001600160a01b03808c1692908b16917f0430183f84d9c4502386d499da806543dee1d9de83c08b01e39a6d2116c43b25916114379186918d9161276e565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181b57600080fd5b505afa15801561182f573d6000803e3d6000fd5b505050506040513d602081101561184557600080fd5b505115610d6c576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b6001600160a01b03808316600090815260146020908152604080832093871683526004840182528083208151606081018352815481526001820154938101939093526002810154918301919091529192919083906118df906104eb565b9050600081116119015760405162461bcd60e51b81526004016106d3906124d4565b60006001830181905560028301556040516001600160a01b0380891691908816907f1b2e7737e043c5cf1b587ceb4daeb7ae00148b9bda8f79f1093eead08f1419529061194f908590612738565b60405180910390a36001600160a01b0385161561197757611971878683611281565b50611989565b611989611982611184565b8883611db0565b9695505050505050565b60008163ffffffff16116119b95760405162461bcd60e51b81526004016106d390612570565b601380546bffffffff00000000000000001916600160401b63ffffffff8416021790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d9061249d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b620f424063ffffffff82161115611a585760405162461bcd60e51b81526004016106d3906125c8565b6013805463ffffffff60601b1916600160601b63ffffffff8416021790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d9061241d565b6000546001600160a01b03163314610d6c576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611b57576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614611ca95760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b60006104d28282611feb565b600082821115611d10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081831115611d265781610689565b5090919050565b6002820154611d3c9082611cb9565b60028301819055611ca957600060038301555050565b8154611d5e9082611cb9565b90915550565b8015611ca957816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bb057600080fd5b801561127c57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561121357600080fd5b6000818152600160205260408120546001600160a01b0316806104d25760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b50519392505050565b600080611ebd620f42406113908587611ed1565b9050611ec98582611d64565b949350505050565b600082611ee0575060006104d2565b82820282848281611eed57fe5b04146106895760405162461bcd60e51b81526004018080602001828103825260218152602001806127ab6021913960400191505060405180910390fd5b6000808211611f80576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611f8957fe5b049392505050565b600082820183811015610689576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b81516000908190611ffc9084611f91565b9050600061200985612031565b90508181111561201e576000925050506104d2565b6120288282611cb9565b95945050505050565b60006104d282604001518360200151611f9190919063ffffffff16565b60405180606001604052806000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600063ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020016000815260200160008152602001600081525090565b803563ffffffff8116811461059757600080fd5b60006020828403121561215c578081fd5b813561068981612795565b60008060408385031215612179578081fd5b823561218481612795565b9150602083013561219481612795565b809150509250929050565b600080604083850312156121b1578182fd5b82356121bc81612795565b915060208301358015158114612194578182fd5b600080604083850312156121e2578182fd5b82356121ed81612795565b946020939093013593505050565b60008060008060808587031215612210578182fd5b843561221b81612795565b93506020850135925060408501359150606085013561223981612795565b939692955090935050565b600060208284031215612255578081fd5b5035919050565b600080600060408486031215612270578283fd5b833561227b81612795565b9250602084013567ffffffffffffffff80821115612297578384fd5b818601915086601f8301126122aa578384fd5b8135818111156122b8578485fd5b8760208285010111156122c9578485fd5b6020830194508093505050509250925092565b6000606082840312156122ed578081fd5b6040516060810181811067ffffffffffffffff8211171561230a57fe5b80604052508235815260208301356020820152604083013560408201528091505092915050565b600060208284031215612342578081fd5b5051919050565b60006020828403121561235a578081fd5b61068982612137565b60008060008060808587031215612378578384fd5b61238185612137565b935061238f60208601612137565b925061239d60408601612137565b91506123ab60608601612137565b905092959194509250565b6001600160a01b0391909116815260200190565b901515815260200190565b60208082526008908201526710b9b630b9b432b960c11b604082015260600190565b6020808252600c908201526b2162656e656669636961727960a01b604082015260600190565b60208082526017908201527f64656c65676174696f6e54617850657263656e74616765000000000000000000604082015260600190565b60208082526008908201526710b4b73232bc32b960c11b604082015260600190565b6020808252600d908201526c085cda185c995ccb585d985a5b609a1b604082015260600190565b60208082526019908201527f64656c65676174696f6e556e626f6e64696e67506572696f6400000000000000604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526013908201527210b6b4b734b6bab696b232b632b3b0ba34b7b760691b604082015260600190565b6020808252600f908201526e64656c65676174696f6e526174696f60881b604082015260600190565b6020808252600b908201526a736c6173683e7374616b6560a81b604082015260600190565b6020808252601a908201527f2164656c65676174696f6e556e626f6e64696e67506572696f64000000000000604082015260600190565b6020808252600790820152662173686172657360c81b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b6020808252600d908201526c0e4caeec2e4c8e67ce6d8c2e6d609b1b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b600060c08201905063ffffffff80845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160a083015292915050565b81518152602080830151908201526040918201519181019190915260600190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b918252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b9283526020830191909152604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b038116811461065e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c8d8a8cb8b5f17df62ec3294c3c540504a597a58b3978b237bac831e66b6585964736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80639ce7abe511610125578063ce853613116100ad578063e6dc5a1c1161007c578063e6dc5a1c14610468578063e76fede61461047b578063f2485bf21461048e578063f77c479114610496578063fb7659381461049e5761021c565b8063ce8536131461043d578063d6866ea514610445578063e2e946561461044d578063e6aeb796146104605761021c565b8063b1468f52116100f4578063b1468f52146103ff578063b6846e4714610412578063b87fcbff1461041a578063bfdfa7af1461042d578063cdc747dd146104355761021c565b80639ce7abe5146103b1578063a0e11929146103c4578063a2594d82146103e4578063a26b90f2146103f75761021c565b806352348080116101a85780637203ca78116101775780637203ca781461034e5780637ef820701461036e57806385b52ad01461037657806392511c8f1461037e57806392eefe9b1461039e5761021c565b806352348080146102f557806352a9039c146103085780635e9a63921461032857806369d33c2f1461033b5761021c565b806316934fc4116101ef57806316934fc4146102925780631dd42f60146102b25780634b8a9b8e146102c75780634d99dd16146102cf57806351a60b02146102e25761021c565b8063026e402b1461022157806309da07f71461024a578063130bea571461025f57806315049a5a14610272575b600080fd5b61023461022f3660046121d0565b6104a6565b6040516102419190612738565b60405180910390f35b6102526104d8565b6040516102419190612784565b61023461026d3660046122dc565b6104eb565b610285610280366004612167565b61059c565b60405161024191906126ec565b6102a56102a036600461214b565b6105f7565b604051610241919061270d565b6102c56102c0366004612349565b61064d565b005b610252610661565b6102346102dd3660046121d0565b610674565b6102346102f0366004612167565b610690565b6102c561030336600461219f565b6106a5565b61031b61031636600461214b565b61073e565b6040516102419190612634565b6102c5610336366004612349565b6107cb565b6102c5610349366004612363565b6107dc565b61036161035c36600461214b565b610860565b60405161024191906123b6565b61025261087e565b610252610891565b61039161038c36600461214b565b6108a5565b604051610241919061269c565b6102c56103ac36600461214b565b610919565b6102c56103bf36600461225c565b61092a565b6103d76103d2366004612167565b610a80565b60405161024191906123ca565b6102c56103f236600461214b565b610ab1565b610252610bcc565b61023461040d366004612244565b610bdf565b610252610bf1565b6103d761042836600461214b565b610c04565b610252610c22565b610252610c2e565b610252610c3a565b6102c5610c4d565b6103d761045b366004612167565b610d6e565b610252610d9c565b6102c5610476366004612349565b610daf565b6102c56104893660046121fb565b610dc0565b610234610fee565b610361610ff4565b610252611003565b60006104b0611016565b336104c36104bc611184565b82856111b4565b6104ce818585611281565b9150505b92915050565b601954600160a01b900463ffffffff1690565b6000806104f661144b565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561052e57600080fd5b505afa158015610542573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105669190612331565b905060008360400151118015610580575082604001518110155b156105915750506020810151610597565b60009150505b919050565b6105a461204e565b506001600160a01b03918216600090815260146020908152604080832093909416825260049092018252829020825160608101845281548152600182015492810192909252600201549181019190915290565b6105ff61206f565b506001600160a01b03166000908152600e6020908152604091829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b610655611476565b61065e8161154a565b50565b601954600160c01b900463ffffffff1690565b600061067e611016565b610689338484611598565b9392505050565b600061069a6117cf565b610689338484611882565b6106ad611476565b6001600160a01b0382166106dc5760405162461bcd60e51b81526004016106d3906123d5565b60405180910390fd5b6001600160a01b03821660008181526012602052604090819020805460ff19168415151790555133907f87ea6771e87d96ce16dbe8eda64da9473733e4c1c568baf8ae47256c5bd765e9906107329085906123ca565b60405180910390a35050565b610746612097565b506001600160a01b039081166000908152600f6020908152604091829020825161012081018452815490941684526001810154918401919091526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600781015460e08301526008015461010082015290565b6107d3611476565b61065e81611993565b6107e4611a0a565b6001600160a01b0316336001600160a01b03161461083f576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b61084884611993565b6108518261154a565b61085a81611a2f565b50505050565b6001600160a01b039081166000908152601760205260409020541690565b600d54600160a01b900463ffffffff1690565b600d54640100000000900463ffffffff1690565b6108ad6120ef565b506001600160a01b03166000908152601460209081526040808320815160c081018352938452805463ffffffff6401000000008204811694860194909452600160401b90049092169083015260018101546060830152600281015460808301526003015460a082015290565b610921611aa4565b61065e81611b03565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b50516001600160a01b031633146109ee576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015610a6257600080fd5b505af1158015610a76573d6000803e3d6000fd5b5050505050505050565b6001600160a01b03918216600090815260146020908152604080832093909416825260049092019091522054151590565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610aed57600080fd5b505af1158015610b01573d6000803e3d6000fd5b505050506040513d6020811015610b1757600080fd5b50516001600160a01b03163314610b75576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bb057600080fd5b505af1158015610bc4573d6000803e3d6000fd5b505050505050565b600d54600160401b900463ffffffff1690565b60009081526010602052604090205490565b601354600160401b900463ffffffff1690565b6001600160a01b031660009081526012602052604090205460ff1690565b60135463ffffffff1690565b600d5463ffffffff1690565b600d54600160c01b900463ffffffff1690565b610c767f0000000000000000000000000000000000000000000000000000000000000000611bab565b610c9f7f0000000000000000000000000000000000000000000000000000000000000000611bab565b610cc87f0000000000000000000000000000000000000000000000000000000000000000611bab565b610cf17f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d1a7f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d437f0000000000000000000000000000000000000000000000000000000000000000611bab565b610d6c7f0000000000000000000000000000000000000000000000000000000000000000611bab565b565b6001600160a01b03918216600090815260156020908152604080832093909416825291909152205460ff1690565b601354600160601b900463ffffffff1690565b610db7611476565b61065e81611a2f565b3360009081526012602052604090205460ff161515600114610df45760405162461bcd60e51b81526004016106d3906123d5565b610dfc611016565b6001600160a01b0384166000908152600e6020526040902083610e315760405162461bcd60e51b81526004016106d3906124d4565b82841015610e515760405162461bcd60e51b81526004016106d39061260d565b8054610e6f5760405162461bcd60e51b81526004016106d3906125ed565b8054841115610e905760405162461bcd60e51b81526004016106d39061254b565b6001600160a01b038216610eb65760405162461bcd60e51b81526004016106d3906123f7565b60408051608081018252825481526001830154602082015260028301549181019190915260038201546060820152610eed90611cad565b84118015610eff575060008160020154115b15610f6d576000610f4c610f4583604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050611cad565b8690611cb9565b90506000610f5e828460020154611d16565b9050610f6a8382611d2d565b50505b610f778185611d52565b6000610f81611184565b9050610f9681610f918787611cb9565b611d64565b610fa1818486611db0565b856001600160a01b03167ff2717be2f27d9d2d7d265e42dc556e40d2d9aeaba02f49c5286030f30c0571f3868686604051610fde9392919061274f565b60405180910390a2505050505050565b600c5490565b6000546001600160a01b031681565b600d54600160801b900463ffffffff1690565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561106257600080fd5b505afa158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b5051156110c9576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b15801561111557600080fd5b505afa158015611129573d6000803e3d6000fd5b505050506040513d602081101561113f57600080fd5b505115610d6c576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60006111af7f0000000000000000000000000000000000000000000000000000000000000000611e0d565b905090565b801561127c57604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b15801561121357600080fd5b505af1158015611227573d6000803e3d6000fd5b505050506040513d602081101561123d57600080fd5b505161127c576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b505050565b6000670de0b6b3a76400008210156112ab5760405162461bcd60e51b81526004016106d3906124f5565b6001600160a01b0383166112d15760405162461bcd60e51b81526004016106d390612454565b6001600160a01b0383166000908152600e60205260409020546113065760405162461bcd60e51b81526004016106d3906125ed565b6001600160a01b03808416600090815260146020908152604080832093881683526004840190915281209061135361133c611184565b6013548790600160601b900463ffffffff16611ea9565b905060006113618683611cb9565b90506000846002015460001461139b576113968560020154611390876003015485611ed190919063ffffffff16565b90611f2a565b61139d565b815b9050600081116113bf5760405162461bcd60e51b81526004016106d3906125a7565b60028501546113ce9083611f91565b600286015560038501546113e29082611f91565b600386015583546113f39082611f91565b84556040516001600160a01b03808b1691908a16907fcd0366dce5247d874ffc60a762aa7abbb82c1695bbb171609c1b8861e279eb73906114379086908690612741565b60405180910390a398975050505050505050565b60006111af7f0000000000000000000000000000000000000000000000000000000000000000611e0d565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b1580156114c257600080fd5b505afa1580156114d6573d6000803e3d6000fd5b505050506040513d60208110156114ec57600080fd5b50516001600160a01b03163314610d6c576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b6013805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d90612522565b60405180910390a150565b60008082116115b95760405162461bcd60e51b81526004016106d3906125a7565b6001600160a01b038084166000908152601460209081526040808320938816835260048401909152902080548411156116045760405162461bcd60e51b81526004016106d390612476565b604080516060810182528254815260018301546020820152600283015491810191909152600090611634906104eb565b11156116485761164686866000611882565b505b600282015460038301546000611662826113908986611ed1565b905061166e8382611cb9565b925061167a8288611cb9565b600286018490556003860181905584549092506116979088611cb9565b808555156116e05783546000906116b49084906113909087611ed1565b9050670de0b6b3a76400008110156116de5760405162461bcd60e51b81526004016106d3906124f5565b505b60018401546116ef9082611f91565b600185015560135461178690600160401b900463ffffffff1661171061144b565b6001600160a01b031663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505afa15801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190612331565b90611f91565b600285018190556040516001600160a01b03808c1692908b16917f0430183f84d9c4502386d499da806543dee1d9de83c08b01e39a6d2116c43b25916114379186918d9161276e565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561181b57600080fd5b505afa15801561182f573d6000803e3d6000fd5b505050506040513d602081101561184557600080fd5b505115610d6c576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b6001600160a01b03808316600090815260146020908152604080832093871683526004840182528083208151606081018352815481526001820154938101939093526002810154918301919091529192919083906118df906104eb565b9050600081116119015760405162461bcd60e51b81526004016106d3906124d4565b60006001830181905560028301556040516001600160a01b0380891691908816907f1b2e7737e043c5cf1b587ceb4daeb7ae00148b9bda8f79f1093eead08f1419529061194f908590612738565b60405180910390a36001600160a01b0385161561197757611971878683611281565b50611989565b611989611982611184565b8883611db0565b9695505050505050565b60008163ffffffff16116119b95760405162461bcd60e51b81526004016106d390612570565b601380546bffffffff00000000000000001916600160401b63ffffffff8416021790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d9061249d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b620f424063ffffffff82161115611a585760405162461bcd60e51b81526004016106d3906125c8565b6013805463ffffffff60601b1916600160601b63ffffffff8416021790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c9061158d9061241d565b6000546001600160a01b03163314610d6c576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116611b57576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b50516000838152600160205260409020549091506001600160a01b03808316911614611ca95760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b60006104d28282611feb565b600082821115611d10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081831115611d265781610689565b5090919050565b6002820154611d3c9082611cb9565b60028301819055611ca957600060038301555050565b8154611d5e9082611cb9565b90915550565b8015611ca957816001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bb057600080fd5b801561127c57826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561121357600080fd5b6000818152600160205260408120546001600160a01b0316806104d25760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b50519392505050565b600080611ebd620f42406113908587611ed1565b9050611ec98582611d64565b949350505050565b600082611ee0575060006104d2565b82820282848281611eed57fe5b04146106895760405162461bcd60e51b81526004018080602001828103825260218152602001806127ab6021913960400191505060405180910390fd5b6000808211611f80576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611f8957fe5b049392505050565b600082820183811015610689576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b81516000908190611ffc9084611f91565b9050600061200985612031565b90508181111561201e576000925050506104d2565b6120288282611cb9565b95945050505050565b60006104d282604001518360200151611f9190919063ffffffff16565b60405180606001604052806000815260200160008152602001600081525090565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b60405180610120016040528060006001600160a01b0316815260200160008019168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060c00160405280600063ffffffff168152602001600063ffffffff168152602001600063ffffffff1681526020016000815260200160008152602001600081525090565b803563ffffffff8116811461059757600080fd5b60006020828403121561215c578081fd5b813561068981612795565b60008060408385031215612179578081fd5b823561218481612795565b9150602083013561219481612795565b809150509250929050565b600080604083850312156121b1578182fd5b82356121bc81612795565b915060208301358015158114612194578182fd5b600080604083850312156121e2578182fd5b82356121ed81612795565b946020939093013593505050565b60008060008060808587031215612210578182fd5b843561221b81612795565b93506020850135925060408501359150606085013561223981612795565b939692955090935050565b600060208284031215612255578081fd5b5035919050565b600080600060408486031215612270578283fd5b833561227b81612795565b9250602084013567ffffffffffffffff80821115612297578384fd5b818601915086601f8301126122aa578384fd5b8135818111156122b8578485fd5b8760208285010111156122c9578485fd5b6020830194508093505050509250925092565b6000606082840312156122ed578081fd5b6040516060810181811067ffffffffffffffff8211171561230a57fe5b80604052508235815260208301356020820152604083013560408201528091505092915050565b600060208284031215612342578081fd5b5051919050565b60006020828403121561235a578081fd5b61068982612137565b60008060008060808587031215612378578384fd5b61238185612137565b935061238f60208601612137565b925061239d60408601612137565b91506123ab60608601612137565b905092959194509250565b6001600160a01b0391909116815260200190565b901515815260200190565b60208082526008908201526710b9b630b9b432b960c11b604082015260600190565b6020808252600c908201526b2162656e656669636961727960a01b604082015260600190565b60208082526017908201527f64656c65676174696f6e54617850657263656e74616765000000000000000000604082015260600190565b60208082526008908201526710b4b73232bc32b960c11b604082015260600190565b6020808252600d908201526c085cda185c995ccb585d985a5b609a1b604082015260600190565b60208082526019908201527f64656c65676174696f6e556e626f6e64696e67506572696f6400000000000000604082015260600190565b60208082526007908201526621746f6b656e7360c81b604082015260600190565b60208082526013908201527210b6b4b734b6bab696b232b632b3b0ba34b7b760691b604082015260600190565b6020808252600f908201526e64656c65676174696f6e526174696f60881b604082015260600190565b6020808252600b908201526a736c6173683e7374616b6560a81b604082015260600190565b6020808252601a908201527f2164656c65676174696f6e556e626f6e64696e67506572696f64000000000000604082015260600190565b6020808252600790820152662173686172657360c81b604082015260600190565b6020808252600b908201526a3e70657263656e7461676560a81b604082015260600190565b602080825260069082015265217374616b6560d01b604082015260600190565b6020808252600d908201526c0e4caeec2e4c8e67ce6d8c2e6d609b1b604082015260600190565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0828101519082015260c0808301519082015260e0808301519082015261010091820151918101919091526101200190565b600060c08201905063ffffffff80845116835280602085015116602084015280604085015116604084015250606083015160608301526080830151608083015260a083015160a083015292915050565b81518152602080830151908201526040918201519181019190915260600190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b918252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b9283526020830191909152604082015260600190565b63ffffffff91909116815260200190565b6001600160a01b038116811461065e57600080fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220c8d8a8cb8b5f17df62ec3294c3c540504a597a58b3978b237bac831e66b6585964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/StakingStorage.sol/StakingV1Storage.dbg.json b/abis/staking/StakingStorage.sol/StakingV1Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV1Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/StakingStorage.sol/StakingV1Storage.json b/abis/staking/StakingStorage.sol/StakingV1Storage.json new file mode 100644 index 000000000..cd995d494 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV1Storage.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StakingV1Storage", + "sourceName": "contracts/staking/StakingStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161041d610162600039806101a952508061018052508061015752508061012e52508061010552508060dc52508060b3525061041d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122085721bbbe62f694711934fd72ac300f22c9a953a311b307ce6ee28ee3ea65f2c64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122085721bbbe62f694711934fd72ac300f22c9a953a311b307ce6ee28ee3ea65f2c64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/StakingStorage.sol/StakingV2Storage.dbg.json b/abis/staking/StakingStorage.sol/StakingV2Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV2Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/StakingStorage.sol/StakingV2Storage.json b/abis/staking/StakingStorage.sol/StakingV2Storage.json new file mode 100644 index 000000000..2fb030bfc --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV2Storage.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StakingV2Storage", + "sourceName": "contracts/staking/StakingStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161041d610162600039806101a952508061018052508061015752508061012e52508061010552508060dc52508060b3525061041d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220c3fbfa75f1e2704d709b978f6628bb8890b445ffaa167671c97cabb84ce9b2c864736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea2646970667358221220c3fbfa75f1e2704d709b978f6628bb8890b445ffaa167671c97cabb84ce9b2c864736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/StakingStorage.sol/StakingV3Storage.dbg.json b/abis/staking/StakingStorage.sol/StakingV3Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV3Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/StakingStorage.sol/StakingV3Storage.json b/abis/staking/StakingStorage.sol/StakingV3Storage.json new file mode 100644 index 000000000..f3dc882bf --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV3Storage.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StakingV3Storage", + "sourceName": "contracts/staking/StakingStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161041d610162600039806101a952508061018052508061015752508061012e52508061010552508060dc52508060b3525061041d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122009f6431f00df015e0c3825b80af49642beb868eb352dd0849dd69f45c726b74764736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea264697066735822122009f6431f00df015e0c3825b80af49642beb868eb352dd0849dd69f45c726b74764736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/StakingStorage.sol/StakingV4Storage.dbg.json b/abis/staking/StakingStorage.sol/StakingV4Storage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV4Storage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/StakingStorage.sol/StakingV4Storage.json b/abis/staking/StakingStorage.sol/StakingV4Storage.json new file mode 100644 index 000000000..ec5274243 --- /dev/null +++ b/abis/staking/StakingStorage.sol/StakingV4Storage.json @@ -0,0 +1,89 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "StakingV4Storage", + "sourceName": "contracts/staking/StakingStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101606040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea36101405234801561011057600080fd5b5060805160a05160c05160e05161010051610120516101405161041d610162600039806101a952508061018052508061015752508061012e52508061010552508060dc52508060b3525061041d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212209310a05837ae7cbc5084439df2521a44739512be2aeb554cfd7a9d43ddb895f064736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c806392eefe9b14610046578063d6866ea51461006e578063f77c479114610076575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b031661009a565b005b61006c6100ae565b61007e6101cf565b604080516001600160a01b039092168252519081900360200190f35b6100a26101de565b6100ab8161023d565b50565b6100d77f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101007f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101297f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101527f00000000000000000000000000000000000000000000000000000000000000006102e5565b61017b7f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101a47f00000000000000000000000000000000000000000000000000000000000000006102e5565b6101cd7f00000000000000000000000000000000000000000000000000000000000000006102e5565b565b6000546001600160a01b031681565b6000546001600160a01b031633146101cd576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116610291576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561033257600080fd5b505afa158015610346573d6000803e3d6000fd5b505050506040513d602081101561035c57600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146103e35760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b505056fea26469706673582212209310a05837ae7cbc5084439df2521a44739512be2aeb554cfd7a9d43ddb895f064736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/libs/Exponential.sol/LibExponential.dbg.json b/abis/staking/libs/Exponential.sol/LibExponential.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/staking/libs/Exponential.sol/LibExponential.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/libs/Exponential.sol/LibExponential.json b/abis/staking/libs/Exponential.sol/LibExponential.json new file mode 100644 index 000000000..906f5ee18 --- /dev/null +++ b/abis/staking/libs/Exponential.sol/LibExponential.json @@ -0,0 +1,55 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LibExponential", + "sourceName": "contracts/staking/libs/Exponential.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "fees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "stake", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "alphaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "alphaDenominator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaNumerator", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "lambdaDenominator", + "type": "uint32" + } + ], + "name": "exponentialRebates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x6108e3610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806349484d811461003a575b600080fd5b610081600480360360c081101561005057600080fd5b5080359060208101359063ffffffff60408201358116916060810135821691608082013581169160a0013516610093565b60408051918252519081900360200190f35b6000806100a68660030b8660030b610148565b9050806100b6578791505061013e565b876100c557600091505061013e565b60006100d78560030b8560030b610148565b905060006100e6828a8c610168565b9050600f6100f38261017f565b13156101045789935050505061013e565b600061012b61011161018c565b6101268661012186600003610194565b610632565b610652565b9050610137818c6106aa565b9450505050505b9695505050505050565b600061016161015b846001607f1b61071d565b83610799565b9392505050565b600061017761015b858561071d565b949350505050565b6001607f1b81055b919050565b6001607f1b90565b6000701fefffffffffffffffffffffffffffffff198212156101b857506000610187565b816101c857506001607f1b610187565b600082131561020e576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b6001607f1b6001607c1b83078080028290056710e1b3be415a0000810293909301929091818302059050806705a0913f6b1e000002830192506001607f1b8282028161025657fe5b05905080670168244fdac7800002830192506001607f1b8282028161027757fe5b05905080664807432bc1800002830192506001607f1b8282028161029757fe5b05905080660c0135dca0400002830192506001607f1b828202816102b757fe5b059050806601b707b1cdc00002830192506001607f1b828202816102d757fe5b059050806536e0f639b80002830192506001607f1b828202816102f657fe5b05905080650618fee9f80002830192506001607f1b8282028161031557fe5b05905080649c197dcc0002830192506001607f1b8282028161033357fe5b05905080640e30dce40002830192506001607f1b8282028161035157fe5b0590508064012ebd130002830192506001607f1b8282028161036f57fe5b059050806317499f0002830192506001607f1b8282028161038c57fe5b059050806301a9d48002830192506001607f1b828202816103a957fe5b05905080621c638002830192506001607f1b828202816103c557fe5b059050806201c63802830192506001607f1b828202816103e157fe5b05905080611ab802830192506001607f1b828202816103fc57fe5b0590508061017c02830192506001607f1b8282028161041757fe5b05905080601402830192506001607f1b8282028161043157fe5b600095909503946721c3677c82b400009190059384010582016001607f1b01929050600160841b841615610487577243cbaf42a000812488fc5c220ad7b97bf6e99e6cf1aaddd7742e56d32fb9f9974484020592505b600160831b8416156104bc577105d27a9f51c31b7c2f8038212a05747799916e0afe10820813d65dfe6a33c07f738f84020592505b600160821b8416156104f157701b4c902e273a58678d6d3bfdb93db96d026f02582ab704279e8efd15e0265855c47a84020592505b600160811b841615610526577003b1cc971a9bb5b9867477440d6d1577506f1152aaa3bf81cb9fdb76eae12d02957184020592505b600160801b84161561055b5770015bf0a8b1457695355fb8ac404e7a79e36f2f16ac6c59de6f8d5d6f63c1482a7c8684020592505b6001607f1b84161561058f576fd3094c70f034de4b96ff7d5b6f99fcd86f4da2cbf1be5827f9eb3ad1aa9866ebb384020592505b6001607e1b8416156105c3576fa45af1e1f40c333b3de1db4dd55f29a76f63afbe7ab2082ba1a0ae5e4eb1b479dc84020592505b6001607d1b8416156105f7576f910b022db7ae67ce76b441c27035c6a16f70f5a893b608861e1f58934f97aea57d84020592505b6001607c1b84161561062b576f88415abbe9a76bead8d00cf112e4d4a86f783eafef1c0a8f3978c7f81824d62ebf84020592505b5050919050565b60006001607f1b610643848461071d565b8161064a57fe5b059392505050565b6000600160ff1b82141561069d576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b6101618383600003610832565b6000808212156106f1576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b60006106fd848461071d565b905060008113610711576000915050610717565b607f1c90505b92915050565b600082158061072a575081155b1561073757506000610717565b508181028183828161074557fe5b0514158061075c57508282828161075857fe5b0514155b15610717576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b6000816107d8576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b600160ff1b831480156107ec575081600019145b15610829576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b81838161064a57fe5b8181016000831280156108455750600082125b801561085057508281135b8061075c57506000831380156108665750600082135b801561075c575082811215610717576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fdfea2646970667358221220c5b7b5b8f172bc1a09df43e82d5141e05a815131f3ffc006e450b8ee008408c864736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806349484d811461003a575b600080fd5b610081600480360360c081101561005057600080fd5b5080359060208101359063ffffffff60408201358116916060810135821691608082013581169160a0013516610093565b60408051918252519081900360200190f35b6000806100a68660030b8660030b610148565b9050806100b6578791505061013e565b876100c557600091505061013e565b60006100d78560030b8560030b610148565b905060006100e6828a8c610168565b9050600f6100f38261017f565b13156101045789935050505061013e565b600061012b61011161018c565b6101268661012186600003610194565b610632565b610652565b9050610137818c6106aa565b9450505050505b9695505050505050565b600061016161015b846001607f1b61071d565b83610799565b9392505050565b600061017761015b858561071d565b949350505050565b6001607f1b81055b919050565b6001607f1b90565b6000701fefffffffffffffffffffffffffffffff198212156101b857506000610187565b816101c857506001607f1b610187565b600082131561020e576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b6001607f1b6001607c1b83078080028290056710e1b3be415a0000810293909301929091818302059050806705a0913f6b1e000002830192506001607f1b8282028161025657fe5b05905080670168244fdac7800002830192506001607f1b8282028161027757fe5b05905080664807432bc1800002830192506001607f1b8282028161029757fe5b05905080660c0135dca0400002830192506001607f1b828202816102b757fe5b059050806601b707b1cdc00002830192506001607f1b828202816102d757fe5b059050806536e0f639b80002830192506001607f1b828202816102f657fe5b05905080650618fee9f80002830192506001607f1b8282028161031557fe5b05905080649c197dcc0002830192506001607f1b8282028161033357fe5b05905080640e30dce40002830192506001607f1b8282028161035157fe5b0590508064012ebd130002830192506001607f1b8282028161036f57fe5b059050806317499f0002830192506001607f1b8282028161038c57fe5b059050806301a9d48002830192506001607f1b828202816103a957fe5b05905080621c638002830192506001607f1b828202816103c557fe5b059050806201c63802830192506001607f1b828202816103e157fe5b05905080611ab802830192506001607f1b828202816103fc57fe5b0590508061017c02830192506001607f1b8282028161041757fe5b05905080601402830192506001607f1b8282028161043157fe5b600095909503946721c3677c82b400009190059384010582016001607f1b01929050600160841b841615610487577243cbaf42a000812488fc5c220ad7b97bf6e99e6cf1aaddd7742e56d32fb9f9974484020592505b600160831b8416156104bc577105d27a9f51c31b7c2f8038212a05747799916e0afe10820813d65dfe6a33c07f738f84020592505b600160821b8416156104f157701b4c902e273a58678d6d3bfdb93db96d026f02582ab704279e8efd15e0265855c47a84020592505b600160811b841615610526577003b1cc971a9bb5b9867477440d6d1577506f1152aaa3bf81cb9fdb76eae12d02957184020592505b600160801b84161561055b5770015bf0a8b1457695355fb8ac404e7a79e36f2f16ac6c59de6f8d5d6f63c1482a7c8684020592505b6001607f1b84161561058f576fd3094c70f034de4b96ff7d5b6f99fcd86f4da2cbf1be5827f9eb3ad1aa9866ebb384020592505b6001607e1b8416156105c3576fa45af1e1f40c333b3de1db4dd55f29a76f63afbe7ab2082ba1a0ae5e4eb1b479dc84020592505b6001607d1b8416156105f7576f910b022db7ae67ce76b441c27035c6a16f70f5a893b608861e1f58934f97aea57d84020592505b6001607c1b84161561062b576f88415abbe9a76bead8d00cf112e4d4a86f783eafef1c0a8f3978c7f81824d62ebf84020592505b5050919050565b60006001607f1b610643848461071d565b8161064a57fe5b059392505050565b6000600160ff1b82141561069d576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b6101618383600003610832565b6000808212156106f1576040805162461bcd60e51b815260206004820152600d60248201526c6f75742d6f662d626f756e647360981b604482015290519081900360640190fd5b60006106fd848461071d565b905060008113610711576000915050610717565b607f1c90505b92915050565b600082158061072a575081155b1561073757506000610717565b508181028183828161074557fe5b0514158061075c57508282828161075857fe5b0514155b15610717576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b6000816107d8576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b600160ff1b831480156107ec575081600019145b15610829576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fd5b81838161064a57fe5b8181016000831280156108455750600082125b801561085057508281135b8061075c57506000831380156108665750600082135b801561075c575082811215610717576040805162461bcd60e51b81526020600482015260086024820152676f766572666c6f7760c01b604482015290519081900360640190fdfea2646970667358221220c5b7b5b8f172bc1a09df43e82d5141e05a815131f3ffc006e450b8ee008408c864736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/libs/IStakes.sol/IStakes.dbg.json b/abis/staking/libs/IStakes.sol/IStakes.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/staking/libs/IStakes.sol/IStakes.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/libs/IStakes.sol/IStakes.json b/abis/staking/libs/IStakes.sol/IStakes.json new file mode 100644 index 000000000..56aa09d73 --- /dev/null +++ b/abis/staking/libs/IStakes.sol/IStakes.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IStakes", + "sourceName": "contracts/staking/libs/IStakes.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/libs/LibFixedMath.sol/LibFixedMath.dbg.json b/abis/staking/libs/LibFixedMath.sol/LibFixedMath.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/staking/libs/LibFixedMath.sol/LibFixedMath.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/libs/LibFixedMath.sol/LibFixedMath.json b/abis/staking/libs/LibFixedMath.sol/LibFixedMath.json new file mode 100644 index 000000000..c3e9fd797 --- /dev/null +++ b/abis/staking/libs/LibFixedMath.sol/LibFixedMath.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LibFixedMath", + "sourceName": "contracts/staking/libs/LibFixedMath.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205676cf1b8a823b4fabd6a3217ff972850805bdbea0072f4fa5f65642478e71c964736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205676cf1b8a823b4fabd6a3217ff972850805bdbea0072f4fa5f65642478e71c964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/libs/MathUtils.sol/MathUtils.dbg.json b/abis/staking/libs/MathUtils.sol/MathUtils.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/staking/libs/MathUtils.sol/MathUtils.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/libs/MathUtils.sol/MathUtils.json b/abis/staking/libs/MathUtils.sol/MathUtils.json new file mode 100644 index 000000000..6439250a3 --- /dev/null +++ b/abis/staking/libs/MathUtils.sol/MathUtils.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MathUtils", + "sourceName": "contracts/staking/libs/MathUtils.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd02a6a2fc5b54bba927d43418d912647a64852dd5730fcf7ec8afa94efa8bc464736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd02a6a2fc5b54bba927d43418d912647a64852dd5730fcf7ec8afa94efa8bc464736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/staking/libs/Stakes.sol/Stakes.dbg.json b/abis/staking/libs/Stakes.sol/Stakes.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/staking/libs/Stakes.sol/Stakes.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/staking/libs/Stakes.sol/Stakes.json b/abis/staking/libs/Stakes.sol/Stakes.json new file mode 100644 index 000000000..4ec8a5a5d --- /dev/null +++ b/abis/staking/libs/Stakes.sol/Stakes.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Stakes", + "sourceName": "contracts/staking/libs/Stakes.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c2646b7f226c27db731452d0ce35e996b8d321f5c635c904016ea0faac325bb464736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c2646b7f226c27db731452d0ce35e996b8d321f5c635c904016ea0faac325bb464736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.dbg.json b/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.json b/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.json new file mode 100644 index 000000000..a2e921bd1 --- /dev/null +++ b/abis/tests/CallhookReceiverMock.sol/CallhookReceiverMock.json @@ -0,0 +1,65 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CallhookReceiverMock", + "sourceName": "contracts/tests/CallhookReceiverMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "foo", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "bar", + "type": "uint256" + } + ], + "name": "TransferReceived", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506101a3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a4c0ed3614610030575b600080fd5b6100b56004803603606081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b5090925090506100b7565b005b600080838360408110156100ca57600080fd5b508035925060200135905081610115576040805162461bcd60e51b815260206004820152600b60248201526a464f4f5f49535f5a45524f60a81b604482015290519081900360640190fd5b604080516001600160a01b0388168152602081018790528082018490526060810183905290517fd3d5fd0d9b2dafa6b4626aa68c0d89849157b1b320dd2180dfe3437d35d091a89181900360800190a150505050505056fea2646970667358221220eea6ceefe3cdf82c7bd2a13468300f8b95de739abd9a59b843be70962ab41aee64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a4c0ed3614610030575b600080fd5b6100b56004803603606081101561004657600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561007657600080fd5b82018360208201111561008857600080fd5b803590602001918460018302840111640100000000831117156100aa57600080fd5b5090925090506100b7565b005b600080838360408110156100ca57600080fd5b508035925060200135905081610115576040805162461bcd60e51b815260206004820152600b60248201526a464f4f5f49535f5a45524f60a81b604482015290519081900360640190fd5b604080516001600160a01b0388168152602081018790528082018490526060810183905290517fd3d5fd0d9b2dafa6b4626aa68c0d89849157b1b320dd2180dfe3437d35d091a89181900360800190a150505050505056fea2646970667358221220eea6ceefe3cdf82c7bd2a13468300f8b95de739abd9a59b843be70962ab41aee64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/GovernedMock.sol/GovernedMock.dbg.json b/abis/tests/GovernedMock.sol/GovernedMock.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/tests/GovernedMock.sol/GovernedMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/GovernedMock.sol/GovernedMock.json b/abis/tests/GovernedMock.sol/GovernedMock.json new file mode 100644 index 000000000..95ecef55a --- /dev/null +++ b/abis/tests/GovernedMock.sol/GovernedMock.json @@ -0,0 +1,100 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GovernedMock", + "sourceName": "contracts/tests/GovernedMock.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506100243361002960201b6102d71760201c565b61004b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b61032f8061005a6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630c340a241461005157806379ba509714610075578063e3056a341461007f578063f2fde38b14610087575b600080fd5b6100596100ad565b604080516001600160a01b039092168252519081900360200190f35b61007d6100bc565b005b6100596101ca565b61007d6004803603602081101561009d57600080fd5b50356001600160a01b03166101d9565b6000546001600160a01b031681565b6001546001600160a01b031680158015906100df5750336001600160a01b038216145b610130576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6001546001600160a01b031681565b6000546001600160a01b03163314610231576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610283576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122091721aef769b588f76b55fcd53f77cba43089173cb849e24d748c36ad56e8a0664736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630c340a241461005157806379ba509714610075578063e3056a341461007f578063f2fde38b14610087575b600080fd5b6100596100ad565b604080516001600160a01b039092168252519081900360200190f35b61007d6100bc565b005b6100596101ca565b61007d6004803603602081101561009d57600080fd5b50356001600160a01b03166101d9565b6000546001600160a01b031681565b6001546001600160a01b031680158015906100df5750336001600160a01b038216145b610130576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6001546001600160a01b031681565b6000546001600160a01b03163314610231576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610283576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b039290921691909117905556fea264697066735822122091721aef769b588f76b55fcd53f77cba43089173cb849e24d748c36ad56e8a0664736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.dbg.json b/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.dbg.json new file mode 100644 index 000000000..3eca88a44 --- /dev/null +++ b/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/bbb151203b1366a9de42ae2cff6904b8.json" +} diff --git a/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.json b/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.json new file mode 100644 index 000000000..b3e260885 --- /dev/null +++ b/abis/tests/L1GraphTokenLockTransferToolBadMock.sol/L1GraphTokenLockTransferToolBadMock.json @@ -0,0 +1,66 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1GraphTokenLockTransferToolBadMock", + "sourceName": "contracts/tests/L1GraphTokenLockTransferToolBadMock.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "l2WalletAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Wallet", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "pullETH", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Address", + "type": "address" + }, + { + "internalType": "address", + "name": "_l2Address", + "type": "address" + } + ], + "name": "setL2WalletAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061032d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634a830de5146100465780638f8295f71461005b578063e7db83091461006e575b600080fd5b6100596100543660046101e1565b610097565b005b610059610069366004610213565b6100c5565b61008161007c3660046101c0565b610189565b60405161008e919061023f565b60405180910390f35b6001600160a01b03918216600090815260208190526040902080546001600160a01b03191691909216179055565b6001600160a01b03828116600090815260208190526040902054166101055760405162461bcd60e51b81526004016100fc906102a4565b60405180910390fd5b6000336001600160a01b0316600183036040516101219061023c565b60006040518083038185875af1925050503d806000811461015e576040519150601f19603f3d011682016040523d82523d6000602084013e610163565b606091505b50509050806101845760405162461bcd60e51b81526004016100fc90610253565b505050565b6000602081905290815260409020546001600160a01b031681565b80356001600160a01b03811681146101bb57600080fd5b919050565b6000602082840312156101d1578081fd5b6101da826101a4565b9392505050565b600080604083850312156101f3578081fd5b6101fc836101a4565b915061020a602084016101a4565b90509250929050565b60008060408385031215610225578182fd5b61022e836101a4565b946020939093013593505050565b90565b6001600160a01b0391909116815260200190565b60208082526031908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152700e88115512081c1d5b1b0819985a5b1959607a1b606082015260800190565b60208082526033908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152720e881d5b9adb9bdddb88130c481dd85b1b195d606a1b60608201526080019056fea26469706673582212207ac95f7c330a42b53304d96a2712bdc93b2c44734b824bf01495df2ccf55023364736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80634a830de5146100465780638f8295f71461005b578063e7db83091461006e575b600080fd5b6100596100543660046101e1565b610097565b005b610059610069366004610213565b6100c5565b61008161007c3660046101c0565b610189565b60405161008e919061023f565b60405180910390f35b6001600160a01b03918216600090815260208190526040902080546001600160a01b03191691909216179055565b6001600160a01b03828116600090815260208190526040902054166101055760405162461bcd60e51b81526004016100fc906102a4565b60405180910390fd5b6000336001600160a01b0316600183036040516101219061023c565b60006040518083038185875af1925050503d806000811461015e576040519150601f19603f3d011682016040523d82523d6000602084013e610163565b606091505b50509050806101845760405162461bcd60e51b81526004016100fc90610253565b505050565b6000602081905290815260409020546001600160a01b031681565b80356001600160a01b03811681146101bb57600080fd5b919050565b6000602082840312156101d1578081fd5b6101da826101a4565b9392505050565b600080604083850312156101f3578081fd5b6101fc836101a4565b915061020a602084016101a4565b90509250929050565b60008060408385031215610225578182fd5b61022e836101a4565b946020939093013593505050565b90565b6001600160a01b0391909116815260200190565b60208082526031908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152700e88115512081c1d5b1b0819985a5b1959607a1b606082015260800190565b60208082526033908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152720e881d5b9adb9bdddb88130c481dd85b1b195d606a1b60608201526080019056fea26469706673582212207ac95f7c330a42b53304d96a2712bdc93b2c44734b824bf01495df2ccf55023364736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.dbg.json b/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.dbg.json new file mode 100644 index 000000000..6708986b3 --- /dev/null +++ b/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/2f87ef363c5fd614c331d24ebaf949da.json" +} diff --git a/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.json b/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.json new file mode 100644 index 000000000..36332e599 --- /dev/null +++ b/abis/tests/L1GraphTokenLockTransferToolMock.sol/L1GraphTokenLockTransferToolMock.json @@ -0,0 +1,66 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "L1GraphTokenLockTransferToolMock", + "sourceName": "contracts/tests/L1GraphTokenLockTransferToolMock.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "l2WalletAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Wallet", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "pullETH", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_l1Address", + "type": "address" + }, + { + "internalType": "address", + "name": "_l2Address", + "type": "address" + } + ], + "name": "setL2WalletAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061032a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634a830de5146100465780638f8295f71461005b578063e7db83091461006e575b600080fd5b6100596100543660046101de565b610097565b005b610059610069366004610210565b6100c5565b61008161007c3660046101bd565b610186565b60405161008e919061023c565b60405180910390f35b6001600160a01b03918216600090815260208190526040902080546001600160a01b03191691909216179055565b6001600160a01b03828116600090815260208190526040902054166101055760405162461bcd60e51b81526004016100fc906102a1565b60405180910390fd5b6000336001600160a01b03168260405161011e90610239565b60006040518083038185875af1925050503d806000811461015b576040519150601f19603f3d011682016040523d82523d6000602084013e610160565b606091505b50509050806101815760405162461bcd60e51b81526004016100fc90610250565b505050565b6000602081905290815260409020546001600160a01b031681565b80356001600160a01b03811681146101b857600080fd5b919050565b6000602082840312156101ce578081fd5b6101d7826101a1565b9392505050565b600080604083850312156101f0578081fd5b6101f9836101a1565b9150610207602084016101a1565b90509250929050565b60008060408385031215610222578182fd5b61022b836101a1565b946020939093013593505050565b90565b6001600160a01b0391909116815260200190565b60208082526031908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152700e88115512081c1d5b1b0819985a5b1959607a1b606082015260800190565b60208082526033908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152720e881d5b9adb9bdddb88130c481dd85b1b195d606a1b60608201526080019056fea2646970667358221220b3a6be7c21c6f4c54c7eae3db7fbd566dcea10d15f2ee619ed291a019a63c7c264736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80634a830de5146100465780638f8295f71461005b578063e7db83091461006e575b600080fd5b6100596100543660046101de565b610097565b005b610059610069366004610210565b6100c5565b61008161007c3660046101bd565b610186565b60405161008e919061023c565b60405180910390f35b6001600160a01b03918216600090815260208190526040902080546001600160a01b03191691909216179055565b6001600160a01b03828116600090815260208190526040902054166101055760405162461bcd60e51b81526004016100fc906102a1565b60405180910390fd5b6000336001600160a01b03168260405161011e90610239565b60006040518083038185875af1925050503d806000811461015b576040519150601f19603f3d011682016040523d82523d6000602084013e610160565b606091505b50509050806101815760405162461bcd60e51b81526004016100fc90610250565b505050565b6000602081905290815260409020546001600160a01b031681565b80356001600160a01b03811681146101b857600080fd5b919050565b6000602082840312156101ce578081fd5b6101d7826101a1565b9392505050565b600080604083850312156101f0578081fd5b6101f9836101a1565b9150610207602084016101a1565b90509250929050565b60008060408385031215610222578182fd5b61022b836101a1565b946020939093013593505050565b90565b6001600160a01b0391909116815260200190565b60208082526031908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152700e88115512081c1d5b1b0819985a5b1959607a1b606082015260800190565b60208082526033908201527f4c314772617068546f6b656e4c6f636b5472616e73666572546f6f6c4d6f636b6040820152720e881d5b9adb9bdddb88130c481dd85b1b195d606a1b60608201526080019056fea2646970667358221220b3a6be7c21c6f4c54c7eae3db7fbd566dcea10d15f2ee619ed291a019a63c7c264736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.dbg.json b/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.json b/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.json new file mode 100644 index 000000000..93447399a --- /dev/null +++ b/abis/tests/LegacyGNSMock.sol/LegacyGNSMock.json @@ -0,0 +1,1376 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "LegacyGNSMock", + "sourceName": "contracts/tests/LegacyGNSMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "nameHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "name": "ContractSynced", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "CounterpartGNSAddressUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l1Curator", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Beneficiary", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "CuratorBalanceSentToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawnGRT", + "type": "uint256" + } + ], + "name": "GRTWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "subgraphNumber", + "type": "uint256" + } + ], + "name": "LegacySubgraphClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "param", + "type": "string" + } + ], + "name": "ParameterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "controller", + "type": "address" + } + ], + "name": "SetController", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "graphAccount", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nameSystem", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nameIdentifier", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "SetDefaultName", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalBurnt", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensReceived", + "type": "uint256" + } + ], + "name": "SignalBurned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "curator", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensDeposited", + "type": "uint256" + } + ], + "name": "SignalMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "nSignalTransferred", + "type": "uint256" + } + ], + "name": "SignalTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "name": "SubgraphDeprecated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "subgraphMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphMetadataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "subgraphNFT", + "type": "address" + } + ], + "name": "SubgraphNFTUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "reserveRatio", + "type": "uint32" + } + ], + "name": "SubgraphPublished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l1Owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "_l2Owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "SubgraphSentToL2", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "vSignalCreated", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokensSignalled", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "SubgraphUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "versionMetadata", + "type": "bytes32" + } + ], + "name": "SubgraphVersionUpdated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "approveAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensOutMin", + "type": "uint256" + } + ], + "name": "burnSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "controller", + "outputs": [ + { + "internalType": "contract IController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "counterpartGNSAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "subgraphNumber", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "name": "createLegacySubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "deprecateSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_curator", + "type": "address" + } + ], + "name": "getCuratorSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "getLegacySubgraphKey", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "seqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + } + ], + "name": "getSubgraphDeploymentID", + "outputs": [ + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "subgraphID", + "type": "uint256" + } + ], + "name": "getSubgraphNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + }, + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isLegacySubgraph", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "isPublished", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphData", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "legacySubgraphKeys", + "outputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "accountSeqID", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subgraphNumber", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "migrateLegacySubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalOutMin", + "type": "uint256" + } + ], + "name": "mintSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_nSignalIn", + "type": "uint256" + } + ], + "name": "nSignalToVSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nextAccountSeqID", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenID", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ownerTaxPercentage", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "publishNewSubgraph", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_versionMetadata", + "type": "bytes32" + } + ], + "name": "publishNewVersion", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_beneficiary", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "sendCuratorBalanceToBeneficiaryOnL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_l2Owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + } + ], + "name": "sendSubgraphToL2", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_controller", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_counterpart", + "type": "address" + } + ], + "name": "setCounterpartGNSAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_graphAccount", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_nameSystem", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_nameIdentifier", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "_name", + "type": "string" + } + ], + "name": "setDefaultName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_ownerTaxPercentage", + "type": "uint32" + } + ], + "name": "setOwnerTaxPercentage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_subgraphNFT", + "type": "address" + } + ], + "name": "setSubgraphNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "subgraphNFT", + "outputs": [ + { + "internalType": "contract ISubgraphNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "subgraphTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphTransferredToL2", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "subgraphs", + "outputs": [ + { + "internalType": "uint256", + "name": "vSignal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "nSignal", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "subgraphDeploymentID", + "type": "bytes32" + }, + { + "internalType": "uint32", + "name": "__DEPRECATED_reserveRatio", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "disabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "withdrawableGRT", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "syncAllContracts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokensIn", + "type": "uint256" + } + ], + "name": "tokensToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferSignal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_subgraphMetadata", + "type": "bytes32" + } + ], + "name": "updateSubgraphMetadata", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_vSignalIn", + "type": "uint256" + } + ], + "name": "vSignalToNSignal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_subgraphID", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101806040527fe6876326c1291dfcbbd3864a6816d698cd591defc7aa2153d7f9c4c04016c89f6080527fc713c3df6d14cdf946460395d09af88993ee2b948b1a808161494e32c5f6706360a0527f966f1e8d8d8014e05f6ec4a57138da9be1f7c5a7f802928a18072f7c5318076160c0527f1df41cd916959d1163dc8f0671a666ea8a3e434c13e40faef527133b5d16703460e0527f45fc200c7e4544e457d3c5709bfe0d520442c30bbcbdaede89e8d4a4bbc19247610100527fd362cac9cb75c10d67bcc0b7eeb0b1ef48bb5420b556c092d4fd7f758816fcf0610120527f39605a6c26a173774ca666c67ef70cf491880e5d3d6d0ca66ec0a31034f15ea361014052613d0960e61b6101605234801561011a57600080fd5b5060805160a05160c05160e0516101005161012051610140516101605160e01c61438c61018f60003980611306528061135f5250806120cc5250806120a352806134c752508061207a5280612957525080612051525080612028525080611fff525080611fd65280612a4d525061438c6000f3fe6080604052600436106102725760003560e01c80639f0f22b71161014f578063cc2d23c7116100c1578063d88253861161007a578063d88253861461079a578063d916f277146107ba578063e1329732146107da578063e47ae80b146107fa578063eec16b0e1461081a578063f77c47911461082f57610272565b8063cc2d23c7146106f2578063cc4f679514610712578063d2a8a9ae14610732578063d495f9a714610745578063d6866ea514610765578063d797f4bb1461077a57610272565b8063ac9650d811610113578063ac9650d814610617578063b223505614610644578063b22ff4e814610664578063b43f6a0214610684578063b78edf70146106b2578063be8f4920146106d257610272565b80639f0f22b714610582578063a2594d82146105a2578063a32571ee146105c2578063a49a15f1146105d7578063a5143f02146105f757610272565b806353f615c9116101e8578063721eb08b116101ac578063721eb08b146104b55780637b156fb5146104e25780637ba95862146105025780637bd1b0bf1461052257806392eefe9b146105425780639ce7abe51461056257610272565b806353f615c9146103f957806356ee0a85146104285780636352211e1461044857806363bd3abe146104755780636a464ac21461049557610272565b8063380d0c081161023a578063380d0c081461034f578063428e593614610364578063485cc955146103865780634ca94ed5146103a65780634dbecf2f146103c65780634e8eb59b146103e657610272565b806314a76fdb14610277578063186722fa146102ae5780632d8fcdc1146102db5780632e1a7d4d146102fd5780633710652c1461031d575b600080fd5b34801561028357600080fd5b506102976102923660046138a3565b610844565b6040516102a5929190613aea565b60405180910390f35b3480156102ba57600080fd5b506102ce6102c93660046138d3565b610868565b6040516102a59190613b6e565b3480156102e757600080fd5b506102fb6102f6366004613975565b610899565b005b34801561030957600080fd5b506102fb6103183660046138a3565b6108da565b34801561032957600080fd5b5061033d61033836600461367b565b610a44565b6040516102a5969594939291906141c6565b34801561035b57600080fd5b506102fb610a92565b34801561037057600080fd5b50610379610b25565b6040516102a591906141f6565b34801561039257600080fd5b506102fb6103a1366004613643565b610b31565b3480156103b257600080fd5b506102976103c13660046138a3565b610c6d565b3480156103d257600080fd5b506102ce6103e13660046138a3565b610c92565b6102fb6103f436600461392e565b610ccc565b34801561040557600080fd5b50610419610414366004613975565b610e86565b6040516102a593929190613b85565b34801561043457600080fd5b506102fb6104433660046138a3565b610f43565b34801561045457600080fd5b506104686104633660046138a3565b61109b565b6040516102a59190613a8d565b34801561048157600080fd5b506102fb6104903660046138f7565b61111c565b3480156104a157600080fd5b5061033d6104b03660046138a3565b611247565b3480156104c157600080fd5b506104d56104d03660046138a3565b61128a565b6040516102a59190613b63565b3480156104ee57600080fd5b506104d56104fd3660046138a3565b61129f565b34801561050e57600080fd5b506102fb61051d3660046137df565b6112b2565b34801561052e57600080fd5b506102fb61053d366004613996565b6113de565b34801561054e57600080fd5b506102fb61055d36600461360b565b61161c565b34801561056e57600080fd5b506102fb61057d366004613850565b61162d565b34801561058e57600080fd5b506102fb61059d36600461360b565b611783565b3480156105ae57600080fd5b506102fb6105bd36600461360b565b6117e1565b3480156105ce57600080fd5b506104686118fc565b3480156105e357600080fd5b506102ce6105f2366004613975565b61190b565b34801561060357600080fd5b506102fb61061236600461360b565b611947565b34801561062357600080fd5b50610637610632366004613750565b611958565b6040516102a59190613b03565b34801561065057600080fd5b506102ce61065f36600461360b565b611a98565b34801561067057600080fd5b506102fb61067f3660046136a6565b611aaa565b34801561069057600080fd5b506106a461069f366004613975565b611bf1565b6040516102a5929190613b77565b3480156106be57600080fd5b506102fb6106cd3660046139cd565b611caa565b3480156106de57600080fd5b506102ce6106ed3660046138a3565b611cbb565b3480156106fe57600080fd5b506102fb61070d3660046136da565b611cd0565b34801561071e57600080fd5b506102ce61072d3660046138a3565b611d46565b6102fb61074036600461392e565b611d5d565b34801561075157600080fd5b506102ce610760366004613975565b611fad565b34801561077157600080fd5b506102fb611fd1565b34801561078657600080fd5b506104d56107953660046138a3565b6120f2565b3480156107a657600080fd5b506102fb6107b5366004613996565b612111565b3480156107c657600080fd5b506102fb6107d5366004613975565b6122a6565b3480156107e657600080fd5b506102fb6107f5366004613996565b6122e1565b34801561080657600080fd5b506102ce6108153660046138a3565b612629565b34801561082657600080fd5b50610468612640565b34801561083b57600080fd5b5061046861264f565b600090815260116020526040902080546001909101546001600160a01b0390911691565b60006108738361265e565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b336000818152600f602090815260408083208684528252808320938352600d82528083209583529490529290922081905560038201556103e8600190910155565b6108e26126be565b60006108ed8261265e565b6004810154909150640100000000900460ff16151560011461092a5760405162461bcd60e51b815260040161092190614077565b60405180910390fd5b600581015461094b5760405162461bcd60e51b815260040161092190613c5c565b3360008181526002830160205260409020548061097a5760405162461bcd60e51b815260040161092190613f26565b60006109a1846001015461099b86600501548561282c90919063ffffffff16565b9061288c565b6001600160a01b038416600090815260028601602052604081205560018501549091506109ce90836128f3565b600185015560058401546109e290826128f3565b60058501556109f96109f2612950565b8483612980565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a8484604051610a35929190613b77565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b610a9a612950565b6001600160a01b031663095ea7b3610ab0612a46565b6000196040518363ffffffff1660e01b8152600401610ad0929190613aea565b602060405180830381600087803b158015610aea57600080fd5b505af1158015610afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2291906137bf565b50565b600c5463ffffffff1681565b610b39612a71565b6001600160a01b0316336001600160a01b031614610b94576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff1680610baf5750610baf612a96565b80610bc45750601354600160a01b900460ff16155b610bff5760405162461bcd60e51b815260040180806020018281038252602e815260200180614308602e913960400191505060405180910390fd5b601354600160a81b900460ff16158015610c36576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b610c3f83611624565b610c4b6207a120612aa7565b610c5482612b13565b8015610c68576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610c9e8361265e565b6001015490508015610cc1576000610cb68483611bf1565b9350610cc792505050565b60009150505b919050565b610cd46126be565b60008581526047602052604090205460ff16610d025760405162461bcd60e51b815260040161092190613e53565b610d16610d0f848461282c565b8290612ba9565b3414610d345760405162461bcd60e51b8152600401610921906140da565b80610d515760405162461bcd60e51b815260040161092190613d01565b6000610d5c8661265e565b33600090815260028201602052604090205490915080610d8e5760405162461bcd60e51b815260040161092190614054565b600182015480610db05760405162461bcd60e51b815260040161092190614002565b60058301546000610dc58361099b868561282c565b9050600060018b8b604051602001610ddf93929190614247565b60408051601f1981840301815291815233600090815260028901602052908120559050610e0c84866128f3565b6001870155610e1b83836128f3565b6005870155610e2d828a8a8a85612c03565b896001600160a01b0316336001600160a01b03168c7fd6383ec977aa990dcf95328dfe34720fddeb10f1f0f95d26323f2aeb45acfcc485604051610e719190613b6e565b60405180910390a45050505050505050505050565b600080600080610e958661265e565b9050600080610ea2612a46565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610ed3929190613b77565b604080518083038186803b158015610eea57600080fd5b505afa158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906139aa565b915091506000610f32898461190b565b929650919450925050509250925092565b610f4b612d61565b8033610f568261109b565b6001600160a01b031614610f7c5760405162461bcd60e51b815260040161092190613e1c565b6000610f8783612e14565b9050806001015460001461102d57610f9d612a46565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610fd5929091600090600401613b85565b602060405180830381600087803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102791906138bb565b60058201555b6004810180546000835563ffffffff1964ff00000000199091166401000000001716905561105a83612e4c565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba1826005015460405161108e9190613b6e565b60405180910390a2505050565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e906110cc908590600401613b6e565b60206040518083038186803b1580156110e457600080fd5b505afa1580156110f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108939190613627565b6111246126be565b6001600160a01b03821661114a5760405162461bcd60e51b815260040161092190613ed6565b600061115584612e14565b336000818152600283016020526040902054919250908381101561118b5760405162461bcd60e51b815260040161092190613bd9565b6001600160a01b03821660009081526002840160205260409020546111b090856128f3565b6001600160a01b03808416600090815260028601602052604080822093909355908716815220546111e19085612ba9565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490611237908990613b6e565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b60476020526000908152604090205460ff1681565b60006108936112ad8361265e565b612eaa565b6112ba612d61565b826112d75760405162461bcd60e51b815260040161092190613d2d565b3360006112e382612ecf565b905060006112f08261265e565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff16179055905061133a8383612ee3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f000000000000000000000000000000000000000000000000000000000000000060405161138b91906141f6565b60405180910390a361139d8285612f2f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc876040516113ce9190613b6e565b60405180910390a3505050505050565b6113e66126be565b60006113f184612e14565b33600081815260028301602052604090205491925090808511156114275760405162461bcd60e51b815260040161092190613e79565b60006114338787611fad565b9050600061143f612a46565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b815260040161147293929190613b85565b602060405180830381600087803b15801561148c57600080fd5b505af11580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c491906138bb565b85549091506114d390836128f3565b855560018501546114e490886128f3565b60018601556001600160a01b038416600090815260028601602052604090205461150e90886128f3565b6001600160a01b0385166000908152600287016020526040902055611531612950565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040161155e929190613aea565b602060405180830381600087803b15801561157857600080fd5b505af115801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b091906137bf565b6115cc5760405162461bcd60e51b815260040161092190613c25565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161160a93929190613b85565b60405180910390a35050505050505050565b611624612fcf565b610b228161302e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561166957600080fd5b505af115801561167d573d6000803e3d6000fd5b505050506040513d602081101561169357600080fd5b50516001600160a01b031633146116f1576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561176557600080fd5b505af1158015611779573d6000803e3d6000fd5b5050505050505050565b61178b6130d6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f941906117d6908390613a8d565b60405180910390a150565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050506040513d602081101561184757600080fd5b50516001600160a01b031633146118a5576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118e057600080fd5b505af11580156118f4573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b6000806119178461265e565b80549091506119295782915050610893565b8054600182015461193f919061099b908661282c565b949350505050565b61194f6130d6565b610b2281612b13565b60608167ffffffffffffffff8111801561197157600080fd5b506040519080825280602002602001820160405280156119a557816020015b60608152602001906001900390816119905790505b50905060005b82811015611a9157600080308686858181106119c357fe5b90506020028101906119d5919061426b565b6040516119e3929190613a7d565b600060405180830381855af49150503d8060008114611a1e576040519150601f19603f3d011682016040523d82523d6000602084013e611a23565b606091505b509150915081611a6f57604481511015611a3c57600080fd5b60048101905080806020019051810190611a56919061380a565b60405162461bcd60e51b81526004016109219190613b9b565b80848481518110611a7c57fe5b602090810291909101015250506001016119ab565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f60209081526040808320858452909152902060030154151560018114611af35760405162461bcd60e51b815260040161092190613cca565b6000611aff85856131aa565b6000818152601160205260409020549091506001600160a01b031615611b375760405162461bcd60e51b815260040161092190614105565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d825282812087825290915290812055611b9f8582612ee3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b58785604051611bd89190613b6e565b60405180910390a2611bea8184612f2f565b5050505050565b6000806000611bff85612e14565b90506000611c0d8686611fad565b90506000611c19612a46565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611c4a929190613b77565b60206040518083038186803b158015611c6257600080fd5b505afa158015611c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9a91906138bb565b91945090925050505b9250929050565b611cb26130d6565b610b2281612aa7565b6000611cc68261265e565b6001015492915050565b6001600160a01b0385163314611cf85760405162461bcd60e51b815260040161092190613c93565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611d379493929190614207565b60405180910390a25050505050565b600080611d528361265e565b600101549392505050565b611d656126be565b60008581526047602052604090205460ff1615611d945760405162461bcd60e51b81526004016109219061402e565b611da1610d0f848461282c565b3414611dbf5760405162461bcd60e51b8152600401610921906140da565b6000611dca86612e14565b905033611dd68761109b565b6001600160a01b031614611dfc5760405162461bcd60e51b815260040161092190613e1c565b6000868152604760205260408120805460ff19166001179055611e1d612a46565b600383015483546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792611e55929091600090600401613b85565b602060405180830381600087803b158015611e6f57600080fd5b505af1158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea791906138bb565b60048301805464ff000000001916640100000000179055600080845533815260028401602052604081205460018501549293509190611eea8261099b858761282c565b3360009081526002870160205260408120559050611f0882846128f3565b6001860155611f1784826128f3565b60058601556000808b8b604051602001611f3393929190614247565b6040516020818303038152906040529050611f51828a8a8a85612c03565b60048601805463ffffffff19169055611f698b612e4c565b896001600160a01b0316336001600160a01b03168c7f5b5010c0f6a4bed182c1050c02e3b010581be95cb8e03fefe48b4207c11cc6fa85604051610e719190613b6e565b600080611fb98461265e565b6001810154815491925061193f9161099b908661282c565b611ffa7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120237f00000000000000000000000000000000000000000000000000000000000000006131de565b61204c7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120757f00000000000000000000000000000000000000000000000000000000000000006131de565b61209e7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120c77f00000000000000000000000000000000000000000000000000000000000000006131de565b6120f07f00000000000000000000000000000000000000000000000000000000000000006131de565b565b6000806120fe83610844565b506001600160a01b031615159392505050565b6121196126be565b600061212484612e14565b905033612139612132612950565b82866132e0565b6000612143612a46565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b815260040161217793929190613b85565b6040805180830381600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c891906139aa565b50905060006121d7878361190b565b9050848110156121f95760405162461bcd60e51b815260040161092190613de5565b83546122059083612ba9565b845560018401546122169082612ba9565b60018501556001600160a01b03831660009081526002850160205260409020546122409082612ba9565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a9061229590859087908c90613b85565b60405180910390a350505050505050565b81336122b18261109b565b6001600160a01b0316146122d75760405162461bcd60e51b815260040161092190613e1c565b610c688383612f2f565b6122e9612d61565b82336122f48261109b565b6001600160a01b03161461231a5760405162461bcd60e51b815260040161092190613e1c565b600061232585612e14565b9050836123445760405162461bcd60e51b815260040161092190613d2d565b80600301548414156123685760405162461bcd60e51b815260040161092190613d79565b6000612372612a46565b604051634c4ea0ed60e01b81529091506001600160a01b03821690634c4ea0ed906123a1908890600401613b6e565b60206040518083038186803b1580156123b957600080fd5b505afa1580156123cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f191906137bf565b1561240e5760405162461bcd60e51b815260040161092190614146565b6001820154156125ef57600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926124509291908690600401613b85565b602060405180830381600087803b15801561246a57600080fd5b505af115801561247e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a291906138bb565b9050600033905060006125268383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b1580156124e957600080fd5b505afa1580156124fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252191906139e9565b61333f565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab9061255a908b908590600090600401613b85565b6040805180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ab91906139aa565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc8350896916125e3918690613b77565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc866040516113ce9190613b6e565b6000806126358361265e565b600301549392505050565b6013546001600160a01b031681565b6000546001600160a01b031681565b600081815260116020526040812080546001600160a01b0316156126ab5780546001600160a01b03166000908152600f602090815260408083206001909401548352929052209050610cc7565b5050600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270a57600080fd5b505afa15801561271e573d6000803e3d6000fd5b505050506040513d602081101561273457600080fd5b505115612771576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156127bd57600080fd5b505afa1580156127d1573d6000803e3d6000fd5b505050506040513d60208110156127e757600080fd5b5051156120f0576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261283b57506000610893565b8282028284828161284857fe5b04146128855760405162461bcd60e51b81526004018080602001828103825260218152602001806143366021913960400191505060405180910390fd5b9392505050565b60008082116128e2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816128eb57fe5b049392505050565b60008282111561294a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b905090565b8015610c6857826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129dd57600080fd5b505af11580156129f1573d6000803e3d6000fd5b505050506040513d6020811015612a0757600080fd5b5051610c68576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000612aa1306134ba565b15905090565b620f424063ffffffff82161115612ad05760405162461bcd60e51b815260040161092190613f5d565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c906117d6906140ae565b6001600160a01b038116612b395760405162461bcd60e51b815260040161092190613f9e565b612b42816134ba565b612b5e5760405162461bcd60e51b815260040161092190613bae565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee906117d6908390613a8d565b600082820183811015612885576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282604051602001612c189291906141ad565b60405160208183030381529060405290506000612c33612950565b90506000612c3f6134c0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390612c709084908c90600401613aea565b602060405180830381600087803b158015612c8a57600080fd5b505af1158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc291906137bf565b5060145460405163d2ce7d6560e01b81526001600160a01b038084169263d2ce7d65923492612d009288929116908e908e908e908c90600401613aa1565b6000604051808303818588803b158015612d1957600080fd5b505af1158015612d2d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612d56919081019061380a565b505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d6020811015612dd757600080fd5b5051156120f0576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612e208361265e565b9050612e2b81612eaa565b15156001146108935760405162461bcd60e51b815260040161092190613fd5565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612e7c908490600401613b6e565b600060405180830381600087803b158015612e9657600080fd5b505af1158015611bea573d6000803e3d6000fd5b60038101546000901580159061089357505060040154640100000000900460ff161590565b600061089382612ede846134eb565b61352f565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612f159085908590600401613aea565b600060405180830381600087803b1580156118e057600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612f619085908590600401613b77565b600060405180830381600087803b158015612f7b57600080fd5b505af1158015612f8f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612fc39190613b6e565b60405180910390a25050565b6000546001600160a01b031633146120f0576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116613082576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561312257600080fd5b505afa158015613136573d6000803e3d6000fd5b505050506040513d602081101561314c57600080fd5b50516001600160a01b031633146120f0576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082826040516020016131bf929190613a31565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561322b57600080fd5b505afa15801561323f573d6000803e3d6000fd5b505050506040513d602081101561325557600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146132dc5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610c6857604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156129dd57600080fd5b600063ffffffff8216158061335a5750600c5463ffffffff16155b15613366575082612885565b6000613382620f424061099b8763ffffffff8781169061282c16565b9050600061339086836128f3565b600c549091506000906133b790620f42409061099b90869063ffffffff9081169061282c16565b905060006133c58383612ba9565b905060006133ef6133e2620f424063ffffffff808b16906128f316565b61099b84620f424061282c565b905060006133fd828b6128f3565b905061341161340a612950565b8a836132e0565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806108935760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561348757600080fd5b505afa15801561349b573d6000803e3d6000fd5b505050506040513d60208110156134b157600080fd5b50519392505050565b3b151590565b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b6001600160a01b0381166000908152600e602052604081205461350f816001612ba9565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061354990859085908490602001613a53565b60408051601f198184030181529190528051602090910120949350505050565b600067ffffffffffffffff8084111561357e57fe5b604051601f8501601f19168101602001828111828210171561359c57fe5b6040528481529150818385018610156135b457600080fd5b6135c28560208301866142b0565b50509392505050565b60008083601f8401126135dc578182fd5b50813567ffffffffffffffff8111156135f3578182fd5b602083019150836020828501011115611ca357600080fd5b60006020828403121561361c578081fd5b8135612885816142e0565b600060208284031215613638578081fd5b8151612885816142e0565b60008060408385031215613655578081fd5b8235613660816142e0565b91506020830135613670816142e0565b809150509250929050565b6000806040838503121561368d578182fd5b8235613698816142e0565b946020939093013593505050565b6000806000606084860312156136ba578081fd5b83356136c5816142e0565b95602085013595506040909401359392505050565b6000806000806000608086880312156136f1578081fd5b85356136fc816142e0565b9450602086013560ff81168114613711578182fd5b935060408601359250606086013567ffffffffffffffff811115613733578182fd5b61373f888289016135cb565b969995985093965092949392505050565b60008060208385031215613762578182fd5b823567ffffffffffffffff80821115613779578384fd5b818501915085601f83011261378c578384fd5b81358181111561379a578485fd5b86602080830285010111156137ad578485fd5b60209290920196919550909350505050565b6000602082840312156137d0578081fd5b81518015158114612885578182fd5b6000806000606084860312156137f3578283fd5b505081359360208301359350604090920135919050565b60006020828403121561381b578081fd5b815167ffffffffffffffff811115613831578182fd5b8201601f81018413613841578182fd5b61193f84825160208401613569565b600080600060408486031215613864578081fd5b833561386f816142e0565b9250602084013567ffffffffffffffff81111561388a578182fd5b613896868287016135cb565b9497909650939450505050565b6000602082840312156138b4578081fd5b5035919050565b6000602082840312156138cc578081fd5b5051919050565b600080604083850312156138e5578182fd5b823591506020830135613670816142e0565b60008060006060848603121561390b578081fd5b83359250602084013561391d816142e0565b929592945050506040919091013590565b600080600080600060a08688031215613945578283fd5b853594506020860135613957816142e0565b94979496505050506040830135926060810135926080909101359150565b60008060408385031215613987578182fd5b50508035926020909101359150565b6000806000606084860312156137f3578081fd5b600080604083850312156139bc578182fd5b505080516020909101519092909150565b6000602082840312156139de578081fd5b8135612885816142f5565b6000602082840312156139fa578081fd5b8151612885816142f5565b60008151808452613a1d8160208601602086016142b0565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a0830152613ade60c0830184613a05565b98975050505050505050565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613b5657603f19888603018452613b44858351613a05565b94509285019290850190600101613b28565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526128856020830184613a05565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b6020808252600c908201526b085514905394d1915494915160a21b604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252601290820152711393d7d4d55091d490541217d4d251d3905360721b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252600990820152681393d7d4d251d3905360ba1b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b602080825260119082015270494e56414c49445f4554485f56414c554560781b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b60208082526041908201527f474e533a204f776e65722063616e6e6f7420706f696e7420746f20612073756260408201527f67726170684944207468617420686173206265656e207072652d6375726174656060820152601960fa1b608082015260a00190565b60008382526040602083015261193f6040830184613a05565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b60ff93909316835260208301919091526001600160a01b0316604082015260600190565b6000808335601e19843603018112614281578283fd5b83018035915067ffffffffffffffff82111561429b578283fd5b602001915036819003821315611ca357600080fd5b60005b838110156142cb5781810151838201526020016142b3565b838111156142da576000848401525b50505050565b6001600160a01b0381168114610b2257600080fd5b63ffffffff81168114610b2257600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122099ac78740adbc056d0f92bf13f3e91cfe4921adf5587c3924598667ccc9c97c764736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106102725760003560e01c80639f0f22b71161014f578063cc2d23c7116100c1578063d88253861161007a578063d88253861461079a578063d916f277146107ba578063e1329732146107da578063e47ae80b146107fa578063eec16b0e1461081a578063f77c47911461082f57610272565b8063cc2d23c7146106f2578063cc4f679514610712578063d2a8a9ae14610732578063d495f9a714610745578063d6866ea514610765578063d797f4bb1461077a57610272565b8063ac9650d811610113578063ac9650d814610617578063b223505614610644578063b22ff4e814610664578063b43f6a0214610684578063b78edf70146106b2578063be8f4920146106d257610272565b80639f0f22b714610582578063a2594d82146105a2578063a32571ee146105c2578063a49a15f1146105d7578063a5143f02146105f757610272565b806353f615c9116101e8578063721eb08b116101ac578063721eb08b146104b55780637b156fb5146104e25780637ba95862146105025780637bd1b0bf1461052257806392eefe9b146105425780639ce7abe51461056257610272565b806353f615c9146103f957806356ee0a85146104285780636352211e1461044857806363bd3abe146104755780636a464ac21461049557610272565b8063380d0c081161023a578063380d0c081461034f578063428e593614610364578063485cc955146103865780634ca94ed5146103a65780634dbecf2f146103c65780634e8eb59b146103e657610272565b806314a76fdb14610277578063186722fa146102ae5780632d8fcdc1146102db5780632e1a7d4d146102fd5780633710652c1461031d575b600080fd5b34801561028357600080fd5b506102976102923660046138a3565b610844565b6040516102a5929190613aea565b60405180910390f35b3480156102ba57600080fd5b506102ce6102c93660046138d3565b610868565b6040516102a59190613b6e565b3480156102e757600080fd5b506102fb6102f6366004613975565b610899565b005b34801561030957600080fd5b506102fb6103183660046138a3565b6108da565b34801561032957600080fd5b5061033d61033836600461367b565b610a44565b6040516102a5969594939291906141c6565b34801561035b57600080fd5b506102fb610a92565b34801561037057600080fd5b50610379610b25565b6040516102a591906141f6565b34801561039257600080fd5b506102fb6103a1366004613643565b610b31565b3480156103b257600080fd5b506102976103c13660046138a3565b610c6d565b3480156103d257600080fd5b506102ce6103e13660046138a3565b610c92565b6102fb6103f436600461392e565b610ccc565b34801561040557600080fd5b50610419610414366004613975565b610e86565b6040516102a593929190613b85565b34801561043457600080fd5b506102fb6104433660046138a3565b610f43565b34801561045457600080fd5b506104686104633660046138a3565b61109b565b6040516102a59190613a8d565b34801561048157600080fd5b506102fb6104903660046138f7565b61111c565b3480156104a157600080fd5b5061033d6104b03660046138a3565b611247565b3480156104c157600080fd5b506104d56104d03660046138a3565b61128a565b6040516102a59190613b63565b3480156104ee57600080fd5b506104d56104fd3660046138a3565b61129f565b34801561050e57600080fd5b506102fb61051d3660046137df565b6112b2565b34801561052e57600080fd5b506102fb61053d366004613996565b6113de565b34801561054e57600080fd5b506102fb61055d36600461360b565b61161c565b34801561056e57600080fd5b506102fb61057d366004613850565b61162d565b34801561058e57600080fd5b506102fb61059d36600461360b565b611783565b3480156105ae57600080fd5b506102fb6105bd36600461360b565b6117e1565b3480156105ce57600080fd5b506104686118fc565b3480156105e357600080fd5b506102ce6105f2366004613975565b61190b565b34801561060357600080fd5b506102fb61061236600461360b565b611947565b34801561062357600080fd5b50610637610632366004613750565b611958565b6040516102a59190613b03565b34801561065057600080fd5b506102ce61065f36600461360b565b611a98565b34801561067057600080fd5b506102fb61067f3660046136a6565b611aaa565b34801561069057600080fd5b506106a461069f366004613975565b611bf1565b6040516102a5929190613b77565b3480156106be57600080fd5b506102fb6106cd3660046139cd565b611caa565b3480156106de57600080fd5b506102ce6106ed3660046138a3565b611cbb565b3480156106fe57600080fd5b506102fb61070d3660046136da565b611cd0565b34801561071e57600080fd5b506102ce61072d3660046138a3565b611d46565b6102fb61074036600461392e565b611d5d565b34801561075157600080fd5b506102ce610760366004613975565b611fad565b34801561077157600080fd5b506102fb611fd1565b34801561078657600080fd5b506104d56107953660046138a3565b6120f2565b3480156107a657600080fd5b506102fb6107b5366004613996565b612111565b3480156107c657600080fd5b506102fb6107d5366004613975565b6122a6565b3480156107e657600080fd5b506102fb6107f5366004613996565b6122e1565b34801561080657600080fd5b506102ce6108153660046138a3565b612629565b34801561082657600080fd5b50610468612640565b34801561083b57600080fd5b5061046861264f565b600090815260116020526040902080546001909101546001600160a01b0390911691565b60006108738361265e565b6001600160a01b0383166000908152600291909101602052604090205490505b92915050565b336000818152600f602090815260408083208684528252808320938352600d82528083209583529490529290922081905560038201556103e8600190910155565b6108e26126be565b60006108ed8261265e565b6004810154909150640100000000900460ff16151560011461092a5760405162461bcd60e51b815260040161092190614077565b60405180910390fd5b600581015461094b5760405162461bcd60e51b815260040161092190613c5c565b3360008181526002830160205260409020548061097a5760405162461bcd60e51b815260040161092190613f26565b60006109a1846001015461099b86600501548561282c90919063ffffffff16565b9061288c565b6001600160a01b038416600090815260028601602052604081205560018501549091506109ce90836128f3565b600185015560058401546109e290826128f3565b60058501556109f96109f2612950565b8483612980565b826001600160a01b0316857f701e7dc86c5934137b4568fac9400bdf22f13b5ec2f228b65353c5d9e3faed9a8484604051610a35929190613b77565b60405180910390a35050505050565b600f6020908152600092835260408084209091529082529020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b610a9a612950565b6001600160a01b031663095ea7b3610ab0612a46565b6000196040518363ffffffff1660e01b8152600401610ad0929190613aea565b602060405180830381600087803b158015610aea57600080fd5b505af1158015610afe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2291906137bf565b50565b600c5463ffffffff1681565b610b39612a71565b6001600160a01b0316336001600160a01b031614610b94576040805162461bcd60e51b815260206004820152601360248201527227b7363c9034b6b83632b6b2b73a30ba34b7b760691b604482015290519081900360640190fd5b601354600160a81b900460ff1680610baf5750610baf612a96565b80610bc45750601354600160a01b900460ff16155b610bff5760405162461bcd60e51b815260040180806020018281038252602e815260200180614308602e913960400191505060405180910390fd5b601354600160a81b900460ff16158015610c36576013805460ff60a01b1960ff60a81b19909116600160a81b1716600160a01b1790555b610c3f83611624565b610c4b6207a120612aa7565b610c5482612b13565b8015610c68576013805460ff60a81b191690555b505050565b601160205260009081526040902080546001909101546001600160a01b039091169082565b600080610c9e8361265e565b6001015490508015610cc1576000610cb68483611bf1565b9350610cc792505050565b60009150505b919050565b610cd46126be565b60008581526047602052604090205460ff16610d025760405162461bcd60e51b815260040161092190613e53565b610d16610d0f848461282c565b8290612ba9565b3414610d345760405162461bcd60e51b8152600401610921906140da565b80610d515760405162461bcd60e51b815260040161092190613d01565b6000610d5c8661265e565b33600090815260028201602052604090205490915080610d8e5760405162461bcd60e51b815260040161092190614054565b600182015480610db05760405162461bcd60e51b815260040161092190614002565b60058301546000610dc58361099b868561282c565b9050600060018b8b604051602001610ddf93929190614247565b60408051601f1981840301815291815233600090815260028901602052908120559050610e0c84866128f3565b6001870155610e1b83836128f3565b6005870155610e2d828a8a8a85612c03565b896001600160a01b0316336001600160a01b03168c7fd6383ec977aa990dcf95328dfe34720fddeb10f1f0f95d26323f2aeb45acfcc485604051610e719190613b6e565b60405180910390a45050505050505050505050565b600080600080610e958661265e565b9050600080610ea2612a46565b6001600160a01b031663f049b9008460030154896040518363ffffffff1660e01b8152600401610ed3929190613b77565b604080518083038186803b158015610eea57600080fd5b505afa158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906139aa565b915091506000610f32898461190b565b929650919450925050509250925092565b610f4b612d61565b8033610f568261109b565b6001600160a01b031614610f7c5760405162461bcd60e51b815260040161092190613e1c565b6000610f8783612e14565b9050806001015460001461102d57610f9d612a46565b600382015482546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792610fd5929091600090600401613b85565b602060405180830381600087803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102791906138bb565b60058201555b6004810180546000835563ffffffff1964ff00000000199091166401000000001716905561105a83612e4c565b827f905d48df574e150b8a08750819de0ccc5cd215a93b9ec0a345cf59687987bba1826005015460405161108e9190613b6e565b60405180910390a2505050565b6013546040516331a9108f60e11b81526000916001600160a01b031690636352211e906110cc908590600401613b6e565b60206040518083038186803b1580156110e457600080fd5b505afa1580156110f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108939190613627565b6111246126be565b6001600160a01b03821661114a5760405162461bcd60e51b815260040161092190613ed6565b600061115584612e14565b336000818152600283016020526040902054919250908381101561118b5760405162461bcd60e51b815260040161092190613bd9565b6001600160a01b03821660009081526002840160205260409020546111b090856128f3565b6001600160a01b03808416600090815260028601602052604080822093909355908716815220546111e19085612ba9565b6001600160a01b038087166000818152600287016020526040908190209390935591519084169088907fd19c405bc04c469894f477d64318c38f5020a981b28f807b826a870e9364d38490611237908990613b6e565b60405180910390a4505050505050565b6012602052600090815260409020805460018201546003830154600484015460059094015492939192909163ffffffff81169164010000000090910460ff169086565b60476020526000908152604090205460ff1681565b60006108936112ad8361265e565b612eaa565b6112ba612d61565b826112d75760405162461bcd60e51b815260040161092190613d2d565b3360006112e382612ecf565b905060006112f08261265e565b6003810187905560048101805463ffffffff19167f000000000000000000000000000000000000000000000000000000000000000063ffffffff16179055905061133a8383612ee3565b85827f42a544925af95c7d50835f669fa06cc226acbf9eea3d0cb552b1b09bc89014267f000000000000000000000000000000000000000000000000000000000000000060405161138b91906141f6565b60405180910390a361139d8285612f2f565b85827f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc876040516113ce9190613b6e565b60405180910390a3505050505050565b6113e66126be565b60006113f184612e14565b33600081815260028301602052604090205491925090808511156114275760405162461bcd60e51b815260040161092190613e79565b60006114338787611fad565b9050600061143f612a46565b6001600160a01b03166324bdeec7866003015484896040518463ffffffff1660e01b815260040161147293929190613b85565b602060405180830381600087803b15801561148c57600080fd5b505af11580156114a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c491906138bb565b85549091506114d390836128f3565b855560018501546114e490886128f3565b60018601556001600160a01b038416600090815260028601602052604090205461150e90886128f3565b6001600160a01b0385166000908152600287016020526040902055611531612950565b6001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040161155e929190613aea565b602060405180830381600087803b15801561157857600080fd5b505af115801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b091906137bf565b6115cc5760405162461bcd60e51b815260040161092190613c25565b836001600160a01b0316887fdb086805544ba7be72d282e47b7953d4cef0437f386b8a704f65304c9076e49289858560405161160a93929190613b85565b60405180910390a35050505050505050565b611624612fcf565b610b228161302e565b82806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561166957600080fd5b505af115801561167d573d6000803e3d6000fd5b505050506040513d602081101561169357600080fd5b50516001600160a01b031633146116f1576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b60405163623faf6160e01b8152602060048201908152602482018490526001600160a01b0386169163623faf619186918691908190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561176557600080fd5b505af1158015611779573d6000803e3d6000fd5b5050505050505050565b61178b6130d6565b601480546001600160a01b0319166001600160a01b0383161790556040517f4ce4c2262a11970f8ffd6d6d1ff56c1524511bcc3c7fdeacc617cac4ea32f941906117d6908390613a8d565b60405180910390a150565b80806001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561181d57600080fd5b505af1158015611831573d6000803e3d6000fd5b505050506040513d602081101561184757600080fd5b50516001600160a01b031633146118a5576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206d757374206265207468652070726f78792061646d696e0000604482015290519081900360640190fd5b816001600160a01b03166359fc20bb6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118e057600080fd5b505af11580156118f4573d6000803e3d6000fd5b505050505050565b6014546001600160a01b031681565b6000806119178461265e565b80549091506119295782915050610893565b8054600182015461193f919061099b908661282c565b949350505050565b61194f6130d6565b610b2281612b13565b60608167ffffffffffffffff8111801561197157600080fd5b506040519080825280602002602001820160405280156119a557816020015b60608152602001906001900390816119905790505b50905060005b82811015611a9157600080308686858181106119c357fe5b90506020028101906119d5919061426b565b6040516119e3929190613a7d565b600060405180830381855af49150503d8060008114611a1e576040519150601f19603f3d011682016040523d82523d6000602084013e611a23565b606091505b509150915081611a6f57604481511015611a3c57600080fd5b60048101905080806020019051810190611a56919061380a565b60405162461bcd60e51b81526004016109219190613b9b565b80848481518110611a7c57fe5b602090810291909101015250506001016119ab565b5092915050565b600e6020526000908152604090205481565b6001600160a01b0383166000908152600f60209081526040808320858452909152902060030154151560018114611af35760405162461bcd60e51b815260040161092190613cca565b6000611aff85856131aa565b6000818152601160205260409020549091506001600160a01b031615611b375760405162461bcd60e51b815260040161092190614105565b6040805180820182526001600160a01b038781168083526020808401898152600087815260118352868120955186546001600160a01b0319169516949094178555516001909401939093558152600d825282812087825290915290812055611b9f8582612ee3565b846001600160a01b03167f1590ec92d5ae8bf80e189f72f046f321fd1b70e45e90d132efbeca8ccea6b58785604051611bd89190613b6e565b60405180910390a2611bea8184612f2f565b5050505050565b6000806000611bff85612e14565b90506000611c0d8686611fad565b90506000611c19612a46565b6001600160a01b0316630faaf87f8460030154846040518363ffffffff1660e01b8152600401611c4a929190613b77565b60206040518083038186803b158015611c6257600080fd5b505afa158015611c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9a91906138bb565b91945090925050505b9250929050565b611cb26130d6565b610b2281612aa7565b6000611cc68261265e565b6001015492915050565b6001600160a01b0385163314611cf85760405162461bcd60e51b815260040161092190613c93565b846001600160a01b03167f753d0210fc6efd1598dc3e8bd4ffb0b4e53c5d869213e7a0fa846271cd6b54b185858585604051611d379493929190614207565b60405180910390a25050505050565b600080611d528361265e565b600101549392505050565b611d656126be565b60008581526047602052604090205460ff1615611d945760405162461bcd60e51b81526004016109219061402e565b611da1610d0f848461282c565b3414611dbf5760405162461bcd60e51b8152600401610921906140da565b6000611dca86612e14565b905033611dd68761109b565b6001600160a01b031614611dfc5760405162461bcd60e51b815260040161092190613e1c565b6000868152604760205260408120805460ff19166001179055611e1d612a46565b600383015483546040516324bdeec760e01b81526001600160a01b0393909316926324bdeec792611e55929091600090600401613b85565b602060405180830381600087803b158015611e6f57600080fd5b505af1158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea791906138bb565b60048301805464ff000000001916640100000000179055600080845533815260028401602052604081205460018501549293509190611eea8261099b858761282c565b3360009081526002870160205260408120559050611f0882846128f3565b6001860155611f1784826128f3565b60058601556000808b8b604051602001611f3393929190614247565b6040516020818303038152906040529050611f51828a8a8a85612c03565b60048601805463ffffffff19169055611f698b612e4c565b896001600160a01b0316336001600160a01b03168c7f5b5010c0f6a4bed182c1050c02e3b010581be95cb8e03fefe48b4207c11cc6fa85604051610e719190613b6e565b600080611fb98461265e565b6001810154815491925061193f9161099b908661282c565b611ffa7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120237f00000000000000000000000000000000000000000000000000000000000000006131de565b61204c7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120757f00000000000000000000000000000000000000000000000000000000000000006131de565b61209e7f00000000000000000000000000000000000000000000000000000000000000006131de565b6120c77f00000000000000000000000000000000000000000000000000000000000000006131de565b6120f07f00000000000000000000000000000000000000000000000000000000000000006131de565b565b6000806120fe83610844565b506001600160a01b031615159392505050565b6121196126be565b600061212484612e14565b905033612139612132612950565b82866132e0565b6000612143612a46565b6001600160a01b031663375a54ab84600301548760006040518463ffffffff1660e01b815260040161217793929190613b85565b6040805180830381600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c891906139aa565b50905060006121d7878361190b565b9050848110156121f95760405162461bcd60e51b815260040161092190613de5565b83546122059083612ba9565b845560018401546122169082612ba9565b60018501556001600160a01b03831660009081526002850160205260409020546122409082612ba9565b6001600160a01b03841660008181526002870160205260409081902092909255905188907fcd0609c8b7f9b3819c451a09420d1961056e219696df999be49338469b11b28a9061229590859087908c90613b85565b60405180910390a350505050505050565b81336122b18261109b565b6001600160a01b0316146122d75760405162461bcd60e51b815260040161092190613e1c565b610c688383612f2f565b6122e9612d61565b82336122f48261109b565b6001600160a01b03161461231a5760405162461bcd60e51b815260040161092190613e1c565b600061232585612e14565b9050836123445760405162461bcd60e51b815260040161092190613d2d565b80600301548414156123685760405162461bcd60e51b815260040161092190613d79565b6000612372612a46565b604051634c4ea0ed60e01b81529091506001600160a01b03821690634c4ea0ed906123a1908890600401613b6e565b60206040518083038186803b1580156123b957600080fd5b505afa1580156123cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f191906137bf565b1561240e5760405162461bcd60e51b815260040161092190614146565b6001820154156125ef57600382015482546040516324bdeec760e01b81526000926001600160a01b038516926324bdeec7926124509291908690600401613b85565b602060405180830381600087803b15801561246a57600080fd5b505af115801561247e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a291906138bb565b9050600033905060006125268383866001600160a01b031663f115c4276040518163ffffffff1660e01b815260040160206040518083038186803b1580156124e957600080fd5b505afa1580156124fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252191906139e9565b61333f565b60405163375a54ab60e01b81529091506001600160a01b0385169063375a54ab9061255a908b908590600090600401613b85565b6040805180830381600087803b15801561257357600080fd5b505af1158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ab91906139aa565b5080865560405189918b917f4620aaedd9a7226ee6b84a89cb97fabff415eb1723fce6c87c41635cc8350896916125e3918690613b77565b60405180910390a35050505b84826003018190555084867f71d6df5ad69625753de8b2afc150d9b8acb2d12befb0f4709a75a18e3f7bd4bc866040516113ce9190613b6e565b6000806126358361265e565b600301549392505050565b6013546001600160a01b031681565b6000546001600160a01b031681565b600081815260116020526040812080546001600160a01b0316156126ab5780546001600160a01b03166000908152600f602090815260408083206001909401548352929052209050610cc7565b5050600090815260126020526040902090565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270a57600080fd5b505afa15801561271e573d6000803e3d6000fd5b505050506040513d602081101561273457600080fd5b505115612771576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b60008054906101000a90046001600160a01b03166001600160a01b0316632e292fc76040518163ffffffff1660e01b815260040160206040518083038186803b1580156127bd57600080fd5b505afa1580156127d1573d6000803e3d6000fd5b505050506040513d60208110156127e757600080fd5b5051156120f0576040805162461bcd60e51b815260206004820152600e60248201526d14185c9d1a585b0b5c185d5cd95960921b604482015290519081900360640190fd5b60008261283b57506000610893565b8282028284828161284857fe5b04146128855760405162461bcd60e51b81526004018080602001828103825260218152602001806143366021913960400191505060405180910390fd5b9392505050565b60008082116128e2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816128eb57fe5b049392505050565b60008282111561294a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b905090565b8015610c6857826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129dd57600080fd5b505af11580156129f1573d6000803e3d6000fd5b505050506040513d6020811015612a0757600080fd5b5051610c68576040805162461bcd60e51b815260206004820152600960248201526810ba3930b739b332b960b91b604482015290519081900360640190fd5b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000612aa1306134ba565b15905090565b620f424063ffffffff82161115612ad05760405162461bcd60e51b815260040161092190613f5d565b600c805463ffffffff191663ffffffff83161790556040517f96d5a4b4edf1cefd0900c166d64447f8da1d01d1861a6a60894b5b82a2c15c3c906117d6906140ae565b6001600160a01b038116612b395760405162461bcd60e51b815260040161092190613f9e565b612b42816134ba565b612b5e5760405162461bcd60e51b815260040161092190613bae565b601380546001600160a01b0319166001600160a01b0383161790556040517f032c2d7eb1a395e5e65ff56b78c8b75f3925d2c0a30c6a9134f4f9f643e223ee906117d6908390613a8d565b600082820183811015612885576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008282604051602001612c189291906141ad565b60405160208183030381529060405290506000612c33612950565b90506000612c3f6134c0565b60405163095ea7b360e01b81529091506001600160a01b0383169063095ea7b390612c709084908c90600401613aea565b602060405180830381600087803b158015612c8a57600080fd5b505af1158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc291906137bf565b5060145460405163d2ce7d6560e01b81526001600160a01b038084169263d2ce7d65923492612d009288929116908e908e908e908c90600401613aa1565b6000604051808303818588803b158015612d1957600080fd5b505af1158015612d2d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f19168201604052612d56919081019061380a565b505050505050505050565b60008054906101000a90046001600160a01b03166001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015612dad57600080fd5b505afa158015612dc1573d6000803e3d6000fd5b505050506040513d6020811015612dd757600080fd5b5051156120f0576040805162461bcd60e51b815260206004820152600660248201526514185d5cd95960d21b604482015290519081900360640190fd5b600080612e208361265e565b9050612e2b81612eaa565b15156001146108935760405162461bcd60e51b815260040161092190613fd5565b601354604051630852cd8d60e31b81526001600160a01b03909116906342966c6890612e7c908490600401613b6e565b600060405180830381600087803b158015612e9657600080fd5b505af1158015611bea573d6000803e3d6000fd5b60038101546000901580159061089357505060040154640100000000900460ff161590565b600061089382612ede846134eb565b61352f565b6013546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990612f159085908590600401613aea565b600060405180830381600087803b1580156118e057600080fd5b601354604051631cc5946960e11b81526001600160a01b039091169063398b28d290612f619085908590600401613b77565b600060405180830381600087803b158015612f7b57600080fd5b505af1158015612f8f573d6000803e3d6000fd5b50505050817fd0348d353ba9da6b560ddf6465c3faf849b78869806be8900a829c064b8d4b2182604051612fc39190613b6e565b60405180910390a25050565b6000546001600160a01b031633146120f0576040805162461bcd60e51b815260206004820152601960248201527f43616c6c6572206d75737420626520436f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b6001600160a01b038116613082576040805162461bcd60e51b815260206004820152601660248201527510dbdb9d1c9bdb1b195c881b5d5cdd081899481cd95d60521b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f4ff638452bbf33c012645d18ae6f05515ff5f2d1dfb0cece8cbf018c60903f709181900360200190a150565b60008054906101000a90046001600160a01b03166001600160a01b0316634fc07d756040518163ffffffff1660e01b815260040160206040518083038186803b15801561312257600080fd5b505afa158015613136573d6000803e3d6000fd5b505050506040513d602081101561314c57600080fd5b50516001600160a01b031633146120f0576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c7920436f6e74726f6c6c657220676f7665726e6f720000000000000000604482015290519081900360640190fd5b600082826040516020016131bf929190613a31565b60408051601f1981840301815291905280516020909101209392505050565b6000805460408051637bb20d2f60e11b81526004810185905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561322b57600080fd5b505afa15801561323f573d6000803e3d6000fd5b505050506040513d602081101561325557600080fd5b50516000838152600160205260409020549091506001600160a01b038083169116146132dc5760008281526001602090815260409182902080546001600160a01b0319166001600160a01b0385169081179091558251908152915184927fd0e7a942b1fc38c411c4f53d153ba14fd24542a6a35ebacd9b6afca1a154e20692908290030190a25b5050565b8015610c6857604080516323b872dd60e01b81526001600160a01b038481166004830152306024830152604482018490529151918516916323b872dd916064808201926020929091908290030181600087803b1580156129dd57600080fd5b600063ffffffff8216158061335a5750600c5463ffffffff16155b15613366575082612885565b6000613382620f424061099b8763ffffffff8781169061282c16565b9050600061339086836128f3565b600c549091506000906133b790620f42409061099b90869063ffffffff9081169061282c16565b905060006133c58383612ba9565b905060006133ef6133e2620f424063ffffffff808b16906128f316565b61099b84620f424061282c565b905060006133fd828b6128f3565b905061341161340a612950565b8a836132e0565b5098975050505050505050565b6000818152600160205260408120546001600160a01b0316806108935760005460408051637bb20d2f60e11b81526004810186905290516001600160a01b039092169163f7641a5e91602480820192602092909190829003018186803b15801561348757600080fd5b505afa15801561349b573d6000803e3d6000fd5b505050506040513d60208110156134b157600080fd5b50519392505050565b3b151590565b600061297b7f000000000000000000000000000000000000000000000000000000000000000061341e565b6001600160a01b0381166000908152600e602052604081205461350f816001612ba9565b6001600160a01b0384166000908152600e60205260409020559050919050565b604051600090469061354990859085908490602001613a53565b60408051601f198184030181529190528051602090910120949350505050565b600067ffffffffffffffff8084111561357e57fe5b604051601f8501601f19168101602001828111828210171561359c57fe5b6040528481529150818385018610156135b457600080fd5b6135c28560208301866142b0565b50509392505050565b60008083601f8401126135dc578182fd5b50813567ffffffffffffffff8111156135f3578182fd5b602083019150836020828501011115611ca357600080fd5b60006020828403121561361c578081fd5b8135612885816142e0565b600060208284031215613638578081fd5b8151612885816142e0565b60008060408385031215613655578081fd5b8235613660816142e0565b91506020830135613670816142e0565b809150509250929050565b6000806040838503121561368d578182fd5b8235613698816142e0565b946020939093013593505050565b6000806000606084860312156136ba578081fd5b83356136c5816142e0565b95602085013595506040909401359392505050565b6000806000806000608086880312156136f1578081fd5b85356136fc816142e0565b9450602086013560ff81168114613711578182fd5b935060408601359250606086013567ffffffffffffffff811115613733578182fd5b61373f888289016135cb565b969995985093965092949392505050565b60008060208385031215613762578182fd5b823567ffffffffffffffff80821115613779578384fd5b818501915085601f83011261378c578384fd5b81358181111561379a578485fd5b86602080830285010111156137ad578485fd5b60209290920196919550909350505050565b6000602082840312156137d0578081fd5b81518015158114612885578182fd5b6000806000606084860312156137f3578283fd5b505081359360208301359350604090920135919050565b60006020828403121561381b578081fd5b815167ffffffffffffffff811115613831578182fd5b8201601f81018413613841578182fd5b61193f84825160208401613569565b600080600060408486031215613864578081fd5b833561386f816142e0565b9250602084013567ffffffffffffffff81111561388a578182fd5b613896868287016135cb565b9497909650939450505050565b6000602082840312156138b4578081fd5b5035919050565b6000602082840312156138cc578081fd5b5051919050565b600080604083850312156138e5578182fd5b823591506020830135613670816142e0565b60008060006060848603121561390b578081fd5b83359250602084013561391d816142e0565b929592945050506040919091013590565b600080600080600060a08688031215613945578283fd5b853594506020860135613957816142e0565b94979496505050506040830135926060810135926080909101359150565b60008060408385031215613987578182fd5b50508035926020909101359150565b6000806000606084860312156137f3578081fd5b600080604083850312156139bc578182fd5b505080516020909101519092909150565b6000602082840312156139de578081fd5b8135612885816142f5565b6000602082840312156139fa578081fd5b8151612885816142f5565b60008151808452613a1d8160208601602086016142b0565b601f01601f19169290920160200192915050565b60609290921b6bffffffffffffffffffffffff19168252601482015260340190565b60609390931b6bffffffffffffffffffffffff191683526014830191909152603482015260540190565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b600060018060a01b03808916835280881660208401525085604083015284606083015283608083015260c060a0830152613ade60c0830184613a05565b98975050505050505050565b6001600160a01b03929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015613b5657603f19888603018452613b44858351613a05565b94509285019290850190600101613b28565b5092979650505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6000602082526128856020830184613a05565b602080825260119082015270139195081b5d5cdd081899481d985b1a59607a1b604082015260600190565b6020808252602c908201527f474e533a2043757261746f72207472616e7366657220616d6f756e742065786360408201526b656564732062616c616e636560a01b606082015260800190565b60208082526019908201527f474e533a204572726f722073656e64696e6720746f6b656e7300000000000000604082015260600190565b6020808252601c908201527f474e533a204e6f206d6f72652047525420746f20776974686472617700000000604082015260600190565b6020808252601f908201527f474e533a204f6e6c7920796f752063616e2073657420796f7572206e616d6500604082015260600190565b6020808252601c908201527f474e533a20537562677261706820646f6573206e6f7420657869737400000000604082015260600190565b6020808252601290820152711393d7d4d550935254d4d253d397d0d3d4d560721b604082015260600190565b6020808252602c908201527f474e533a2043616e6e6f7420736574206465706c6f796d656e74494420746f2060408201526b06040d2dc40e0eac4d8d2e6d60a31b606082015260800190565b60208082526046908201527f474e533a2043616e6e6f74207075626c6973682061206e65772076657273696f60408201527f6e2077697468207468652073616d65207375626772617068206465706c6f796d606082015265195b9d08125160d21b608082015260a00190565b60208082526018908201527f474e533a20536c6970706167652070726f74656374696f6e0000000000000000604082015260600190565b60208082526017908201527f474e533a204d75737420626520617574686f72697a6564000000000000000000604082015260600190565b6020808252600c908201526b085514905394d1915494915160a21b604082015260600190565b60208082526038908201527f474e533a2043757261746f722063616e6e6f74207769746864726177206d6f7260408201527f65206e5369676e616c207468616e207468657920686176650000000000000000606082015260800190565b60208082526030908201527f474e533a2043757261746f722063616e6e6f74207472616e7366657220746f2060408201526f746865207a65726f206164647265737360801b606082015260800190565b6020808252601e908201527f474e533a204e6f207369676e616c20746f207769746864726177204752540000604082015260600190565b60208082526021908201527f4f776e657220746178206d757374206265204d41585f50504d206f72206c65736040820152607360f81b606082015260800190565b60208082526018908201527f4e465420616464726573732063616e74206265207a65726f0000000000000000604082015260600190565b602080825260139082015272474e533a204d7573742062652061637469766560681b604082015260600190565b6020808252601290820152711393d7d4d55091d490541217d4d251d3905360721b604082015260600190565b6020808252600c908201526b414c52454144595f444f4e4560a01b604082015260600190565b6020808252600990820152681393d7d4d251d3905360ba1b604082015260600190565b6020808252601b908201527f474e533a204d7573742062652064697361626c65642066697273740000000000604082015260600190565b6020808252601290820152716f776e657254617850657263656e7461676560701b604082015260600190565b602080825260119082015270494e56414c49445f4554485f56414c554560781b604082015260600190565b60208082526021908201527f474e533a2053756267726170682077617320616c726561647920636c61696d656040820152601960fa1b606082015260800190565b60208082526041908201527f474e533a204f776e65722063616e6e6f7420706f696e7420746f20612073756260408201527f67726170684944207468617420686173206265656e207072652d6375726174656060820152601960fa1b608082015260a00190565b60008382526040602083015261193f6040830184613a05565b9586526020860194909452604085019290925263ffffffff1660608401521515608083015260a082015260c00190565b63ffffffff91909116815260200190565b600060ff861682528460208301526060604083015282606083015282846080840137818301608090810191909152601f909201601f191601019392505050565b60ff93909316835260208301919091526001600160a01b0316604082015260600190565b6000808335601e19843603018112614281578283fd5b83018035915067ffffffffffffffff82111561429b578283fd5b602001915036819003821315611ca357600080fd5b60005b838110156142cb5781810151838201526020016142b3565b838111156142da576000848401525b50505050565b6001600160a01b0381168114610b2257600080fd5b63ffffffff81168114610b2257600080fdfe496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122099ac78740adbc056d0f92bf13f3e91cfe4921adf5587c3924598667ccc9c97c764736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.dbg.json b/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.dbg.json new file mode 100644 index 000000000..1e32b3b0c --- /dev/null +++ b/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d2c890c7c513627af1e9d08406395053.json" +} diff --git a/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.json b/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.json new file mode 100644 index 000000000..dd22e271d --- /dev/null +++ b/abis/tests/arbitrum/ArbSysMock.sol/ArbSysMock.json @@ -0,0 +1,66 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ArbSysMock", + "sourceName": "contracts/tests/arbitrum/ArbSysMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "L2ToL1Tx", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "destination", + "type": "address" + }, + { + "internalType": "bytes", + "name": "calldataForL1", + "type": "bytes" + } + ], + "name": "sendTxToL1", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061017c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063928c169a14610030575b600080fd5b6100b06004803603604081101561004657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561007157600080fd5b82018360208201111561008357600080fd5b803590602001918460018302840111640100000000831117156100a557600080fd5b5090925090506100c2565b60408051918252519081900360200190f35b6000806001905080856001600160a01b0316336001600160a01b03167ff72ab6922d1f99274ba44fd3c0b22c8c3a9526235a962f52ed197f0795fd8677878760405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a494935050505056fea2646970667358221220728bdf67e8e4a1b14e96eec7c7396b88b8465d9d616aa43bf50b282d39fc7fb864736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063928c169a14610030575b600080fd5b6100b06004803603604081101561004657600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561007157600080fd5b82018360208201111561008357600080fd5b803590602001918460018302840111640100000000831117156100a557600080fd5b5090925090506100c2565b60408051918252519081900360200190f35b6000806001905080856001600160a01b0316336001600160a01b03167ff72ab6922d1f99274ba44fd3c0b22c8c3a9526235a962f52ed197f0795fd8677878760405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a494935050505056fea2646970667358221220728bdf67e8e4a1b14e96eec7c7396b88b8465d9d616aa43bf50b282d39fc7fb864736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.dbg.json b/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.json b/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.json new file mode 100644 index 000000000..bb96b3e48 --- /dev/null +++ b/abis/tests/arbitrum/BridgeMock.sol/BridgeMock.json @@ -0,0 +1,344 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "BridgeMock", + "sourceName": "contracts/tests/arbitrum/BridgeMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "outbox", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "BridgeCallTriggered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "InboxToggle", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageIndex", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "beforeInboxAcc", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "inbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "kind", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "messageDataHash", + "type": "bytes32" + } + ], + "name": "MessageDelivered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "outbox", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "enabled", + "type": "bool" + } + ], + "name": "OutboxToggle", + "type": "event" + }, + { + "inputs": [], + "name": "activeOutbox", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_inbox", + "type": "address" + } + ], + "name": "allowedInboxes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_outbox", + "type": "address" + } + ], + "name": "allowedOutboxes", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_kind", + "type": "uint8" + }, + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_messageDataHash", + "type": "bytes32" + } + ], + "name": "deliverMessageToInbox", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "executeCall", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "inbox", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "inboxAccs", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "messageIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "outbox", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_inbox", + "type": "address" + }, + { + "internalType": "bool", + "name": "_enabled", + "type": "bool" + } + ], + "name": "setInbox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_outbox", + "type": "address" + }, + { + "internalType": "bool", + "name": "_enabled", + "type": "bool" + } + ], + "name": "setOutbox", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5061078a806100206000396000f3fe6080604052600436106100a75760003560e01c8063c29372de11610064578063c29372de146102a8578063ce11e6ab146102db578063cee3d728146102f0578063d9dd67ab1461032d578063e45b7ce614610357578063fb0e722b14610392576100a7565b806302bbfad1146100ac5780633dbcc8d1146100f35780633e784e6314610108578063413b35bd1461011d5780639e5d4c4914610164578063ab5d894314610277575b600080fd5b6100e1600480360360608110156100c257600080fd5b5060ff813516906001600160a01b0360208201351690604001356103a7565b60408051918252519081900360200190f35b3480156100ff57600080fd5b506100e16104cb565b34801561011457600080fd5b506100e16104d1565b34801561012957600080fd5b506101506004803603602081101561014057600080fd5b50356001600160a01b03166104d7565b604080519115158252519081900360200190f35b34801561017057600080fd5b506101f66004803603606081101561018757600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156101b757600080fd5b8201836020820111156101c957600080fd5b803590602001918460018302840111640100000000831117156101eb57600080fd5b5090925090506104eb565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561023b578181015183820152602001610223565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561028357600080fd5b5061028c610632565b604080516001600160a01b039092168252519081900360200190f35b3480156102b457600080fd5b50610150600480360360208110156102cb57600080fd5b50356001600160a01b0316610641565b3480156102e757600080fd5b5061028c610655565b3480156102fc57600080fd5b5061032b6004803603604081101561031357600080fd5b506001600160a01b0381351690602001351515610664565b005b34801561033957600080fd5b506100e16004803603602081101561035057600080fd5b50356106c4565b34801561036357600080fd5b5061032b6004803603604081101561037a57600080fd5b506001600160a01b03813516906020013515156106e5565b34801561039e57600080fd5b5061028c610745565b600280546001908101825560008054604080516bffffffffffffffffffffffff19606093841b81166020808401919091526001600160f81b031960f88c901b1660348401529389901b166035820152604980820188905282518083039091018152606990910190915280519101206003805493840181558083527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90930155915481546000199190910190811061045a57fe5b600091825260209182902001546002546040805133815260ff8916948101949094526001600160a01b038716848201526060840186905251919290917f23be8e12e420b5da9fb98d8102572f640fb3c11a0085060472dfc0ed194b3cf79181900360800190a3506002549392505050565b60035490565b60025481565b6001546001600160a01b0390811691161490565b6001546000906060906001600160a01b03163314610542576040805162461bcd60e51b815260206004820152600f60248201526e09c9ea8be8ca49e9abe9eaaa8849eb608b1b604482015290519081900360640190fd5b60006060876001600160a01b0316878787604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146105a4576040519150601f19603f3d011682016040523d82523d6000602084013e6105a9565b606091505b50604080518a8152602081018281529181018990529294509092506001600160a01b038a169133917f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d466918b918b918b9160608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a39097909650945050505050565b6001546001600160a01b031690565b6000546001600160a01b0390811691161490565b6001546001600160a01b031681565b600180546001600160a01b0319166001600160a01b038481169190911791829055604080518415158152905192909116917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa916020908290030190a25050565b600381815481106106d457600080fd5b600091825260209091200154905081565b600080546001600160a01b0319166001600160a01b038481169190911791829055604080518415158152905192909116917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521916020908290030190a25050565b6000546001600160a01b03168156fea264697066735822122041bf7fc80909923761b2ea7756c424755bfc175fa86ab91b1841490a528a585864736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106100a75760003560e01c8063c29372de11610064578063c29372de146102a8578063ce11e6ab146102db578063cee3d728146102f0578063d9dd67ab1461032d578063e45b7ce614610357578063fb0e722b14610392576100a7565b806302bbfad1146100ac5780633dbcc8d1146100f35780633e784e6314610108578063413b35bd1461011d5780639e5d4c4914610164578063ab5d894314610277575b600080fd5b6100e1600480360360608110156100c257600080fd5b5060ff813516906001600160a01b0360208201351690604001356103a7565b60408051918252519081900360200190f35b3480156100ff57600080fd5b506100e16104cb565b34801561011457600080fd5b506100e16104d1565b34801561012957600080fd5b506101506004803603602081101561014057600080fd5b50356001600160a01b03166104d7565b604080519115158252519081900360200190f35b34801561017057600080fd5b506101f66004803603606081101561018757600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156101b757600080fd5b8201836020820111156101c957600080fd5b803590602001918460018302840111640100000000831117156101eb57600080fd5b5090925090506104eb565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561023b578181015183820152602001610223565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561028357600080fd5b5061028c610632565b604080516001600160a01b039092168252519081900360200190f35b3480156102b457600080fd5b50610150600480360360208110156102cb57600080fd5b50356001600160a01b0316610641565b3480156102e757600080fd5b5061028c610655565b3480156102fc57600080fd5b5061032b6004803603604081101561031357600080fd5b506001600160a01b0381351690602001351515610664565b005b34801561033957600080fd5b506100e16004803603602081101561035057600080fd5b50356106c4565b34801561036357600080fd5b5061032b6004803603604081101561037a57600080fd5b506001600160a01b03813516906020013515156106e5565b34801561039e57600080fd5b5061028c610745565b600280546001908101825560008054604080516bffffffffffffffffffffffff19606093841b81166020808401919091526001600160f81b031960f88c901b1660348401529389901b166035820152604980820188905282518083039091018152606990910190915280519101206003805493840181558083527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90930155915481546000199190910190811061045a57fe5b600091825260209182902001546002546040805133815260ff8916948101949094526001600160a01b038716848201526060840186905251919290917f23be8e12e420b5da9fb98d8102572f640fb3c11a0085060472dfc0ed194b3cf79181900360800190a3506002549392505050565b60035490565b60025481565b6001546001600160a01b0390811691161490565b6001546000906060906001600160a01b03163314610542576040805162461bcd60e51b815260206004820152600f60248201526e09c9ea8be8ca49e9abe9eaaa8849eb608b1b604482015290519081900360640190fd5b60006060876001600160a01b0316878787604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146105a4576040519150601f19603f3d011682016040523d82523d6000602084013e6105a9565b606091505b50604080518a8152602081018281529181018990529294509092506001600160a01b038a169133917f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d466918b918b918b9160608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a39097909650945050505050565b6001546001600160a01b031690565b6000546001600160a01b0390811691161490565b6001546001600160a01b031681565b600180546001600160a01b0319166001600160a01b038481169190911791829055604080518415158152905192909116917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa916020908290030190a25050565b600381815481106106d457600080fd5b600091825260209091200154905081565b600080546001600160a01b0319166001600160a01b038481169190911791829055604080518415158152905192909116917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521916020908290030190a25050565b6000546001600160a01b03168156fea264697066735822122041bf7fc80909923761b2ea7756c424755bfc175fa86ab91b1841490a528a585864736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/arbitrum/InboxMock.sol/InboxMock.dbg.json b/abis/tests/arbitrum/InboxMock.sol/InboxMock.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/tests/arbitrum/InboxMock.sol/InboxMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/arbitrum/InboxMock.sol/InboxMock.json b/abis/tests/arbitrum/InboxMock.sol/InboxMock.json new file mode 100644 index 000000000..478a9945c --- /dev/null +++ b/abis/tests/arbitrum/InboxMock.sol/InboxMock.json @@ -0,0 +1,345 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "InboxMock", + "sourceName": "contracts/tests/arbitrum/InboxMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "InboxMessageDelivered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "messageNum", + "type": "uint256" + } + ], + "name": "InboxMessageDeliveredFromOrigin", + "type": "event" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract IBridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_arbTxCallValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxSubmissionCost", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_submissionRefundAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_valueRefundAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxGas", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_gasPriceBid", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "createRetryableTicket", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "depositEth", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCreateRetryables", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "sendContractTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "sendL1FundedContractTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "sendL1FundedUnsignedTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "_messageData", + "type": "bytes" + } + ], + "name": "sendL2Message", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "sendUnsignedTransaction", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_bridge", + "type": "address" + } + ], + "name": "setBridge", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "startRewriteAddress", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "stopRewriteAddress", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCreateRetryables", + "outputs": [], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506107e6806100206000396000f3fe6080604052600436106100c25760003560e01c8063794cfd511161007f5780638dd14802116100595780638dd14802146103545780639fe12da5146100f6578063b75436bb14610387578063e78cea9214610402576100c2565b8063794cfd51146100f65780637ae8d8b3146100f65780638a631aa6146102f6576100c2565b80630f4d14e9146100c75780632b40609a146100f65780635075788b1461010d5780635e916758146101b0578063679b6ded146101fc57806367ef3ab8146102a5575b600080fd5b6100e4600480360360208110156100dd57600080fd5b5035610433565b60408051918252519081900360200190f35b34801561010257600080fd5b5061010b610472565b005b34801561011957600080fd5b506100e4600480360360c081101561013057600080fd5b8135916020810135916040820135916001600160a01b03606082013516916080820135919081019060c0810160a0820135600160201b81111561017257600080fd5b82018360208201111561018457600080fd5b803590602001918460018302840111600160201b831117156101a557600080fd5b509092509050610433565b6100e4600480360360808110156101c657600080fd5b8135916020810135916001600160a01b036040830135169190810190608081016060820135600160201b81111561017257600080fd5b6100e4600480360361010081101561021357600080fd5b6001600160a01b038235811692602081013592604082013592606083013581169260808101359091169160a08201359160c081013591810190610100810160e0820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b5090925090506104af565b6100e4600480360360a08110156102bb57600080fd5b8135916020810135916040820135916001600160a01b036060820135169181019060a081016080820135600160201b81111561017257600080fd5b34801561030257600080fd5b506100e4600480360360a081101561031957600080fd5b8135916020810135916001600160a01b036040830135169160608101359181019060a081016080820135600160201b81111561017257600080fd5b34801561036057600080fd5b5061010b6004803603602081101561037757600080fd5b50356001600160a01b0316610581565b34801561039357600080fd5b506100e4600480360360208110156103aa57600080fd5b810190602081018135600160201b8111156103c457600080fd5b8201836020820111156103d657600080fd5b803590602001918460018302840111600160201b831117156103f757600080fd5b5090925090506105a3565b34801561040e57600080fd5b50610417610638565b604080516001600160a01b039092168252519081900360200190f35b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b6044820152905160009181900360640190fd5b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b604482015290519081900360640190fd5b60006104ba87610647565b96506104c586610647565b95506105736009338c60601b60601c6001600160a01b03168c348d8d60601b60601c6001600160a01b03168d60601b60601c6001600160a01b03168d8d8d8d90508e8e604051602001808c81526020018b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838380828437808301925050509b505050505050505050505050604051602081830303815290604052610660565b9a9950505050505050505050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806105ce6003338686604051808383808284376040519201829003909120935061071992505050565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b858560405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a29392505050565b6000546001600160a01b031681565b7311110000000000000000000000000000000011110190565b60008061067585858580519060200120610719565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b846040518080602001828103825283818151815260200191508051906020019080838360005b838110156106d75781810151838201526020016106bf565b50505050905090810190601f1680156107045780820380516001836020036101000a031916815260200191505b509250505060405180910390a2949350505050565b60008054604080516302bbfad160e01b815260ff871660048201526001600160a01b03868116602483015260448201869052915191909216916302bbfad191349160648082019260209290919082900301818588803b15801561077b57600080fd5b505af115801561078f573d6000803e3d6000fd5b50505050506040513d60208110156107a657600080fd5b505194935050505056fea2646970667358221220e797b7b113302d0072a9ee8658a94d5a755c1e899cd6141b64273795a47dca6564736f6c63430007060033", + "deployedBytecode": "0x6080604052600436106100c25760003560e01c8063794cfd511161007f5780638dd14802116100595780638dd14802146103545780639fe12da5146100f6578063b75436bb14610387578063e78cea9214610402576100c2565b8063794cfd51146100f65780637ae8d8b3146100f65780638a631aa6146102f6576100c2565b80630f4d14e9146100c75780632b40609a146100f65780635075788b1461010d5780635e916758146101b0578063679b6ded146101fc57806367ef3ab8146102a5575b600080fd5b6100e4600480360360208110156100dd57600080fd5b5035610433565b60408051918252519081900360200190f35b34801561010257600080fd5b5061010b610472565b005b34801561011957600080fd5b506100e4600480360360c081101561013057600080fd5b8135916020810135916040820135916001600160a01b03606082013516916080820135919081019060c0810160a0820135600160201b81111561017257600080fd5b82018360208201111561018457600080fd5b803590602001918460018302840111600160201b831117156101a557600080fd5b509092509050610433565b6100e4600480360360808110156101c657600080fd5b8135916020810135916001600160a01b036040830135169190810190608081016060820135600160201b81111561017257600080fd5b6100e4600480360361010081101561021357600080fd5b6001600160a01b038235811692602081013592604082013592606083013581169260808101359091169160a08201359160c081013591810190610100810160e0820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b5090925090506104af565b6100e4600480360360a08110156102bb57600080fd5b8135916020810135916040820135916001600160a01b036060820135169181019060a081016080820135600160201b81111561017257600080fd5b34801561030257600080fd5b506100e4600480360360a081101561031957600080fd5b8135916020810135916001600160a01b036040830135169160608101359181019060a081016080820135600160201b81111561017257600080fd5b34801561036057600080fd5b5061010b6004803603602081101561037757600080fd5b50356001600160a01b0316610581565b34801561039357600080fd5b506100e4600480360360208110156103aa57600080fd5b810190602081018135600160201b8111156103c457600080fd5b8201836020820111156103d657600080fd5b803590602001918460018302840111600160201b831117156103f757600080fd5b5090925090506105a3565b34801561040e57600080fd5b50610417610638565b604080516001600160a01b039092168252519081900360200190f35b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b6044820152905160009181900360640190fd5b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b604482015290519081900360640190fd5b60006104ba87610647565b96506104c586610647565b95506105736009338c60601b60601c6001600160a01b03168c348d8d60601b60601c6001600160a01b03168d60601b60601c6001600160a01b03168d8d8d8d90508e8e604051602001808c81526020018b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001848152602001838380828437808301925050509b505050505050505050505050604051602081830303815290604052610660565b9a9950505050505050505050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806105ce6003338686604051808383808284376040519201829003909120935061071992505050565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b858560405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a29392505050565b6000546001600160a01b031681565b7311110000000000000000000000000000000011110190565b60008061067585858580519060200120610719565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b846040518080602001828103825283818151815260200191508051906020019080838360005b838110156106d75781810151838201526020016106bf565b50505050905090810190601f1680156107045780820380516001836020036101000a031916815260200191505b509250505060405180910390a2949350505050565b60008054604080516302bbfad160e01b815260ff871660048201526001600160a01b03868116602483015260448201869052915191909216916302bbfad191349160648082019260209290919082900301818588803b15801561077b57600080fd5b505af115801561078f573d6000803e3d6000fd5b50505050506040513d60208110156107a657600080fd5b505194935050505056fea2646970667358221220e797b7b113302d0072a9ee8658a94d5a755c1e899cd6141b64273795a47dca6564736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.dbg.json b/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.dbg.json new file mode 100644 index 000000000..f83e3e8a7 --- /dev/null +++ b/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.json b/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.json new file mode 100644 index 000000000..09580b136 --- /dev/null +++ b/abis/tests/arbitrum/OutboxMock.sol/OutboxMock.json @@ -0,0 +1,272 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "OutboxMock", + "sourceName": "contracts/tests/arbitrum/OutboxMock.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "destAddr", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "l2Sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "outboxEntryIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "transactionIndex", + "type": "uint256" + } + ], + "name": "OutBoxTransactionExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "batchNum", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "outboxEntryIndex", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "outputRoot", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "numInBatch", + "type": "uint256" + } + ], + "name": "OutboxEntryCreated", + "type": "event" + }, + { + "inputs": [], + "name": "bridge", + "outputs": [ + { + "internalType": "contract IBridge", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_batchNum", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "", + "type": "bytes32[]" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_l2Sender", + "type": "address" + }, + { + "internalType": "address", + "name": "_destAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_l2Block", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_l1Block", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_l2Timestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_calldataForL1", + "type": "bytes" + } + ], + "name": "executeTransaction", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1BatchNum", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Block", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1EthBlock", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1OutputId", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Sender", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "l2ToL1Timestamp", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "outboxEntryExists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "name": "processOutgoingMessages", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_bridge", + "type": "address" + } + ], + "name": "setBridge", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506107e4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638515bc6a116100715780638515bc6a146101bc5780638dd14802146101c45780639c5cfe0b146101ea578063b0f30537146102e6578063e78cea92146102ee578063f1fd3a39146102f6576100a9565b80630c726847146100ae578063119852711461016e578063465477901461018857806372f2a8c71461019057806380648b0214610198575b600080fd5b61016c600480360360408110156100c457600080fd5b810190602081018135600160201b8111156100de57600080fd5b8201836020820111156100f057600080fd5b803590602001918460018302840111600160201b8311171561011157600080fd5b919390929091602081019035600160201b81111561012e57600080fd5b82018360208201111561014057600080fd5b803590602001918460208302840111600160201b8311171561016157600080fd5b509092509050610327565b005b610176610364565b60408051918252519081900360200190f35b61017661037a565b610176610389565b6101a061038f565b604080516001600160a01b039092168252519081900360200190f35b61017661039e565b61016c600480360360208110156101da57600080fd5b50356001600160a01b03166103b4565b61016c600480360361014081101561020157600080fd5b81359190810190604081016020820135600160201b81111561022257600080fd5b82018360208201111561023457600080fd5b803590602001918460208302840111600160201b8311171561025557600080fd5b919390928235926001600160a01b03602082013581169360408301359091169260608301359260808101359260a08201359260c08301359261010081019060e00135600160201b8111156102a857600080fd5b8201836020820111156102ba57600080fd5b803590602001918460018302840111600160201b831117156102db57600080fd5b5090925090506103d6565b610176610571565b6101a0610580565b6103136004803603602081101561030c57600080fd5b503561058f565b604080519115158252519081900360200190f35b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b604482015290519081900360640190fd5b600154600160801b90046001600160801b031690565b6000546001600160801b031690565b60025490565b6003546001600160a01b031690565b600054600160801b90046001600160801b031690565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006040518060c00160405280886001600160801b03168152602001876001600160801b03168152602001866001600160801b031681526020018e6001600160801b031681526020018281526020018a6001600160a01b03168152506000808201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160106101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816002015560a08201518160030160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050610562888585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061059592505050565b50505050505050505050505050565b6001546001600160801b031690565b6004546001600160a01b031681565b50600190565b60048054604051639e5d4c4960e01b81526001600160a01b038681169382019384526024820186905260606044830190815285516064840152855160009586959390931693639e5d4c49938a938a938a936084019060208501908083838d5b8381101561060c5781810151838201526020016105f4565b50505050905090810190601f1680156106395780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561065a57600080fd5b505af115801561066e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561069757600080fd5b815160208301805160405192949293830192919084600160201b8211156106bd57600080fd5b9083019060208201858111156106d257600080fd5b8251600160201b8111828201881017156106eb57600080fd5b82525081516020918201929091019080838360005b83811015610718578181015183820152602001610700565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b5060405250505091509150816107a7578051156107655780518082602001fd5b6040805162461bcd60e51b81526020600482015260126024820152711094925111d157d0d0531317d1905253115160721b604482015290519081900360640190fd5b505050505056fea264697066735822122094fac3edcc3007f4523e5609bef7fb9551d185875d552c1e6fe786a8b383fb7764736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80638515bc6a116100715780638515bc6a146101bc5780638dd14802146101c45780639c5cfe0b146101ea578063b0f30537146102e6578063e78cea92146102ee578063f1fd3a39146102f6576100a9565b80630c726847146100ae578063119852711461016e578063465477901461018857806372f2a8c71461019057806380648b0214610198575b600080fd5b61016c600480360360408110156100c457600080fd5b810190602081018135600160201b8111156100de57600080fd5b8201836020820111156100f057600080fd5b803590602001918460018302840111600160201b8311171561011157600080fd5b919390929091602081019035600160201b81111561012e57600080fd5b82018360208201111561014057600080fd5b803590602001918460208302840111600160201b8311171561016157600080fd5b509092509050610327565b005b610176610364565b60408051918252519081900360200190f35b61017661037a565b610176610389565b6101a061038f565b604080516001600160a01b039092168252519081900360200190f35b61017661039e565b61016c600480360360208110156101da57600080fd5b50356001600160a01b03166103b4565b61016c600480360361014081101561020157600080fd5b81359190810190604081016020820135600160201b81111561022257600080fd5b82018360208201111561023457600080fd5b803590602001918460208302840111600160201b8311171561025557600080fd5b919390928235926001600160a01b03602082013581169360408301359091169260608301359260808101359260a08201359260c08301359261010081019060e00135600160201b8111156102a857600080fd5b8201836020820111156102ba57600080fd5b803590602001918460018302840111600160201b831117156102db57600080fd5b5090925090506103d6565b610176610571565b6101a0610580565b6103136004803603602081101561030c57600080fd5b503561058f565b604080519115158252519081900360200190f35b6040805162461bcd60e51b815260206004820152600d60248201526c155b9a5b5c1b195b595b9d1959609a1b604482015290519081900360640190fd5b600154600160801b90046001600160801b031690565b6000546001600160801b031690565b60025490565b6003546001600160a01b031690565b600054600160801b90046001600160801b031690565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60006040518060c00160405280886001600160801b03168152602001876001600160801b03168152602001866001600160801b031681526020018e6001600160801b031681526020018281526020018a6001600160a01b03168152506000808201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816001600160801b0302191690836001600160801b0316021790555060408201518160010160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160010160106101000a8154816001600160801b0302191690836001600160801b031602179055506080820151816002015560a08201518160030160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050610562888585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061059592505050565b50505050505050505050505050565b6001546001600160801b031690565b6004546001600160a01b031681565b50600190565b60048054604051639e5d4c4960e01b81526001600160a01b038681169382019384526024820186905260606044830190815285516064840152855160009586959390931693639e5d4c49938a938a938a936084019060208501908083838d5b8381101561060c5781810151838201526020016105f4565b50505050905090810190601f1680156106395780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561065a57600080fd5b505af115801561066e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561069757600080fd5b815160208301805160405192949293830192919084600160201b8211156106bd57600080fd5b9083019060208201858111156106d257600080fd5b8251600160201b8111828201881017156106eb57600080fd5b82525081516020918201929091019080838360005b83811015610718578181015183820152602001610700565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b5060405250505091509150816107a7578051156107655780518082602001fd5b6040805162461bcd60e51b81526020600482015260126024820152711094925111d157d0d0531317d1905253115160721b604482015290519081900360640190fd5b505050505056fea264697066735822122094fac3edcc3007f4523e5609bef7fb9551d185875d552c1e6fe786a8b383fb7764736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/ens/IENS.sol/IENS.dbg.json b/abis/tests/ens/IENS.sol/IENS.dbg.json new file mode 100644 index 000000000..4b4caa707 --- /dev/null +++ b/abis/tests/ens/IENS.sol/IENS.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d2da37c97b1f833b08aa3b9d2d732602.json" +} diff --git a/abis/tests/ens/IENS.sol/IENS.json b/abis/tests/ens/IENS.sol/IENS.json new file mode 100644 index 000000000..d51c65abd --- /dev/null +++ b/abis/tests/ens/IENS.sol/IENS.json @@ -0,0 +1,63 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IENS", + "sourceName": "contracts/tests/ens/IENS.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + } + ], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "resolver", + "type": "address" + }, + { + "internalType": "uint64", + "name": "ttl", + "type": "uint64" + } + ], + "name": "setSubnodeRecord", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/ens/IPublicResolver.sol/IPublicResolver.dbg.json b/abis/tests/ens/IPublicResolver.sol/IPublicResolver.dbg.json new file mode 100644 index 000000000..b3e6532ea --- /dev/null +++ b/abis/tests/ens/IPublicResolver.sol/IPublicResolver.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/8508173d845eb709b80f9be4c0d1a6fc.json" +} diff --git a/abis/tests/ens/IPublicResolver.sol/IPublicResolver.json b/abis/tests/ens/IPublicResolver.sol/IPublicResolver.json new file mode 100644 index 000000000..6d9356edb --- /dev/null +++ b/abis/tests/ens/IPublicResolver.sol/IPublicResolver.json @@ -0,0 +1,58 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IPublicResolver", + "sourceName": "contracts/tests/ens/IPublicResolver.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "key", + "type": "string" + }, + { + "internalType": "string", + "name": "value", + "type": "string" + } + ], + "name": "setText", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "node", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "key", + "type": "string" + } + ], + "name": "text", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.dbg.json b/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.dbg.json new file mode 100644 index 000000000..63500a9ed --- /dev/null +++ b/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/d6b6631689a4b4f582b72d7fa3cae6eb.json" +} diff --git a/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.json b/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.json new file mode 100644 index 000000000..568efc28a --- /dev/null +++ b/abis/tests/ens/ITestRegistrar.sol/ITestRegistrar.json @@ -0,0 +1,29 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ITestRegistrar", + "sourceName": "contracts/tests/ens/ITestRegistrar.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "label", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "register", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/token/GraphToken.sol/GraphToken.dbg.json b/abis/token/GraphToken.sol/GraphToken.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/token/GraphToken.sol/GraphToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/token/GraphToken.sol/GraphToken.json b/abis/token/GraphToken.sol/GraphToken.json new file mode 100644 index 000000000..ab2ee7228 --- /dev/null +++ b/abis/token/GraphToken.sol/GraphToken.json @@ -0,0 +1,565 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphToken", + "sourceName": "contracts/token/GraphToken.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "_initialSupply", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "MinterRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001c5638038062001c56833981810160405260208110156200003757600080fd5b5051604080518082018252600b81526a23b930b834102a37b5b2b760a91b60208281019182528351808501909452600384526211d49560ea1b9084015281519192916200008791600591620003a7565b5080516200009d906006906020840190620003a7565b505060078054601260ff1990911617905550620000c633620001bb602090811b62000dcc17901c565b620000d23382620001dd565b620000dd33620002f0565b7fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564727fefcec85968da792893fa503eb21730083fc6c50ed5461e56163b28335b2a5f967f044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d6200014a6200033c565b6040805160208082019690965280820194909452606084019290925260808301523060a08301527f51f3d585afe6dfeb2af01bba0889a36c1db03beec88c6a4d0c53817069026afa60c0808401919091528151808403909101815260e0909201905280519101206008555062000453565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03821662000239576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620002476000838362000340565b62000263816004546200034560201b62000dee1790919060201c565b6004556001600160a01b0382166000908152600260209081526040909120546200029891839062000dee62000345821b17901c565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038116600081815260096020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b4690565b505050565b600082820183811015620003a0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620003df57600085556200042a565b82601f10620003fa57805160ff19168380011785556200042a565b828001600101855582156200042a579182015b828111156200042a5782518255916020019190600101906200040d565b50620004389291506200043c565b5090565b5b808211156200043857600081556001016200043d565b6117f380620004636000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806379cc6790116100c3578063a9059cbb1161007c578063a9059cbb1461042b578063aa271e1a14610457578063d505accf1461047d578063dd62ed3e146104ce578063e3056a34146104fc578063f2fde38b1461050457610158565b806379cc6790146103775780637ecebe00146103a357806395d89b41146103c9578063983b2d56146103d157806398650275146103f7578063a457c2d7146103ff57610158565b8063313ce56711610115578063313ce567146102b657806339509351146102d457806340c10f191461030057806342966c681461032c57806370a082311461034957806379ba50971461036f57610158565b806306fdde031461015d578063095ea7b3146101da5780630c340a241461021a57806318160ddd1461023e57806323b872dd146102585780633092afd51461028e575b600080fd5b61016561052a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356105c0565b604080519115158252519081900360200190f35b6102226105dd565b604080516001600160a01b039092168252519081900360200190f35b6102466105ec565b60408051918252519081900360200190f35b6102066004803603606081101561026e57600080fd5b506001600160a01b038135811691602081013590911690604001356105f2565b6102b4600480360360208110156102a457600080fd5b50356001600160a01b0316610679565b005b6102be6106dd565b6040805160ff9092168252519081900360200190f35b610206600480360360408110156102ea57600080fd5b506001600160a01b0381351690602001356106e6565b6102b46004803603604081101561031657600080fd5b506001600160a01b038135169060200135610734565b6102b46004803603602081101561034257600080fd5b5035610793565b6102466004803603602081101561035f57600080fd5b50356001600160a01b03166107a4565b6102b46107bf565b6102b46004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356108cd565b610246600480360360208110156103b957600080fd5b50356001600160a01b0316610927565b610165610939565b6102b4600480360360208110156103e757600080fd5b50356001600160a01b031661099a565b6102b46109fb565b6102066004803603604081101561041557600080fd5b506001600160a01b038135169060200135610a06565b6102066004803603604081101561044157600080fd5b506001600160a01b038135169060200135610a6e565b6102066004803603602081101561046d57600080fd5b50356001600160a01b0316610a82565b6102b4600480360360e081101561049357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610aa0565b610246600480360360408110156104e457600080fd5b506001600160a01b0381358116916020013516610c94565b610222610cbf565b6102b46004803603602081101561051a57600080fd5b50356001600160a01b0316610cce565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b60006105d46105cd610e4f565b8484610e53565b50600192915050565b6000546001600160a01b031681565b60045490565b60006105ff848484610f3f565b61066f8461060b610e4f565b61066a856040518060600160405280602881526020016116e3602891396001600160a01b038a16600090815260036020526040812090610649610e4f565b6001600160a01b03168152602081019190915260400160002054919061109c565b610e53565b5060019392505050565b6000546001600160a01b031633146106d1576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da81611133565b50565b60075460ff1690565b60006105d46106f3610e4f565b8461066a8560036000610704610e4f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610dee565b61073d33610a82565b610785576040805162461bcd60e51b815260206004820152601460248201527313db9b1e481b5a5b9d195c8818d85b8818d85b1b60621b604482015290519081900360640190fd5b61078f828261117c565b5050565b6106da61079e610e4f565b8261126e565b6001600160a01b031660009081526002602052604090205490565b6001546001600160a01b031680158015906107e25750336001600160a01b038216145b610833576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b60006109048260405180606001604052806024815260200161170b602491396108fd866108f8610e4f565b610c94565b919061109c565b905061091883610912610e4f565b83610e53565b610922838361126e565b505050565b600a6020526000908152604090205481565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b6000546001600160a01b031633146109f2576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da8161136a565b610a0433611133565b565b60006105d4610a13610e4f565b8461066a856040518060600160405280602581526020016117996025913960036000610a3d610e4f565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061109c565b60006105d4610a7b610e4f565b8484610f3f565b6001600160a01b031660009081526009602052604090205460ff1690565b6008546001600160a01b038089166000818152600a602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968e166060880152608087018d905260a0870181905260c08088018d90528251808903909101815260e08801835280519084012061190160f01b6101008901526101028801989098526101228088019890985281518088039098018852610142909601905285519581019590952092909152909252610b6d906001610dee565b6001600160a01b0389166000908152600a602090815260408083209390935582519081018690528083018590526001600160f81b031960f888901b16606082015282516041818303018152606190910190925290610bcc9083906113b6565b9050806001600160a01b0316896001600160a01b031614610c2a576040805162461bcd60e51b815260206004820152601360248201527211d4950e881a5b9d985b1a59081c195c9b5a5d606a1b604482015290519081900360640190fd5b851580610c375750854211155b610c7e576040805162461bcd60e51b815260206004820152601360248201527211d4950e88195e1c1a5c9959081c195c9b5a5d606a1b604482015290519081900360640190fd5b610c89898989610e53565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b6000546001600160a01b03163314610d26576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610d78576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610e48576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610e985760405162461bcd60e51b81526004018080602001828103825260248152602001806117756024913960400191505060405180910390fd5b6001600160a01b038216610edd5760405162461bcd60e51b81526004018080602001828103825260228152602001806116576022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610f845760405162461bcd60e51b81526004018080602001828103825260258152602001806117506025913960400191505060405180910390fd5b6001600160a01b038216610fc95760405162461bcd60e51b81526004018080602001828103825260238152602001806116126023913960400191505060405180910390fd5b610fd4838383610922565b61101181604051806060016040528060268152602001611679602691396001600160a01b038616600090815260026020526040902054919061109c565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546110409082610dee565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561112b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110f05781810151838201526020016110d8565b50505050905090810190601f16801561111d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116600081815260096020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166111d7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6111e360008383610922565b6004546111f09082610dee565b6004556001600160a01b0382166000908152600260205260409020546112169082610dee565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112b35760405162461bcd60e51b815260040180806020018281038252602181526020018061172f6021913960400191505060405180910390fd5b6112bf82600083610922565b6112fc81604051806060016040528060228152602001611635602291396001600160a01b038516600090815260026020526040902054919061109c565b6001600160a01b0383166000908152600260205260409020556004546113229082611436565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038116600081815260096020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b6000815160411461140e576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61142c86828585611493565b9695505050505050565b60008282111561148d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156114f45760405162461bcd60e51b815260040180806020018281038252602281526020018061169f6022913960400191505060405180910390fd5b8360ff16601b148061150957508360ff16601c145b6115445760405162461bcd60e51b81526004018080602001828103825260228152602001806116c16022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156115a0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611608576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202bc55595a6a648c7ea44c396d8249e6f6b220fc17161a2bf0b20b1fff7815f9e64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806379cc6790116100c3578063a9059cbb1161007c578063a9059cbb1461042b578063aa271e1a14610457578063d505accf1461047d578063dd62ed3e146104ce578063e3056a34146104fc578063f2fde38b1461050457610158565b806379cc6790146103775780637ecebe00146103a357806395d89b41146103c9578063983b2d56146103d157806398650275146103f7578063a457c2d7146103ff57610158565b8063313ce56711610115578063313ce567146102b657806339509351146102d457806340c10f191461030057806342966c681461032c57806370a082311461034957806379ba50971461036f57610158565b806306fdde031461015d578063095ea7b3146101da5780630c340a241461021a57806318160ddd1461023e57806323b872dd146102585780633092afd51461028e575b600080fd5b61016561052a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356105c0565b604080519115158252519081900360200190f35b6102226105dd565b604080516001600160a01b039092168252519081900360200190f35b6102466105ec565b60408051918252519081900360200190f35b6102066004803603606081101561026e57600080fd5b506001600160a01b038135811691602081013590911690604001356105f2565b6102b4600480360360208110156102a457600080fd5b50356001600160a01b0316610679565b005b6102be6106dd565b6040805160ff9092168252519081900360200190f35b610206600480360360408110156102ea57600080fd5b506001600160a01b0381351690602001356106e6565b6102b46004803603604081101561031657600080fd5b506001600160a01b038135169060200135610734565b6102b46004803603602081101561034257600080fd5b5035610793565b6102466004803603602081101561035f57600080fd5b50356001600160a01b03166107a4565b6102b46107bf565b6102b46004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356108cd565b610246600480360360208110156103b957600080fd5b50356001600160a01b0316610927565b610165610939565b6102b4600480360360208110156103e757600080fd5b50356001600160a01b031661099a565b6102b46109fb565b6102066004803603604081101561041557600080fd5b506001600160a01b038135169060200135610a06565b6102066004803603604081101561044157600080fd5b506001600160a01b038135169060200135610a6e565b6102066004803603602081101561046d57600080fd5b50356001600160a01b0316610a82565b6102b4600480360360e081101561049357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610aa0565b610246600480360360408110156104e457600080fd5b506001600160a01b0381358116916020013516610c94565b610222610cbf565b6102b46004803603602081101561051a57600080fd5b50356001600160a01b0316610cce565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b60006105d46105cd610e4f565b8484610e53565b50600192915050565b6000546001600160a01b031681565b60045490565b60006105ff848484610f3f565b61066f8461060b610e4f565b61066a856040518060600160405280602881526020016116e3602891396001600160a01b038a16600090815260036020526040812090610649610e4f565b6001600160a01b03168152602081019190915260400160002054919061109c565b610e53565b5060019392505050565b6000546001600160a01b031633146106d1576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da81611133565b50565b60075460ff1690565b60006105d46106f3610e4f565b8461066a8560036000610704610e4f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610dee565b61073d33610a82565b610785576040805162461bcd60e51b815260206004820152601460248201527313db9b1e481b5a5b9d195c8818d85b8818d85b1b60621b604482015290519081900360640190fd5b61078f828261117c565b5050565b6106da61079e610e4f565b8261126e565b6001600160a01b031660009081526002602052604090205490565b6001546001600160a01b031680158015906107e25750336001600160a01b038216145b610833576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b60006109048260405180606001604052806024815260200161170b602491396108fd866108f8610e4f565b610c94565b919061109c565b905061091883610912610e4f565b83610e53565b610922838361126e565b505050565b600a6020526000908152604090205481565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b6000546001600160a01b031633146109f2576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da8161136a565b610a0433611133565b565b60006105d4610a13610e4f565b8461066a856040518060600160405280602581526020016117996025913960036000610a3d610e4f565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061109c565b60006105d4610a7b610e4f565b8484610f3f565b6001600160a01b031660009081526009602052604090205460ff1690565b6008546001600160a01b038089166000818152600a602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968e166060880152608087018d905260a0870181905260c08088018d90528251808903909101815260e08801835280519084012061190160f01b6101008901526101028801989098526101228088019890985281518088039098018852610142909601905285519581019590952092909152909252610b6d906001610dee565b6001600160a01b0389166000908152600a602090815260408083209390935582519081018690528083018590526001600160f81b031960f888901b16606082015282516041818303018152606190910190925290610bcc9083906113b6565b9050806001600160a01b0316896001600160a01b031614610c2a576040805162461bcd60e51b815260206004820152601360248201527211d4950e881a5b9d985b1a59081c195c9b5a5d606a1b604482015290519081900360640190fd5b851580610c375750854211155b610c7e576040805162461bcd60e51b815260206004820152601360248201527211d4950e88195e1c1a5c9959081c195c9b5a5d606a1b604482015290519081900360640190fd5b610c89898989610e53565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b6000546001600160a01b03163314610d26576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610d78576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610e48576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610e985760405162461bcd60e51b81526004018080602001828103825260248152602001806117756024913960400191505060405180910390fd5b6001600160a01b038216610edd5760405162461bcd60e51b81526004018080602001828103825260228152602001806116576022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610f845760405162461bcd60e51b81526004018080602001828103825260258152602001806117506025913960400191505060405180910390fd5b6001600160a01b038216610fc95760405162461bcd60e51b81526004018080602001828103825260238152602001806116126023913960400191505060405180910390fd5b610fd4838383610922565b61101181604051806060016040528060268152602001611679602691396001600160a01b038616600090815260026020526040902054919061109c565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546110409082610dee565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561112b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110f05781810151838201526020016110d8565b50505050905090810190601f16801561111d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116600081815260096020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166111d7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6111e360008383610922565b6004546111f09082610dee565b6004556001600160a01b0382166000908152600260205260409020546112169082610dee565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112b35760405162461bcd60e51b815260040180806020018281038252602181526020018061172f6021913960400191505060405180910390fd5b6112bf82600083610922565b6112fc81604051806060016040528060228152602001611635602291396001600160a01b038516600090815260026020526040902054919061109c565b6001600160a01b0383166000908152600260205260409020556004546113229082611436565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038116600081815260096020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b6000815160411461140e576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a61142c86828585611493565b9695505050505050565b60008282111561148d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156114f45760405162461bcd60e51b815260040180806020018281038252602281526020018061169f6022913960400191505060405180910390fd5b8360ff16601b148061150957508360ff16601c145b6115445760405162461bcd60e51b81526004018080602001828103825260228152602001806116c16022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156115a0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611608576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202bc55595a6a648c7ea44c396d8249e6f6b220fc17161a2bf0b20b1fff7815f9e64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/token/IGraphToken.sol/IGraphToken.dbg.json b/abis/token/IGraphToken.sol/IGraphToken.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/token/IGraphToken.sol/IGraphToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/token/IGraphToken.sol/IGraphToken.json b/abis/token/IGraphToken.sol/IGraphToken.json new file mode 100644 index 000000000..82a6792a9 --- /dev/null +++ b/abis/token/IGraphToken.sol/IGraphToken.json @@ -0,0 +1,386 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGraphToken", + "sourceName": "contracts/token/IGraphToken.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burnFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "_v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "_s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "removeMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceMinter", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/upgrades/GraphProxy.sol/GraphProxy.dbg.json b/abis/upgrades/GraphProxy.sol/GraphProxy.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/upgrades/GraphProxy.sol/GraphProxy.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/upgrades/GraphProxy.sol/GraphProxy.json b/abis/upgrades/GraphProxy.sol/GraphProxy.json new file mode 100644 index 000000000..522423513 --- /dev/null +++ b/abis/upgrades/GraphProxy.sol/GraphProxy.json @@ -0,0 +1,177 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphProxy", + "sourceName": "contracts/upgrades/GraphProxy.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_impl", + "type": "address" + }, + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "ImplementationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPendingImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "PendingImplementationUpdated", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "acceptUpgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "acceptUpgradeAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pendingImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "setAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50604051610a12380380610a128339818101604052604081101561003357600080fd5b50805160209091015161004581610055565b61004e826100b3565b5050610137565b600061005f610111565b6000805160206109d2833981519152838155604051919250906001600160a01b0380851691908416907f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b90600090a3505050565b60006100bd610124565b6000805160206109f2833981519152838155604051919250906001600160a01b0380851691908416907f980c0d30fe97457c47903527d88b7009a1643be6de24d2af664214919f0540a190600090a3505050565b6000805160206109d28339815191525490565b6000805160206109f28339815191525490565b61088c806101466000396000f3fe6080604052600436106100745760003560e01c80635c60da1b1161004e5780635c60da1b14610104578063623faf6114610119578063704b6c0214610196578063f851a440146101c957610083565b80633659cfe61461008b578063396f7b23146100be57806359fc20bb146100ef57610083565b36610083576100816101de565b005b6100816101de565b34801561009757600080fd5b50610081600480360360208110156100ae57600080fd5b50356001600160a01b031661029e565b3480156100ca57600080fd5b506100d36102d8565b604080516001600160a01b039092168252519081900360200190f35b3480156100fb57600080fd5b50610081610338565b34801561011057600080fd5b506100d3610393565b34801561012557600080fd5b506100816004803603602081101561013c57600080fd5b81019060208101813564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103e1565b3480156101a257600080fd5b50610081600480360360208110156101b957600080fd5b50356001600160a01b03166104f1565b3480156101d557600080fd5b506100d3610576565b6101e66105c0565b6001600160a01b0316336001600160a01b0316141561024c576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f742066616c6c6261636b20746f2070726f78792074617267657400604482015290519081900360640190fd5b6040516001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541636600083376000803684845af490503d806000843e81801561029a578184f35b8184fd5b6102a66105c0565b6001600160a01b0316336001600160a01b031614156102cd576102c8816105e5565b6102d5565b6102d56101de565b50565b60006102e26105c0565b6001600160a01b0316336001600160a01b031614806103195750610304610655565b6001600160a01b0316336001600160a01b0316145b1561032d57610326610655565b9050610335565b6103356101de565b90565b6103406105c0565b6001600160a01b0316336001600160a01b031614806103775750610362610655565b6001600160a01b0316336001600160a01b0316145b156103895761038461067a565b610391565b6103916101de565b565b600061039d6105c0565b6001600160a01b0316336001600160a01b031614806103d457506103bf610655565b6001600160a01b0316336001600160a01b0316145b1561032d57610326610751565b6103e96105c0565b6001600160a01b0316336001600160a01b03161480610420575061040b610655565b6001600160a01b0316336001600160a01b0316145b156104e55761042d61067a565b6000610437610751565b6001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610491576040519150601f19603f3d011682016040523d82523d6000602084013e610496565b606091505b50509050806104df576040805162461bcd60e51b815260206004820152601060248201526f125b5c1b0818d85b1b0819985a5b195960821b604482015290519081900360640190fd5b506104ed565b6104ed6101de565b5050565b6104f96105c0565b6001600160a01b0316336001600160a01b031614156102cd576001600160a01b03811661056d576040805162461bcd60e51b815260206004820152601e60248201527f41646d696e2063616e7420626520746865207a65726f20616464726573730000604482015290519081900360640190fd5b6102c881610776565b60006105806105c0565b6001600160a01b0316336001600160a01b031614806105b757506105a2610655565b6001600160a01b0316336001600160a01b0316145b1561032d576103265b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60006105ef610655565b7f9e5eddc59e0b171f57125ab86bee043d9128098c3a6b9adb4f2e86333c2f6f8c838155604051919250906001600160a01b0380851691908416907f980c0d30fe97457c47903527d88b7009a1643be6de24d2af664214919f0540a190600090a3505050565b7f9e5eddc59e0b171f57125ab86bee043d9128098c3a6b9adb4f2e86333c2f6f8c5490565b6000610684610655565b90506001600160a01b0381166106e1576040805162461bcd60e51b815260206004820152601b60248201527f496d706c2063616e6e6f74206265207a65726f20616464726573730000000000604482015290519081900360640190fd5b336001600160a01b0382161461073e576040805162461bcd60e51b815260206004820152601b60248201527f4f6e6c792070656e64696e6720696d706c656d656e746174696f6e0000000000604482015290519081900360640190fd5b610747816107e6565b6102d560006105e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006107806105c0565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103838155604051919250906001600160a01b0380851691908416907f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b90600090a3505050565b60006107f0610751565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc838155604051919250906001600160a01b0380851691908416907faa3f731066a578e5f39b4215468d826cdd15373cbc0dfc9cb9bdc649718ef7da90600090a350505056fea26469706673582212200690f23920fb468f4eb0ce5acb5de8bf6b938d0954ba3b0383c1e2ac8c1addf964736f6c63430007060033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61039e5eddc59e0b171f57125ab86bee043d9128098c3a6b9adb4f2e86333c2f6f8c", + "deployedBytecode": "0x6080604052600436106100745760003560e01c80635c60da1b1161004e5780635c60da1b14610104578063623faf6114610119578063704b6c0214610196578063f851a440146101c957610083565b80633659cfe61461008b578063396f7b23146100be57806359fc20bb146100ef57610083565b36610083576100816101de565b005b6100816101de565b34801561009757600080fd5b50610081600480360360208110156100ae57600080fd5b50356001600160a01b031661029e565b3480156100ca57600080fd5b506100d36102d8565b604080516001600160a01b039092168252519081900360200190f35b3480156100fb57600080fd5b50610081610338565b34801561011057600080fd5b506100d3610393565b34801561012557600080fd5b506100816004803603602081101561013c57600080fd5b81019060208101813564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184600183028401116401000000008311171561018b57600080fd5b5090925090506103e1565b3480156101a257600080fd5b50610081600480360360208110156101b957600080fd5b50356001600160a01b03166104f1565b3480156101d557600080fd5b506100d3610576565b6101e66105c0565b6001600160a01b0316336001600160a01b0316141561024c576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f742066616c6c6261636b20746f2070726f78792074617267657400604482015290519081900360640190fd5b6040516001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541636600083376000803684845af490503d806000843e81801561029a578184f35b8184fd5b6102a66105c0565b6001600160a01b0316336001600160a01b031614156102cd576102c8816105e5565b6102d5565b6102d56101de565b50565b60006102e26105c0565b6001600160a01b0316336001600160a01b031614806103195750610304610655565b6001600160a01b0316336001600160a01b0316145b1561032d57610326610655565b9050610335565b6103356101de565b90565b6103406105c0565b6001600160a01b0316336001600160a01b031614806103775750610362610655565b6001600160a01b0316336001600160a01b0316145b156103895761038461067a565b610391565b6103916101de565b565b600061039d6105c0565b6001600160a01b0316336001600160a01b031614806103d457506103bf610655565b6001600160a01b0316336001600160a01b0316145b1561032d57610326610751565b6103e96105c0565b6001600160a01b0316336001600160a01b03161480610420575061040b610655565b6001600160a01b0316336001600160a01b0316145b156104e55761042d61067a565b6000610437610751565b6001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610491576040519150601f19603f3d011682016040523d82523d6000602084013e610496565b606091505b50509050806104df576040805162461bcd60e51b815260206004820152601060248201526f125b5c1b0818d85b1b0819985a5b195960821b604482015290519081900360640190fd5b506104ed565b6104ed6101de565b5050565b6104f96105c0565b6001600160a01b0316336001600160a01b031614156102cd576001600160a01b03811661056d576040805162461bcd60e51b815260206004820152601e60248201527f41646d696e2063616e7420626520746865207a65726f20616464726573730000604482015290519081900360640190fd5b6102c881610776565b60006105806105c0565b6001600160a01b0316336001600160a01b031614806105b757506105a2610655565b6001600160a01b0316336001600160a01b0316145b1561032d576103265b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60006105ef610655565b7f9e5eddc59e0b171f57125ab86bee043d9128098c3a6b9adb4f2e86333c2f6f8c838155604051919250906001600160a01b0380851691908416907f980c0d30fe97457c47903527d88b7009a1643be6de24d2af664214919f0540a190600090a3505050565b7f9e5eddc59e0b171f57125ab86bee043d9128098c3a6b9adb4f2e86333c2f6f8c5490565b6000610684610655565b90506001600160a01b0381166106e1576040805162461bcd60e51b815260206004820152601b60248201527f496d706c2063616e6e6f74206265207a65726f20616464726573730000000000604482015290519081900360640190fd5b336001600160a01b0382161461073e576040805162461bcd60e51b815260206004820152601b60248201527f4f6e6c792070656e64696e6720696d706c656d656e746174696f6e0000000000604482015290519081900360640190fd5b610747816107e6565b6102d560006105e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006107806105c0565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103838155604051919250906001600160a01b0380851691908416907f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b90600090a3505050565b60006107f0610751565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc838155604051919250906001600160a01b0380851691908416907faa3f731066a578e5f39b4215468d826cdd15373cbc0dfc9cb9bdc649718ef7da90600090a350505056fea26469706673582212200690f23920fb468f4eb0ce5acb5de8bf6b938d0954ba3b0383c1e2ac8c1addf964736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.dbg.json b/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.json b/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.json new file mode 100644 index 000000000..5f4848a9c --- /dev/null +++ b/abis/upgrades/GraphProxyAdmin.sol/GraphProxyAdmin.json @@ -0,0 +1,234 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphProxyAdmin", + "sourceName": "contracts/upgrades/GraphProxyAdmin.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewOwnership", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "NewPendingOwnership", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract GraphUpgradeable", + "name": "_implementation", + "type": "address" + }, + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract GraphUpgradeable", + "name": "_implementation", + "type": "address" + }, + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "changeProxyAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "getProxyAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "getProxyImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "getProxyPendingImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingGovernor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "address", + "name": "_implementation", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506100243361002960201b610a0c1760201c565b61004b565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b610a648061005a6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637eff275e116100715780637eff275e146101b157806399a88ec4146101df578063e3056a341461020d578063eb451a0214610215578063f2fde38b14610243578063f3b7dead14610269576100a9565b806307ebde0e146100ae5780630c340a2414610139578063204e1c7a1461015d5780635bf410eb1461018357806379ba5097146101a9575b600080fd5b610137600480360360608110156100c457600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156100f857600080fd5b82018360208201111561010a57600080fd5b8035906020019184600183028401116401000000008311171561012c57600080fd5b50909250905061028f565b005b610141610388565b604080516001600160a01b039092168252519081900360200190f35b6101416004803603602081101561017357600080fd5b50356001600160a01b0316610397565b6101416004803603602081101561019957600080fd5b50356001600160a01b031661046a565b610137610525565b610137600480360360408110156101c757600080fd5b506001600160a01b0381358116916020013516610633565b610137600480360360408110156101f557600080fd5b506001600160a01b03813581169160200135166106f6565b61014161079d565b6101376004803603604081101561022b57600080fd5b506001600160a01b03813581169160200135166107ac565b6101376004803603602081101561025957600080fd5b50356001600160a01b0316610853565b6101416004803603602081101561027f57600080fd5b50356001600160a01b0316610951565b6000546001600160a01b031633146102e7576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b836001600160a01b0316639ce7abe58484846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561036a57600080fd5b505af115801561037e573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031681565b6000806000836001600160a01b03166040518080635c60da1b60e01b8152506004019050600060405180830381855afa9150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b50915091508161044b576040805162461bcd60e51b8152602060048201526016602482015275141c9bde1e481a5b5c1b0818d85b1b0819985a5b195960521b604482015290519081900360640190fd5b80806020019051602081101561046057600080fd5b5051949350505050565b6000806000836001600160a01b0316604051808063396f7b2360e01b8152506004019050600060405180830381855afa9150503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091508161044b576040805162461bcd60e51b815260206004820152601d60248201527f50726f78792070656e64696e67496d706c2063616c6c206661696c6564000000604482015290519081900360640190fd5b6001546001600160a01b031680158015906105485750336001600160a01b038216145b610599576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b0316331461068b576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b031663704b6c02826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461074e576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b0316633659cfe6826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b6001546001600160a01b031681565b6000546001600160a01b03163314610804576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b031663a2594d82826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b6000546001600160a01b031633146108ab576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0381166108fd576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000806000836001600160a01b031660405180806303e1469160e61b8152506004019050600060405180830381855afa9150503d80600081146109b0576040519150601f19603f3d011682016040523d82523d6000602084013e6109b5565b606091505b50915091508161044b576040805162461bcd60e51b815260206004820152601760248201527f50726f78792061646d696e2063616c6c206661696c6564000000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea26469706673582212205781d6a5ee20538697acc12238a45de8e89a3205fd97fe9647ec63d09d0cc48e64736f6c63430007060033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637eff275e116100715780637eff275e146101b157806399a88ec4146101df578063e3056a341461020d578063eb451a0214610215578063f2fde38b14610243578063f3b7dead14610269576100a9565b806307ebde0e146100ae5780630c340a2414610139578063204e1c7a1461015d5780635bf410eb1461018357806379ba5097146101a9575b600080fd5b610137600480360360608110156100c457600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156100f857600080fd5b82018360208201111561010a57600080fd5b8035906020019184600183028401116401000000008311171561012c57600080fd5b50909250905061028f565b005b610141610388565b604080516001600160a01b039092168252519081900360200190f35b6101416004803603602081101561017357600080fd5b50356001600160a01b0316610397565b6101416004803603602081101561019957600080fd5b50356001600160a01b031661046a565b610137610525565b610137600480360360408110156101c757600080fd5b506001600160a01b0381358116916020013516610633565b610137600480360360408110156101f557600080fd5b506001600160a01b03813581169160200135166106f6565b61014161079d565b6101376004803603604081101561022b57600080fd5b506001600160a01b03813581169160200135166107ac565b6101376004803603602081101561025957600080fd5b50356001600160a01b0316610853565b6101416004803603602081101561027f57600080fd5b50356001600160a01b0316610951565b6000546001600160a01b031633146102e7576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b836001600160a01b0316639ce7abe58484846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561036a57600080fd5b505af115801561037e573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031681565b6000806000836001600160a01b03166040518080635c60da1b60e01b8152506004019050600060405180830381855afa9150503d80600081146103f6576040519150601f19603f3d011682016040523d82523d6000602084013e6103fb565b606091505b50915091508161044b576040805162461bcd60e51b8152602060048201526016602482015275141c9bde1e481a5b5c1b0818d85b1b0819985a5b195960521b604482015290519081900360640190fd5b80806020019051602081101561046057600080fd5b5051949350505050565b6000806000836001600160a01b0316604051808063396f7b2360e01b8152506004019050600060405180830381855afa9150503d80600081146104c9576040519150601f19603f3d011682016040523d82523d6000602084013e6104ce565b606091505b50915091508161044b576040805162461bcd60e51b815260206004820152601d60248201527f50726f78792070656e64696e67496d706c2063616c6c206661696c6564000000604482015290519081900360640190fd5b6001546001600160a01b031680158015906105485750336001600160a01b038216145b610599576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b600080546001600160a01b038381166001600160a01b031980841691909117808555600180549092169091556040519282169391169183917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f91a36001546040516001600160a01b03918216918416907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000546001600160a01b0316331461068b576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b031663704b6c02826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316331461074e576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b0316633659cfe6826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b6001546001600160a01b031681565b6000546001600160a01b03163314610804576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b816001600160a01b031663a2594d82826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156106da57600080fd5b6000546001600160a01b031633146108ab576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b0381166108fd576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000806000836001600160a01b031660405180806303e1469160e61b8152506004019050600060405180830381855afa9150503d80600081146109b0576040519150601f19603f3d011682016040523d82523d6000602084013e6109b5565b606091505b50915091508161044b576040805162461bcd60e51b815260206004820152601760248201527f50726f78792061646d696e2063616c6c206661696c6564000000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039290921691909117905556fea26469706673582212205781d6a5ee20538697acc12238a45de8e89a3205fd97fe9647ec63d09d0cc48e64736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.dbg.json b/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.json b/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.json new file mode 100644 index 000000000..03cc98c45 --- /dev/null +++ b/abis/upgrades/GraphProxyStorage.sol/GraphProxyStorage.json @@ -0,0 +1,68 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphProxyStorage", + "sourceName": "contracts/upgrades/GraphProxyStorage.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldAdmin", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "ImplementationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldPendingImplementation", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newPendingImplementation", + "type": "address" + } + ], + "name": "PendingImplementationUpdated", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.dbg.json b/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.json b/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.json new file mode 100644 index 000000000..d8b831fd3 --- /dev/null +++ b/abis/upgrades/GraphUpgradeable.sol/GraphUpgradeable.json @@ -0,0 +1,42 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "GraphUpgradeable", + "sourceName": "contracts/upgrades/GraphUpgradeable.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + } + ], + "name": "acceptProxy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IGraphProxy", + "name": "_proxy", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "acceptProxyAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/upgrades/IGraphProxy.sol/IGraphProxy.dbg.json b/abis/upgrades/IGraphProxy.sol/IGraphProxy.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/upgrades/IGraphProxy.sol/IGraphProxy.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/upgrades/IGraphProxy.sol/IGraphProxy.json b/abis/upgrades/IGraphProxy.sol/IGraphProxy.json new file mode 100644 index 000000000..809fb3c92 --- /dev/null +++ b/abis/upgrades/IGraphProxy.sol/IGraphProxy.json @@ -0,0 +1,96 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IGraphProxy", + "sourceName": "contracts/upgrades/IGraphProxy.sol", + "abi": [ + { + "inputs": [], + "name": "acceptUpgrade", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "acceptUpgradeAndCall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pendingImplementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newAdmin", + "type": "address" + } + ], + "name": "setAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/abis/utils/TokenUtils.sol/TokenUtils.dbg.json b/abis/utils/TokenUtils.sol/TokenUtils.dbg.json new file mode 100644 index 000000000..a0bc62374 --- /dev/null +++ b/abis/utils/TokenUtils.sol/TokenUtils.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/4f8c368b74154ab609ff2c8fa4ab394f.json" +} diff --git a/abis/utils/TokenUtils.sol/TokenUtils.json b/abis/utils/TokenUtils.sol/TokenUtils.json new file mode 100644 index 000000000..dd77ccdf5 --- /dev/null +++ b/abis/utils/TokenUtils.sol/TokenUtils.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TokenUtils", + "sourceName": "contracts/utils/TokenUtils.sol", + "abi": [], + "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d95adb96b997b2757deecbb480fb324e432d1933d5048f07a2d9eb722e56b8f764736f6c63430007060033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d95adb96b997b2757deecbb480fb324e432d1933d5048f07a2d9eb722e56b8f764736f6c63430007060033", + "linkReferences": {}, + "deployedLinkReferences": {} +}