@gooddollar/goodprotocol 1.0.28 → 1.0.29-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/abis/BulkProof.min.json +1 -1
- package/artifacts/abis/DistributionBridgeMock.min.json +1 -0
- package/artifacts/abis/DistributionHelper.min.json +1 -0
- package/artifacts/abis/DistributionHelperTest.min.json +1 -0
- package/artifacts/abis/DistributionHelperTestHelper.min.json +1 -0
- package/artifacts/abis/ERC20.min.json +1 -1
- package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
- package/artifacts/abis/GoodDollarStaking.min.json +1 -0
- package/artifacts/abis/GoodDollarStakingMock.min.json +1 -0
- package/artifacts/abis/GoodReserveCDai.min.json +1 -1
- package/artifacts/abis/IERC2917.min.json +1 -1
- package/artifacts/abis/IGoodDollarStakingTest.min.json +1 -0
- package/artifacts/abis/IMultichainRouter.min.json +1 -0
- package/artifacts/abis/IRouter.min.json +1 -0
- package/artifacts/abis/IWrapper.min.json +1 -0
- package/artifacts/abis/Math64x64.min.json +1 -0
- package/artifacts/abis/MultichainBridgeHelper.min.json +1 -0
- package/artifacts/abis/MultichainRouterMock.min.json +1 -0
- package/artifacts/abis/OverMintTester.min.json +1 -1
- package/artifacts/abis/PausableControl.min.json +1 -0
- package/artifacts/abis/RewardsMinter.min.json +1 -0
- package/artifacts/abis/StakingMockFixedAPY.min.json +1 -0
- package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
- package/artifacts/abis/TokenOperation.min.json +1 -0
- package/artifacts/abis/cERC20.min.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +67 -0
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1322 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +152 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +662 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +4 -0
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +680 -0
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +1322 -0
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +4 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.json +59 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +4 -0
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +81 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +4 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.json +49 -0
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +4 -4
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +4 -0
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.json +682 -0
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +662 -0
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +75 -35
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +268 -0
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +3 -34
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +1263 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +4 -0
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +79 -0
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
- package/contracts/Interfaces.sol +20 -0
- package/contracts/governance/GoodDollarStaking.sol +510 -0
- package/contracts/governance/MultiBaseGovernanceShareField.sol +1 -0
- package/contracts/mocks/DistributionBridgeMock.sol +50 -0
- package/contracts/mocks/DistributionHelperTest.sol +22 -0
- package/contracts/mocks/GoodDollarStakingMock.sol +24 -0
- package/contracts/mocks/MultichainRouterMock.sol +38 -0
- package/contracts/mocks/OverMintTester.sol +39 -25
- package/contracts/mocks/StakingMockFixedAPY.sol +78 -0
- package/contracts/reserve/DistributionHelper.sol +142 -0
- package/contracts/reserve/GoodReserveCDai.sol +95 -41
- package/contracts/staking/utils/Math64X64.sol +268 -0
- package/contracts/staking/utils/StakingRewardsFixedAPY.sol +336 -0
- package/contracts/utils/BulkProof.sol +10 -10
- package/contracts/utils/GoodDollarMintBurnWrapper.sol +638 -0
- package/contracts/utils/MultichainBridgeHelper.sol +39 -0
- package/hardhat.config.ts +5 -3
- package/package.json +7 -4
- package/patches/@openzeppelin+hardhat-upgrades+1.7.0.patch.depracate +67 -0
- package/releases/deployment.json +10 -3
- package/releases/olddao.json +1 -1
- package/scripts/analytics/activeUsersCount.ts +65 -0
- package/scripts/analytics/activeWalletsStats.ts +150 -0
- package/scripts/analytics/claimIncidentStats.ts +117 -0
- package/scripts/analytics/faucetStats.ts +103 -0
- package/scripts/analytics/goodHolders.ts +50 -0
- package/scripts/{misc → analytics}/goodgiveback.ts +0 -0
- package/scripts/governance/airdropCalculation.ts +1 -0
- package/scripts/multichain-deploy/basicdao-deploy.ts +20 -5
- package/scripts/multichain-deploy/gdSavings-deploy.ts +232 -0
- package/scripts/multichain-deploy/helpers.ts +73 -8
- package/scripts/multichain-deploy/multichainWrapper-deploy.ts +56 -0
- package/scripts/multichain-deploy/nonubiDistribution-deploy.ts +170 -0
- package/scripts/voltageswaps.ts +47 -0
- package/test/governance/ClaimersDistribution.test.ts +1 -1
- package/test/governance/GoodDollarStaking.gd.test.ts +559 -0
- package/test/governance/GoodDollarStaking.good.test.ts +998 -0
- package/test/governance/GovernanceStaking.test.ts +43 -0
- package/test/helpers.ts +9 -12
- package/test/reserve/DistributionHelper.test.ts +394 -0
- package/test/reserve/GoodReserveCDai.distribution.test.ts +296 -0
- package/test/reserve/GoodReserveCDai.gdx.test.ts +21 -16
- package/test/reserve/GoodReserveCDai.pause.test.ts +116 -0
- package/test/staking/StakingRewardsFixedAPY.test.ts +900 -0
- package/test/utils/AdminWallet.test.ts +35 -6
- package/test/utils/GoodDollarMintBurnWrapper.test.ts +796 -0
- package/tsconfig.json +4 -9
- package/types/AccessControl.ts +361 -0
- package/types/CERC20.ts +25 -0
- package/types/DistributionBridgeMock.ts +251 -0
- package/types/DistributionHelper.ts +908 -0
- package/types/DistributionHelperTest.ts +909 -0
- package/types/DistributionHelperTestHelper.ts +945 -0
- package/types/ERC165.ts +104 -0
- package/types/ERC20.ts +101 -49
- package/types/GoodDollarMintBurnWrapper.ts +1806 -0
- package/types/GoodDollarStaking.ts +1855 -0
- package/types/GoodDollarStakingMock.ts +1855 -0
- package/types/GoodReserveCDai.ts +90 -55
- package/types/IAccessControl.ts +306 -0
- package/types/IERC165.ts +104 -0
- package/types/IERC20.ts +300 -0
- package/types/IERC20Metadata.ts +339 -0
- package/types/IERC2917.ts +25 -0
- package/types/IGoodDollarStakingTest.ts +160 -0
- package/types/IMultichainRouter.ts +166 -0
- package/types/IRouter.ts +143 -0
- package/types/IWrapper.ts +143 -0
- package/types/MultichainBridgeHelper.ts +170 -0
- package/types/MultichainRouterMock.ts +141 -0
- package/types/Pausable.ts +103 -0
- package/types/PausableControl.ts +125 -0
- package/types/{BulkProof.ts → RewardsMinter.ts} +24 -28
- package/types/StakingMockFixedAPY.ts +995 -0
- package/types/StakingRewardsFixedAPY.ts +428 -0
- package/types/factories/AaveStakingFactory__factory.ts +1 -1
- package/types/factories/AccessControl__factory.ts +227 -0
- package/types/factories/AdminWallet__factory.ts +1 -1
- package/types/factories/BaseShareFieldV2__factory.ts +1 -1
- package/types/factories/BaseShareField__factory.ts +1 -1
- package/types/factories/CERC20__factory.ts +13 -0
- package/types/factories/ClaimersDistribution__factory.ts +1 -1
- package/types/factories/CompoundStakingFactory__factory.ts +1 -1
- package/types/factories/CompoundVotingMachine__factory.ts +1 -1
- package/types/factories/DAOContract__factory.ts +1 -1
- package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
- package/types/factories/DistributionBridgeMock__factory.ts +207 -0
- package/types/factories/DistributionHelperTestHelper__factory.ts +737 -0
- package/types/factories/DistributionHelperTest__factory.ts +717 -0
- package/types/factories/DistributionHelper__factory.ts +713 -0
- package/types/factories/DonationsStaking__factory.ts +1 -1
- package/types/factories/ERC165__factory.ts +39 -0
- package/types/factories/ERC20__factory.ts +13 -0
- package/types/factories/ExchangeHelper__factory.ts +1 -1
- package/types/factories/FuseFaucet__factory.ts +1 -1
- package/types/factories/FuseStakingV3__factory.ts +1 -1
- package/types/factories/GReputation__factory.ts +1 -1
- package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
- package/types/factories/GoodAaveStaking__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
- package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
- package/types/factories/GoodCompoundStaking__factory.ts +1 -1
- package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1318 -0
- package/types/factories/GoodDollarStakingMock__factory.ts +1404 -0
- package/types/factories/GoodDollarStaking__factory.ts +1400 -0
- package/types/factories/GoodFundManagerTest__factory.ts +1 -1
- package/types/factories/GoodFundManager__factory.ts +1 -1
- package/types/factories/GoodMarketMaker__factory.ts +1 -1
- package/types/factories/GoodReserveCDai__factory.ts +74 -34
- package/types/factories/GovernanceStaking__factory.ts +1 -1
- package/types/factories/IAccessControl__factory.ts +198 -0
- package/types/factories/IERC165__factory.ts +42 -0
- package/types/factories/IERC20Metadata__factory.ts +248 -0
- package/types/factories/IERC20__factory.ts +203 -0
- package/types/factories/IERC2917__factory.ts +13 -0
- package/types/factories/IGoodDollarStakingTest__factory.ts +68 -0
- package/types/factories/IMultichainRouter__factory.ts +82 -0
- package/types/factories/IRouter__factory.ts +71 -0
- package/types/factories/IWrapper__factory.ts +71 -0
- package/types/factories/InvitesV1__factory.ts +1 -1
- package/types/factories/MultichainBridgeHelper__factory.ts +134 -0
- package/types/factories/MultichainRouterMock__factory.ts +141 -0
- package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
- package/types/factories/OverMintTester__factory.ts +3 -3
- package/types/factories/PausableControl__factory.ts +84 -0
- package/types/factories/Pausable__factory.ts +62 -0
- package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
- package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
- package/types/factories/ProtocolUpgrade__factory.ts +1 -1
- package/types/factories/ReputationTestHelper__factory.ts +1 -1
- package/types/factories/Reputation__factory.ts +1 -1
- package/types/factories/RewardsMinter__factory.ts +47 -0
- package/types/factories/StakersDistribution__factory.ts +1 -1
- package/types/factories/StakingMockFixedAPY__factory.ts +745 -0
- package/types/factories/StakingRewardsFixedAPY__factory.ts +287 -0
- package/types/factories/SwapHelperTest__factory.ts +1 -1
- package/types/factories/UBIScheme__factory.ts +1 -1
- package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
- package/types/factories/UpgradableMock2__factory.ts +1 -1
- package/types/factories/UpgradableMock3__factory.ts +1 -1
- package/types/factories/UpgradableMock4__factory.ts +1 -1
- package/types/factories/UpgradableMock__factory.ts +1 -1
- package/types/hardhat.d.ts +225 -9
- package/types/index.ts +50 -4
- package/yarn.lock +180 -104
- package/types/factories/BulkProof__factory.ts +0 -89
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"Math64x64","sourceName":"contracts/staking/utils/Math64X64.sol","abi":[],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"MultichainBridgeHelper","sourceName":"contracts/utils/MultichainBridgeHelper.sol","abi":[{"inputs":[],"name":"anyGoodDollar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"goodDollar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multiChainBridge","outputs":[{"internalType":"contract IMultichainRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"onTokenTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"MultichainRouterMock","sourceName":"contracts/mocks/MultichainRouterMock.sol","abi":[{"inputs":[{"internalType":"contract IWrapper","name":"_wrapper","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"AnySwap","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"}],"name":"anySwapOut","outputs":[],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"_format":"hh-sol-artifact-1","contractName":"OverMintTester","sourceName":"contracts/mocks/OverMintTester.sol","abi":[{"inputs":[{"internalType":"contract ERC20","name":"_stakingToken","type":"address"},{"internalType":"contract
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"OverMintTester","sourceName":"contracts/mocks/OverMintTester.sol","abi":[{"inputs":[{"internalType":"contract ERC20","name":"_stakingToken","type":"address"},{"internalType":"contract IGoodDollarStakingTest","name":"_stakingContract","type":"address"},{"internalType":"contract ERC20","name":"_rewardToken","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"overMintTest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stakingContract","outputs":[{"internalType":"contract IGoodDollarStakingTest","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stakingToken","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"PausableControl","sourceName":"contracts/utils/GoodDollarMintBurnWrapper.sol","abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"PAUSE_ALL_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"RewardsMinter","sourceName":"contracts/governance/GoodDollarStaking.sol","abi":[{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendOrMint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"StakingMockFixedAPY","sourceName":"contracts/mocks/StakingMockFixedAPY.sol","abi":[{"inputs":[{"internalType":"uint128","name":"_interestRatePerBlock","type":"uint128"}],"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":"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":"PRECISION","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SHARE_DECIMALS","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SHARE_PRECISION","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","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":"uint256","name":"_amount","type":"uint256"}],"name":"amountToShares","outputs":[{"internalType":"uint256","name":"shares","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":[],"name":"compound","outputs":[{"internalType":"uint256","name":"compoundedSavings","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compoundNextBlock","outputs":[{"internalType":"uint256","name":"compoundedSavings","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address","name":"_account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"earnedRewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getSavings","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"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":[],"name":"interestRatePerBlockX64","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"lastSharePrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"principle","outputs":[{"internalType":"uint256","name":"deposited","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"_interestRatePerBlock","type":"uint128"}],"name":"setAPY","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharePrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"sharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sharesSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakersInfo","outputs":[{"internalType":"uint128","name":"lastSharePrice","type":"uint128"},{"internalType":"uint128","name":"rewardsPaid","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stats","outputs":[{"internalType":"uint128","name":"lastUpdateBlock","type":"uint128"},{"internalType":"uint128","name":"totalStaked","type":"uint128"},{"internalType":"uint128","name":"totalRewardsPaid","type":"uint128"},{"internalType":"uint256","name":"savings","type":"uint256"}],"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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"undoReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_shares","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"uint256","name":"depositComponent","type":"uint256"},{"internalType":"uint256","name":"rewardComponent","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_shares","type":"uint256"}],"name":"withdrawAndUndo","outputs":[{"internalType":"uint256","name":"depositComponent","type":"uint256"},{"internalType":"uint256","name":"rewardComponent","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"StakingRewardsFixedAPY","sourceName":"contracts/staking/utils/StakingRewardsFixedAPY.sol","abi":[{"inputs":[],"name":"PRECISION","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SHARE_DECIMALS","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SHARE_PRECISION","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"amountToShares","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"earnedRewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRewardsDebt","outputs":[{"internalType":"uint256","name":"debt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"getSavings","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interestRatePerBlockX64","outputs":[{"internalType":"int128","name":"","type":"int128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"lastSharePrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"principle","outputs":[{"internalType":"uint256","name":"deposited","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sharePrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"sharesOf","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sharesSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"stakersInfo","outputs":[{"internalType":"uint128","name":"lastSharePrice","type":"uint128"},{"internalType":"uint128","name":"rewardsPaid","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"stats","outputs":[{"internalType":"uint128","name":"lastUpdateBlock","type":"uint128"},{"internalType":"uint128","name":"totalStaked","type":"uint128"},{"internalType":"uint128","name":"totalRewardsPaid","type":"uint128"},{"internalType":"uint256","name":"savings","type":"uint256"}],"stateMutability":"view","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"TokenOperation","sourceName":"contracts/utils/GoodDollarMintBurnWrapper.sol","abi":[],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"_format":"hh-sol-artifact-1","contractName":"cERC20","sourceName":"contracts/Interfaces.sol","abi":[{"anonymous":false,"inputs":[{"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":"Transfer","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":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"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":"addr","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeRateCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeRateStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"redeemUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"to","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":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
1
|
+
{"_format":"hh-sol-artifact-1","contractName":"cERC20","sourceName":"contracts/Interfaces.sol","abi":[{"anonymous":false,"inputs":[{"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":"Transfer","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":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"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":"addr","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeRateCurrent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeRateStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"mintAmount","type":"uint256"}],"name":"redeemUnderlying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"to","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":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"}],"linkReferences":{},"deployedLinkReferences":{}}
|
|
@@ -126,6 +126,19 @@
|
|
|
126
126
|
"stateMutability": "view",
|
|
127
127
|
"type": "function"
|
|
128
128
|
},
|
|
129
|
+
{
|
|
130
|
+
"inputs": [
|
|
131
|
+
{
|
|
132
|
+
"internalType": "uint256",
|
|
133
|
+
"name": "amount",
|
|
134
|
+
"type": "uint256"
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"name": "burn",
|
|
138
|
+
"outputs": [],
|
|
139
|
+
"stateMutability": "nonpayable",
|
|
140
|
+
"type": "function"
|
|
141
|
+
},
|
|
129
142
|
{
|
|
130
143
|
"inputs": [],
|
|
131
144
|
"name": "decimals",
|
|
@@ -183,6 +183,19 @@
|
|
|
183
183
|
"stateMutability": "view",
|
|
184
184
|
"type": "function"
|
|
185
185
|
},
|
|
186
|
+
{
|
|
187
|
+
"inputs": [
|
|
188
|
+
{
|
|
189
|
+
"internalType": "uint256",
|
|
190
|
+
"name": "amount",
|
|
191
|
+
"type": "uint256"
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"name": "burn",
|
|
195
|
+
"outputs": [],
|
|
196
|
+
"stateMutability": "nonpayable",
|
|
197
|
+
"type": "function"
|
|
198
|
+
},
|
|
186
199
|
{
|
|
187
200
|
"inputs": [
|
|
188
201
|
{
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IMultichainRouter",
|
|
4
|
+
"sourceName": "contracts/Interfaces.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "token",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "to",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "uint256",
|
|
20
|
+
"name": "amount",
|
|
21
|
+
"type": "uint256"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "toChainID",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"name": "anySwapOut",
|
|
30
|
+
"outputs": [],
|
|
31
|
+
"stateMutability": "nonpayable",
|
|
32
|
+
"type": "function"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"inputs": [
|
|
36
|
+
{
|
|
37
|
+
"internalType": "address",
|
|
38
|
+
"name": "token",
|
|
39
|
+
"type": "address"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"internalType": "address",
|
|
43
|
+
"name": "to",
|
|
44
|
+
"type": "address"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"internalType": "uint256",
|
|
48
|
+
"name": "amount",
|
|
49
|
+
"type": "uint256"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"internalType": "uint256",
|
|
53
|
+
"name": "toChainID",
|
|
54
|
+
"type": "uint256"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"name": "anySwapOutUnderlying",
|
|
58
|
+
"outputs": [],
|
|
59
|
+
"stateMutability": "nonpayable",
|
|
60
|
+
"type": "function"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"bytecode": "0x",
|
|
64
|
+
"deployedBytecode": "0x",
|
|
65
|
+
"linkReferences": {},
|
|
66
|
+
"deployedLinkReferences": {}
|
|
67
|
+
}
|
|
@@ -126,6 +126,19 @@
|
|
|
126
126
|
"stateMutability": "view",
|
|
127
127
|
"type": "function"
|
|
128
128
|
},
|
|
129
|
+
{
|
|
130
|
+
"inputs": [
|
|
131
|
+
{
|
|
132
|
+
"internalType": "uint256",
|
|
133
|
+
"name": "amount",
|
|
134
|
+
"type": "uint256"
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
"name": "burn",
|
|
138
|
+
"outputs": [],
|
|
139
|
+
"stateMutability": "nonpayable",
|
|
140
|
+
"type": "function"
|
|
141
|
+
},
|
|
129
142
|
{
|
|
130
143
|
"inputs": [],
|
|
131
144
|
"name": "decimals",
|
|
@@ -318,8 +318,8 @@
|
|
|
318
318
|
"type": "receive"
|
|
319
319
|
}
|
|
320
320
|
],
|
|
321
|
-
"bytecode": "0x608060405234801561001057600080fd5b50611619806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea26469706673582212205a58709ad2f58e2ab700545c57d90be66138c290b726d33be7ef4ef15348d0d964736f6c63430008080033",
|
|
322
|
-
"deployedBytecode": "0x6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea26469706673582212205a58709ad2f58e2ab700545c57d90be66138c290b726d33be7ef4ef15348d0d964736f6c63430008080033",
|
|
321
|
+
"bytecode": "0x608060405234801561001057600080fd5b50611619806100206000396000f3fe6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea2646970667358221220044b6cab0cd579c2f09b9952ed73d74e995884b36d5ecead6e11dbac847992b464736f6c63430008080033",
|
|
322
|
+
"deployedBytecode": "0x6080604052600436106100e85760003560e01c8063119e5bf3146100f45780632c159a1a1461012a5780632d000cc01461014a5780633771dcf8146101615780635bc758e2146101815780635c9302c9146101a557806378e97925146101bb5780637befab10146101d157806389b08f111461020a57806393a08de414610273578063a4c0ed3614610290578063aa31e459146102c0578063c4d66de8146102f0578063c5da103314610310578063cce987d414610348578063e6ea39391461036c578063e97eefd214610382578063f84b40f5146103a2578063fe173b97146103b857600080fd5b366100ef57005b600080fd5b34801561010057600080fd5b50600b54610114906001600160a01b031681565b604051610121919061121b565b60405180910390f35b34801561013657600080fd5b50600654610114906001600160a01b031681565b34801561015657600080fd5b5061015f6103f7565b005b34801561016d57600080fd5b5061015f61017c366004611244565b61052b565b34801561018d57600080fd5b5061019760035481565b604051908152602001610121565b3480156101b157600080fd5b5061019760055481565b3480156101c757600080fd5b5061019760045481565b3480156101dd57600080fd5b50600a546101f590600160601b900463ffffffff1681565b60405163ffffffff9091168152602001610121565b34801561021657600080fd5b5061024f610225366004611244565b6009602052600090815260409020546001600160801b03811690600160801b900463ffffffff1682565b604080516001600160801b03909316835263ffffffff909116602083015201610121565b34801561027f57600080fd5b50600a546101f59063ffffffff1681565b34801561029c57600080fd5b506102b06102ab366004611268565b610963565b6040519015158152602001610121565b3480156102cc57600080fd5b506102b06102db366004611244565b60086020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061015f61030b366004611244565b610b8c565b34801561031c57600080fd5b5061019761032b3660046112f0565b600760209081526000928352604080842090915290825290205481565b34801561035457600080fd5b50600a546101f590600160801b900463ffffffff1681565b34801561037857600080fd5b5061019760025481565b34801561038e57600080fd5b506102b061039d366004611244565b610cdc565b3480156103ae57600080fd5b5061019760015481565b3480156103c457600080fd5b50600a546103df90600160201b90046001600160401b031681565b6040516001600160401b039091168152602001610121565b600a8054600160201b600160601b031916629502f9602a1b1790819055610432906001600160401b03600160201b90910416620927c0611336565b6001600160401b0316600281815561044a9190611365565b600155600a805463ffffffff600160601b03600160a01b03191660036501f40000000160611b01179055600b805473495d133b938596c9984d462f007b676bdc57ecec6001600160a01b0319909116811790915560405163095ea7b360e01b815273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb56004820152600019602482015263095ea7b390604401602060405180830381600087803b1580156104f057600080fd5b505af1158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190611384565b50565b60005a905081610539610fc8565b6005546001600160a01b0382166000908152600960205260409020546001600160801b03908116911614158061059b5750600a546001600160a01b03821660009081526009602052604090205463ffffffff918216600160801b909104909116105b6105e15760405162461bcd60e51b81526020600482015260126024820152716d6178206461696c7920746f7070696e677360701b60448201526064015b60405180910390fd5b600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061061190849060040161121b565b60206040518083038186803b15801561062957600080fd5b505afa15801561063d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106619190611384565b8061068557506001600160a01b03811660009081526008602052604090205460ff16155b6106e05760405162461bcd60e51b815260206004820152602660248201527f55736572206e6f742077686974656c6973746564206f72206e6f742066697273604482015265742074696d6560d01b60648201526084016105d8565b600060076005546106f191906113bc565b6001600160a01b0383166000908152600960205260408120546005549293509091610725916001600160801b0316906113d0565b9050600781116107355780610738565b60075b90508181116107475780610752565b6107528260016113e7565b90506000816107628460016113e7565b61076c91906113d0565b90505b8281116107e4576001600160a01b038416600090815260096020526040812060010182600781106107a2576107a26113ff565b600291828204019190066010026101000a8154816001600160801b0302191690836001600160801b0316021790555080806107dc90611415565b91505061076f565b506000805b83811161085a576001600160a01b0385166000908152600960205260409020600101816007811061081c5761081c6113ff565b600291828204019190066010029054906101000a90046001600160801b0316826108469190611430565b91508061085281611415565b9150506107e9565b50600a5460015461087891600160601b900463ffffffff1690611365565b816001600160801b0316106108ec5760405162461bcd60e51b815260206004820152603460248201527f557365722077616c6c657420686173206265656e20746f7070656420746f6f206044820152736d616e792074696d65732074686973207765656b60601b60648201526084016105d8565b6108f586610fe9565b505050505a61090490826113d0565b6109109061a4106113e7565b600a5490915033906108fc9061093690600160201b90046001600160401b031684611365565b6040518115909202916000818181858888f1935050505015801561095e573d6000803e3d6000fd5b505050565b600b546000906001600160a01b031633146109a95760405162461bcd60e51b81526020600482015260066024820152651b9bdd0811c960d21b60448201526064016105d8565b600a54600160801b900463ffffffff168411156109f35760405162461bcd60e51b8152602060048201526008602482015267736c69707061676560c01b60448201526064016105d8565b60408051600280825260608201835273e3f85aad0c8dd7337427b9df5d0fb741d65eeeb59260009291906020830190803683370190505090503381600081518110610a4057610a406113ff565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190611471565b81600181518110610ae457610ae46113ff565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe590610b2890899060009086908d90429060040161148e565b600060405180830381600087803b158015610b4257600080fd5b505af1158015610b56573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7e91908101906114ff565b506001979650505050505050565b600054610100900460ff1680610ba5575060005460ff16155b610c085760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d8565b600054610100900460ff16158015610c2a576000805461ffff19166101011790555b600a8054600160201b600160601b031916629502f9602a1b1790819055610c65906001600160401b03600160201b90910416620927c0611336565b6001600160401b03166002818155610c7d9190611365565b600155600a805442600455600680546001600160a01b0319166001600160a01b03861617905563ffffffff600160601b03600160a01b03191660036501f40000000160611b011790558015610cd8576000805461ff00191690555b5050565b6000806201518060045442610cf191906113d0565b610cfb91906115b0565b6001600160a01b038416600090815260096020526040812054919250906001600160801b038084169116141580610d5857506001600160a01b0384166000908152600960205260409020546003600160801b90910463ffffffff16105b8015610e035750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610d8f90879060040161121b565b60206040518083038186803b158015610da757600080fd5b505afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190611384565b80610e0357506001600160a01b03841660009081526008602052604090205460ff16155b6001600160a01b038516600090815260096020526040808220815160e0810192839052939450919291600101906007908285855b82829054906101000a90046001600160801b03166001600160801b031681526020019060100190602082600f01049283019260010382029150808411610e37579050505050505090506000600784610e8f91906113bc565b6001600160a01b03871660009081526009602052604081205491925090610ebf906001600160801b0316866113d0565b905060078111610ecf5780610ed2565b60075b9050818111610ee15780610eec565b610eec8260016113e7565b9050600081610efc8460016113e7565b610f0691906113d0565b90505b828111610f49576000848260078110610f2457610f246113ff565b6001600160801b03909216602092909202015280610f4181611415565b915050610f09565b506000805b838111610f8a57848160078110610f6757610f676113ff565b6020020151610f769083611430565b915080610f8281611415565b915050610f4e565b50848015610fbc5750600a54600154610fb091600160601b900463ffffffff1690611365565b816001600160801b0316105b98975050505050505050565b6201518060045442610fda91906113d0565b610fe491906115b0565b600555565b806001600160a01b0316316002541161100157600080fd5b6000816001600160a01b03163160025461101b91906113d0565b90506000600760055461102e91906113bc565b6005546001600160a01b0385166000908152600960205260409020549192506001600160801b03918216911614156110bc576001600160a01b0383166000908152600960205260409020805460019190601090611099908490600160801b900463ffffffff166115c4565b92506101000a81548163ffffffff021916908363ffffffff1602179055506110e9565b6001600160a01b0383166000908152600960205260409020805463ffffffff60801b1916600160801b1790555b6005546001600160a01b038416600090815260096020526040902080546001600160801b0319166001600160801b0390921691909117815582906001018260078110611137576111376113ff565b600291828204019190066010028282829054906101000a90046001600160801b03166111639190611430565b82546001600160801b039182166101009390930a9283029190920219909116179055506001600160a01b038316600081815260086020526040808220805460ff191660011790555184156108fc0291859190818181858888f193505050501580156111d2573d6000803e3d6000fd5b50826001600160a01b03167ff60e56b8021f6ac77bd50d4acdbed9ad9e85107144d43090774a9ebe5ffed9858360405161120e91815260200190565b60405180910390a2505050565b6001600160a01b0391909116815260200190565b6001600160a01b038116811461052857600080fd5b60006020828403121561125657600080fd5b81356112618161122f565b9392505050565b6000806000806060858703121561127e57600080fd5b84356112898161122f565b93506020850135925060408501356001600160401b03808211156112ac57600080fd5b818701915087601f8301126112c057600080fd5b8135818111156112cf57600080fd5b8860208285010111156112e157600080fd5b95989497505060200194505050565b6000806040838503121561130357600080fd5b8235915060208301356113158161122f565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b038281168482168115158284048211161561135c5761135c611320565b02949350505050565b600081600019048311821515161561137f5761137f611320565b500290565b60006020828403121561139657600080fd5b8151801515811461126157600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113cb576113cb6113a6565b500690565b6000828210156113e2576113e2611320565b500390565b600082198211156113fa576113fa611320565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561142957611429611320565b5060010190565b60006001600160801b0382811684821680830382111561145257611452611320565b01949350505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561148357600080fd5b81516112618161122f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114de5784516001600160a01b0316835293830193918301916001016114b9565b50506001600160a01b03969096166060850152505050608001529392505050565b6000602080838503121561151257600080fd5b82516001600160401b038082111561152957600080fd5b818501915085601f83011261153d57600080fd5b81518181111561154f5761154f61145b565b8060051b604051601f19603f830116810181811085821117156115745761157461145b565b60405291825284820192508381018501918883111561159257600080fd5b938501935b82851015610fbc57845184529385019392850192611597565b6000826115bf576115bf6113a6565b500490565b600063ffffffff8083168185168083038211156114525761145261132056fea2646970667358221220044b6cab0cd579c2f09b9952ed73d74e995884b36d5ecead6e11dbac847992b464736f6c63430008080033",
|
|
323
323
|
"linkReferences": {},
|
|
324
324
|
"deployedLinkReferences": {}
|
|
325
325
|
}
|