@gooddollar/goodprotocol 1.0.18 → 1.0.19-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/artifacts/abis/GReputation.min.json +1 -1
  2. package/artifacts/abis/GoodAaveStaking.min.json +1 -1
  3. package/artifacts/abis/GoodAaveStakingV2.min.json +1 -1
  4. package/artifacts/abis/GoodCompoundStaking.min.json +1 -1
  5. package/artifacts/abis/GoodCompoundStakingTest.min.json +1 -1
  6. package/artifacts/abis/GoodCompoundStakingV2.min.json +1 -1
  7. package/artifacts/abis/UpgradableMock3.min.json +1 -0
  8. package/artifacts/abis/UpgradableMock4.min.json +1 -0
  9. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  12. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  14. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  36. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  37. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  38. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  39. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  40. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +15 -2
  41. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  42. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  43. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  44. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  45. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  47. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  48. package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
  49. package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +6 -6
  58. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  59. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  60. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  61. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  62. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  63. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  64. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  69. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  71. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +4 -0
  72. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +172 -0
  73. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +4 -0
  74. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +172 -0
  75. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  77. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  83. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  84. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  85. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  86. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  87. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  88. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  89. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  90. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  91. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  92. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  93. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  94. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  95. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  96. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  97. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  98. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +3 -3
  99. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  100. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +3 -3
  101. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  102. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  103. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  104. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +4 -4
  105. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  106. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +4 -4
  107. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  108. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  109. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  110. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  111. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  112. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  113. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  114. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  115. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  116. package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
  117. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  118. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  119. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  120. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  121. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  122. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  123. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  124. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  125. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  126. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  127. package/contracts/governance/GReputation.sol +8 -0
  128. package/contracts/governance/Reputation.sol +5 -3
  129. package/contracts/mocks/UpgradableMocks.sol +18 -0
  130. package/contracts/staking/SimpleStaking.sol +2 -1
  131. package/contracts/staking/SimpleStakingV2.sol +2 -1
  132. package/hardhat.config.ts +63 -8
  133. package/package.json +7 -5
  134. package/releases/deployment.json +11 -0
  135. package/scripts/multichain-deploy/basicdao-deploy.ts +256 -0
  136. package/scripts/multichain-deploy/helpers.ts +96 -0
  137. package/test/governance/ClaimersDistribution.test.ts +6 -6
  138. package/test/governance/CompoundVotingMachine.daoscheme.ts +14 -1
  139. package/test/governance/CompoundVotingMachine.guardian.test.ts +11 -1
  140. package/test/governance/GReputation.test.ts +32 -1
  141. package/test/governance/StakersDistribution.test.ts +62 -1
  142. package/test/helpers.ts +15 -0
  143. package/test/reserve/GoodMarketMaker.test.ts +11 -0
  144. package/test/reserve/GoodReserveCDai.gdx.test.ts +23 -8
  145. package/test/reserve/GoodReserveCDai.test.ts +37 -2
  146. package/test/staking/CompoundStakingFactory.test.ts +31 -0
  147. package/test/staking/DonationsStaking.test.ts +99 -2
  148. package/test/staking/GoodAaveStakingFactory.test.ts +36 -1
  149. package/test/staking/SimpleDAIStaking.test.ts +52 -2
  150. package/test/staking/StakingRewards.test.ts +38 -0
  151. package/test/staking/UsdcAaveStaking.test.ts +45 -19
  152. package/test/ubi/UBIScheme.test.ts +68 -0
  153. package/test/utils/DAOUpgradeableContract.test.ts +47 -0
  154. package/test/utils/NameService.test.ts +50 -55
  155. package/test/utils/ProxyFactory.test.ts +17 -0
  156. package/yarn.lock +607 -119
  157. package/artifacts/abis/FuseFaucet.min.json +0 -1
  158. package/artifacts/abis/InvitesV1.min.json +0 -1
  159. package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.dbg.json +0 -4
  160. package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.json +0 -200
  161. package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.dbg.json +0 -4
  162. package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.json +0 -486
  163. package/contracts/unaudited-foundation/FuseFaucet.sol +0 -120
  164. package/contracts/unaudited-foundation/InvitesV1.sol +0 -304
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -178,8 +178,8 @@
178
178
  "type": "function"
179
179
  }
180
180
  ],
181
- "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610c0961004b600039600081816103030152818161034c015281816103cc015261040c0152610c096000f3fe6080604052600436106100815760003560e01c80631b3c90a814610086578063313ce5671461009d5780633659cfe6146100be5780633e6326fc146100de5780634162169f1461010b5780634f1ef2861461012b5780635aef7de61461013e5780638da5cb5b1461015e578063c4d66de81461017e578063e1758bd81461019e575b600080fd5b34801561009257600080fd5b5061009b6101b3565b005b3480156100a957600080fd5b50604051600881526020015b60405180910390f35b3480156100ca57600080fd5b5061009b6100d9366004610952565b6102f8565b3480156100ea57600080fd5b506067546100fe906001600160a01b031681565b6040516100b5919061096f565b34801561011757600080fd5b506065546100fe906001600160a01b031681565b61009b610139366004610999565b6103c1565b34801561014a57600080fd5b506066546100fe906001600160a01b031681565b34801561016a57600080fd5b50609a546100fe906001600160a01b031681565b34801561018a57600080fd5b5061009b610199366004610952565b610472565b3480156101aa57600080fd5b506100fe610540565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102499190610a5c565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561029e57600080fd5b505afa1580156102b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d69190610a5c565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561034a5760405162461bcd60e51b815260040161034190610a79565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661037c6105dc565b6001600160a01b0316146103a25760405162461bcd60e51b815260040161034190610ab3565b604080516000808252602082019092526103be918391906105f8565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561040a5760405162461bcd60e51b815260040161034190610a79565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661043c6105dc565b6001600160a01b0316146104625760405162461bcd60e51b815260040161034190610ab3565b61046e828260016105f8565b5050565b600054610100900460ff168061048b575060005460ff16155b6104ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610341565b600054610100900460ff16158015610510576000805461ffff19166101011790555b609a80546001600160a01b0319166001600160a01b038416179055801561046e576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190610a5c565b905090565b600080516020610b8d833981519152546001600160a01b031690565b60006106026105dc565b905061060d8461073f565b60008351118061061a5750815b1561062b5761062984846107d2565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661073857805460ff191660011781556040516106a690869061067790859060240161096f565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526107d2565b50805460ff191681556106b76105dc565b6001600160a01b0316826001600160a01b03161461072f5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610341565b610738856108bd565b5050505050565b803b6107a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610341565b600080516020610b8d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6108315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610341565b600080846001600160a01b03168460405161084c9190610b1d565b600060405180830381855af49150503d8060008114610887576040519150601f19603f3d011682016040523d82523d6000602084013e61088c565b606091505b50915091506108b48282604051806060016040528060278152602001610bad602791396108fd565b95945050505050565b6108c68161073f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561090c575081610936565b82511561091c5782518084602001fd5b8160405162461bcd60e51b81526004016103419190610b39565b9392505050565b6001600160a01b03811681146103be57600080fd5b60006020828403121561096457600080fd5b81356109368161093d565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156109ac57600080fd5b82356109b78161093d565b915060208301356001600160401b03808211156109d357600080fd5b818501915085601f8301126109e757600080fd5b8135818111156109f9576109f9610983565b604051601f8201601f19908116603f01168101908382118183101715610a2157610a21610983565b81604052828152886020848701011115610a3a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610a6e57600080fd5b81516109368161093d565b6020808252602c90820152600080516020610b6d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610b6d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610b08578181015183820152602001610af0565b83811115610b17576000848401525b50505050565b60008251610b2f818460208701610aed565b9190910192915050565b6020815260008251806020840152610b58816040850160208701610aed565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f8afa6f6f54912ff890588af2ecaf8881c6c30ffc73ca45404f80b5b5dc494d764736f6c63430008080033",
182
- "deployedBytecode": "0x6080604052600436106100815760003560e01c80631b3c90a814610086578063313ce5671461009d5780633659cfe6146100be5780633e6326fc146100de5780634162169f1461010b5780634f1ef2861461012b5780635aef7de61461013e5780638da5cb5b1461015e578063c4d66de81461017e578063e1758bd81461019e575b600080fd5b34801561009257600080fd5b5061009b6101b3565b005b3480156100a957600080fd5b50604051600881526020015b60405180910390f35b3480156100ca57600080fd5b5061009b6100d9366004610952565b6102f8565b3480156100ea57600080fd5b506067546100fe906001600160a01b031681565b6040516100b5919061096f565b34801561011757600080fd5b506065546100fe906001600160a01b031681565b61009b610139366004610999565b6103c1565b34801561014a57600080fd5b506066546100fe906001600160a01b031681565b34801561016a57600080fd5b50609a546100fe906001600160a01b031681565b34801561018a57600080fd5b5061009b610199366004610952565b610472565b3480156101aa57600080fd5b506100fe610540565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102499190610a5c565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561029e57600080fd5b505afa1580156102b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d69190610a5c565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561034a5760405162461bcd60e51b815260040161034190610a79565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661037c6105dc565b6001600160a01b0316146103a25760405162461bcd60e51b815260040161034190610ab3565b604080516000808252602082019092526103be918391906105f8565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561040a5760405162461bcd60e51b815260040161034190610a79565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661043c6105dc565b6001600160a01b0316146104625760405162461bcd60e51b815260040161034190610ab3565b61046e828260016105f8565b5050565b600054610100900460ff168061048b575060005460ff16155b6104ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610341565b600054610100900460ff16158015610510576000805461ffff19166101011790555b609a80546001600160a01b0319166001600160a01b038416179055801561046e576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190610a5c565b905090565b600080516020610b8d833981519152546001600160a01b031690565b60006106026105dc565b905061060d8461073f565b60008351118061061a5750815b1561062b5761062984846107d2565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661073857805460ff191660011781556040516106a690869061067790859060240161096f565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526107d2565b50805460ff191681556106b76105dc565b6001600160a01b0316826001600160a01b03161461072f5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610341565b610738856108bd565b5050505050565b803b6107a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610341565b600080516020610b8d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6108315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610341565b600080846001600160a01b03168460405161084c9190610b1d565b600060405180830381855af49150503d8060008114610887576040519150601f19603f3d011682016040523d82523d6000602084013e61088c565b606091505b50915091506108b48282604051806060016040528060278152602001610bad602791396108fd565b95945050505050565b6108c68161073f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561090c575081610936565b82511561091c5782518084602001fd5b8160405162461bcd60e51b81526004016103419190610b39565b9392505050565b6001600160a01b03811681146103be57600080fd5b60006020828403121561096457600080fd5b81356109368161093d565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156109ac57600080fd5b82356109b78161093d565b915060208301356001600160401b03808211156109d357600080fd5b818501915085601f8301126109e757600080fd5b8135818111156109f9576109f9610983565b604051601f8201601f19908116603f01168101908382118183101715610a2157610a21610983565b81604052828152886020848701011115610a3a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610a6e57600080fd5b81516109368161093d565b6020808252602c90820152600080516020610b6d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610b6d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610b08578181015183820152602001610af0565b83811115610b17576000848401525b50505050565b60008251610b2f818460208701610aed565b9190910192915050565b6020815260008251806020840152610b58816040850160208701610aed565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f8afa6f6f54912ff890588af2ecaf8881c6c30ffc73ca45404f80b5b5dc494d764736f6c63430008080033",
181
+ "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610c0961004b600039600081816103030152818161034c015281816103cc015261040c0152610c096000f3fe6080604052600436106100815760003560e01c80631b3c90a814610086578063313ce5671461009d5780633659cfe6146100be5780633e6326fc146100de5780634162169f1461010b5780634f1ef2861461012b5780635aef7de61461013e5780638da5cb5b1461015e578063c4d66de81461017e578063e1758bd81461019e575b600080fd5b34801561009257600080fd5b5061009b6101b3565b005b3480156100a957600080fd5b50604051600881526020015b60405180910390f35b3480156100ca57600080fd5b5061009b6100d9366004610952565b6102f8565b3480156100ea57600080fd5b506067546100fe906001600160a01b031681565b6040516100b5919061096f565b34801561011757600080fd5b506065546100fe906001600160a01b031681565b61009b610139366004610999565b6103c1565b34801561014a57600080fd5b506066546100fe906001600160a01b031681565b34801561016a57600080fd5b50609a546100fe906001600160a01b031681565b34801561018a57600080fd5b5061009b610199366004610952565b610472565b3480156101aa57600080fd5b506100fe610540565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102499190610a5c565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561029e57600080fd5b505afa1580156102b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d69190610a5c565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561034a5760405162461bcd60e51b815260040161034190610a79565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661037c6105dc565b6001600160a01b0316146103a25760405162461bcd60e51b815260040161034190610ab3565b604080516000808252602082019092526103be918391906105f8565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561040a5760405162461bcd60e51b815260040161034190610a79565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661043c6105dc565b6001600160a01b0316146104625760405162461bcd60e51b815260040161034190610ab3565b61046e828260016105f8565b5050565b600054610100900460ff168061048b575060005460ff16155b6104ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610341565b600054610100900460ff16158015610510576000805461ffff19166101011790555b609a80546001600160a01b0319166001600160a01b038416179055801561046e576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190610a5c565b905090565b600080516020610b8d833981519152546001600160a01b031690565b60006106026105dc565b905061060d8461073f565b60008351118061061a5750815b1561062b5761062984846107d2565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661073857805460ff191660011781556040516106a690869061067790859060240161096f565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526107d2565b50805460ff191681556106b76105dc565b6001600160a01b0316826001600160a01b03161461072f5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610341565b610738856108bd565b5050505050565b803b6107a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610341565b600080516020610b8d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6108315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610341565b600080846001600160a01b03168460405161084c9190610b1d565b600060405180830381855af49150503d8060008114610887576040519150601f19603f3d011682016040523d82523d6000602084013e61088c565b606091505b50915091506108b48282604051806060016040528060278152602001610bad602791396108fd565b95945050505050565b6108c68161073f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561090c575081610936565b82511561091c5782518084602001fd5b8160405162461bcd60e51b81526004016103419190610b39565b9392505050565b6001600160a01b03811681146103be57600080fd5b60006020828403121561096457600080fd5b81356109368161093d565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156109ac57600080fd5b82356109b78161093d565b915060208301356001600160401b03808211156109d357600080fd5b818501915085601f8301126109e757600080fd5b8135818111156109f9576109f9610983565b604051601f8201601f19908116603f01168101908382118183101715610a2157610a21610983565b81604052828152886020848701011115610a3a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610a6e57600080fd5b81516109368161093d565b6020808252602c90820152600080516020610b6d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610b6d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610b08578181015183820152602001610af0565b83811115610b17576000848401525b50505050565b60008251610b2f818460208701610aed565b9190910192915050565b6020815260008251806020840152610b58816040850160208701610aed565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d330d9a5a31a60758f9e60c8e6e3dd8e17f7846bfe81cd3360c08839c3ea7ae264736f6c63430008080033",
182
+ "deployedBytecode": "0x6080604052600436106100815760003560e01c80631b3c90a814610086578063313ce5671461009d5780633659cfe6146100be5780633e6326fc146100de5780634162169f1461010b5780634f1ef2861461012b5780635aef7de61461013e5780638da5cb5b1461015e578063c4d66de81461017e578063e1758bd81461019e575b600080fd5b34801561009257600080fd5b5061009b6101b3565b005b3480156100a957600080fd5b50604051600881526020015b60405180910390f35b3480156100ca57600080fd5b5061009b6100d9366004610952565b6102f8565b3480156100ea57600080fd5b506067546100fe906001600160a01b031681565b6040516100b5919061096f565b34801561011757600080fd5b506065546100fe906001600160a01b031681565b61009b610139366004610999565b6103c1565b34801561014a57600080fd5b506066546100fe906001600160a01b031681565b34801561016a57600080fd5b50609a546100fe906001600160a01b031681565b34801561018a57600080fd5b5061009b610199366004610952565b610472565b3480156101aa57600080fd5b506100fe610540565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561021157600080fd5b505afa158015610225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102499190610a5c565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561029e57600080fd5b505afa1580156102b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d69190610a5c565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561034a5760405162461bcd60e51b815260040161034190610a79565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661037c6105dc565b6001600160a01b0316146103a25760405162461bcd60e51b815260040161034190610ab3565b604080516000808252602082019092526103be918391906105f8565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561040a5760405162461bcd60e51b815260040161034190610a79565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661043c6105dc565b6001600160a01b0316146104625760405162461bcd60e51b815260040161034190610ab3565b61046e828260016105f8565b5050565b600054610100900460ff168061048b575060005460ff16155b6104ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610341565b600054610100900460ff16158015610510576000805461ffff19166101011790555b609a80546001600160a01b0319166001600160a01b038416179055801561046e576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561059f57600080fd5b505afa1580156105b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d79190610a5c565b905090565b600080516020610b8d833981519152546001600160a01b031690565b60006106026105dc565b905061060d8461073f565b60008351118061061a5750815b1561062b5761062984846107d2565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661073857805460ff191660011781556040516106a690869061067790859060240161096f565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526107d2565b50805460ff191681556106b76105dc565b6001600160a01b0316826001600160a01b03161461072f5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610341565b610738856108bd565b5050505050565b803b6107a35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610341565b600080516020610b8d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6108315760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610341565b600080846001600160a01b03168460405161084c9190610b1d565b600060405180830381855af49150503d8060008114610887576040519150601f19603f3d011682016040523d82523d6000602084013e61088c565b606091505b50915091506108b48282604051806060016040528060278152602001610bad602791396108fd565b95945050505050565b6108c68161073f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060831561090c575081610936565b82511561091c5782518084602001fd5b8160405162461bcd60e51b81526004016103419190610b39565b9392505050565b6001600160a01b03811681146103be57600080fd5b60006020828403121561096457600080fd5b81356109368161093d565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156109ac57600080fd5b82356109b78161093d565b915060208301356001600160401b03808211156109d357600080fd5b818501915085601f8301126109e757600080fd5b8135818111156109f9576109f9610983565b604051601f8201601f19908116603f01168101908382118183101715610a2157610a21610983565b81604052828152886020848701011115610a3a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610a6e57600080fd5b81516109368161093d565b6020808252602c90820152600080516020610b6d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610b6d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610b08578181015183820152602001610af0565b83811115610b17576000848401525b50505050565b60008251610b2f818460208701610aed565b9190910192915050565b6020815260008251806020840152610b58816040850160208701610aed565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d330d9a5a31a60758f9e60c8e6e3dd8e17f7846bfe81cd3360c08839c3ea7ae264736f6c63430008080033",
183
183
  "linkReferences": {},
184
184
  "deployedLinkReferences": {}
185
185
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -152,8 +152,8 @@
152
152
  "type": "function"
153
153
  }
154
154
  ],
155
- "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610b5661004b600039600081816102ad015281816102f60152818161037f01526103bf0152610b566000f3fe60806040526004361061006b5760003560e01c80631b3c90a814610070578063313ce567146100875780633659cfe6146100a85780633e6326fc146100c85780634162169f146100f55780634f1ef286146101155780635aef7de614610128578063e1758bd814610148575b600080fd5b34801561007c57600080fd5b5061008561015d565b005b34801561009357600080fd5b50604051601281526020015b60405180910390f35b3480156100b457600080fd5b506100856100c336600461089f565b6102a2565b3480156100d457600080fd5b506067546100e8906001600160a01b031681565b60405161009f91906108bc565b34801561010157600080fd5b506065546100e8906001600160a01b031681565b6100856101233660046108e6565b610374565b34801561013457600080fd5b506066546100e8906001600160a01b031681565b34801561015457600080fd5b506100e861042e565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101bb57600080fd5b505afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906109a9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561024857600080fd5b505afa15801561025c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028091906109a9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f45760405162461bcd60e51b81526004016102eb906109c6565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103266104ca565b6001600160a01b03161461034c5760405162461bcd60e51b81526004016102eb90610a00565b610355816104e6565b6040805160008082526020820190925261037191839190610545565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103bd5760405162461bcd60e51b81526004016102eb906109c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ef6104ca565b6001600160a01b0316146104155760405162461bcd60e51b81526004016102eb90610a00565b61041e826104e6565b61042a82826001610545565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c591906109a9565b905090565b600080516020610ada833981519152546001600160a01b031690565b3373f39fd6e51aad88f6f4ce6ab8827279cfffb92266146103715760405162461bcd60e51b81526020600482015260196024820152786e6f7420617574686f72697a656420746f207570677261646560381b60448201526064016102eb565b600061054f6104ca565b905061055a8461068c565b6000835111806105675750815b1561057857610576848461071f565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661068557805460ff191660011781556040516105f39086906105c49085906024016108bc565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261071f565b50805460ff191681556106046104ca565b6001600160a01b0316826001600160a01b03161461067c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016102eb565b6106858561080a565b5050505050565b803b6106f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102eb565b600080516020610ada83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61077e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102eb565b600080846001600160a01b0316846040516107999190610a6a565b600060405180830381855af49150503d80600081146107d4576040519150601f19603f3d011682016040523d82523d6000602084013e6107d9565b606091505b50915091506108018282604051806060016040528060278152602001610afa6027913961084a565b95945050505050565b6108138161068c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315610859575081610883565b8251156108695782518084602001fd5b8160405162461bcd60e51b81526004016102eb9190610a86565b9392505050565b6001600160a01b038116811461037157600080fd5b6000602082840312156108b157600080fd5b81356108838161088a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156108f957600080fd5b82356109048161088a565b915060208301356001600160401b038082111561092057600080fd5b818501915085601f83011261093457600080fd5b813581811115610946576109466108d0565b604051601f8201601f19908116603f0116810190838211818310171561096e5761096e6108d0565b8160405282815288602084870101111561098757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156109bb57600080fd5b81516108838161088a565b6020808252602c90820152600080516020610aba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610aba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610a55578181015183820152602001610a3d565b83811115610a64576000848401525b50505050565b60008251610a7c818460208701610a3a565b9190910192915050565b6020815260008251806020840152610aa5816040850160208701610a3a565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209a9ac91372882c19fc9bd6885efb6d75ce2d05a777ec00e8116839861fb0772b64736f6c63430008080033",
156
- "deployedBytecode": "0x60806040526004361061006b5760003560e01c80631b3c90a814610070578063313ce567146100875780633659cfe6146100a85780633e6326fc146100c85780634162169f146100f55780634f1ef286146101155780635aef7de614610128578063e1758bd814610148575b600080fd5b34801561007c57600080fd5b5061008561015d565b005b34801561009357600080fd5b50604051601281526020015b60405180910390f35b3480156100b457600080fd5b506100856100c336600461089f565b6102a2565b3480156100d457600080fd5b506067546100e8906001600160a01b031681565b60405161009f91906108bc565b34801561010157600080fd5b506065546100e8906001600160a01b031681565b6100856101233660046108e6565b610374565b34801561013457600080fd5b506066546100e8906001600160a01b031681565b34801561015457600080fd5b506100e861042e565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101bb57600080fd5b505afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906109a9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561024857600080fd5b505afa15801561025c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028091906109a9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f45760405162461bcd60e51b81526004016102eb906109c6565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103266104ca565b6001600160a01b03161461034c5760405162461bcd60e51b81526004016102eb90610a00565b610355816104e6565b6040805160008082526020820190925261037191839190610545565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103bd5760405162461bcd60e51b81526004016102eb906109c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ef6104ca565b6001600160a01b0316146104155760405162461bcd60e51b81526004016102eb90610a00565b61041e826104e6565b61042a82826001610545565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c591906109a9565b905090565b600080516020610ada833981519152546001600160a01b031690565b3373f39fd6e51aad88f6f4ce6ab8827279cfffb92266146103715760405162461bcd60e51b81526020600482015260196024820152786e6f7420617574686f72697a656420746f207570677261646560381b60448201526064016102eb565b600061054f6104ca565b905061055a8461068c565b6000835111806105675750815b1561057857610576848461071f565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661068557805460ff191660011781556040516105f39086906105c49085906024016108bc565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261071f565b50805460ff191681556106046104ca565b6001600160a01b0316826001600160a01b03161461067c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016102eb565b6106858561080a565b5050505050565b803b6106f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102eb565b600080516020610ada83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61077e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102eb565b600080846001600160a01b0316846040516107999190610a6a565b600060405180830381855af49150503d80600081146107d4576040519150601f19603f3d011682016040523d82523d6000602084013e6107d9565b606091505b50915091506108018282604051806060016040528060278152602001610afa6027913961084a565b95945050505050565b6108138161068c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315610859575081610883565b8251156108695782518084602001fd5b8160405162461bcd60e51b81526004016102eb9190610a86565b9392505050565b6001600160a01b038116811461037157600080fd5b6000602082840312156108b157600080fd5b81356108838161088a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156108f957600080fd5b82356109048161088a565b915060208301356001600160401b038082111561092057600080fd5b818501915085601f83011261093457600080fd5b813581811115610946576109466108d0565b604051601f8201601f19908116603f0116810190838211818310171561096e5761096e6108d0565b8160405282815288602084870101111561098757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156109bb57600080fd5b81516108838161088a565b6020808252602c90820152600080516020610aba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610aba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610a55578181015183820152602001610a3d565b83811115610a64576000848401525b50505050565b60008251610a7c818460208701610a3a565b9190910192915050565b6020815260008251806020840152610aa5816040850160208701610a3a565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209a9ac91372882c19fc9bd6885efb6d75ce2d05a777ec00e8116839861fb0772b64736f6c63430008080033",
155
+ "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610b5661004b600039600081816102ad015281816102f60152818161037f01526103bf0152610b566000f3fe60806040526004361061006b5760003560e01c80631b3c90a814610070578063313ce567146100875780633659cfe6146100a85780633e6326fc146100c85780634162169f146100f55780634f1ef286146101155780635aef7de614610128578063e1758bd814610148575b600080fd5b34801561007c57600080fd5b5061008561015d565b005b34801561009357600080fd5b50604051601281526020015b60405180910390f35b3480156100b457600080fd5b506100856100c336600461089f565b6102a2565b3480156100d457600080fd5b506067546100e8906001600160a01b031681565b60405161009f91906108bc565b34801561010157600080fd5b506065546100e8906001600160a01b031681565b6100856101233660046108e6565b610374565b34801561013457600080fd5b506066546100e8906001600160a01b031681565b34801561015457600080fd5b506100e861042e565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101bb57600080fd5b505afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906109a9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561024857600080fd5b505afa15801561025c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028091906109a9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f45760405162461bcd60e51b81526004016102eb906109c6565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103266104ca565b6001600160a01b03161461034c5760405162461bcd60e51b81526004016102eb90610a00565b610355816104e6565b6040805160008082526020820190925261037191839190610545565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103bd5760405162461bcd60e51b81526004016102eb906109c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ef6104ca565b6001600160a01b0316146104155760405162461bcd60e51b81526004016102eb90610a00565b61041e826104e6565b61042a82826001610545565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c591906109a9565b905090565b600080516020610ada833981519152546001600160a01b031690565b3373f39fd6e51aad88f6f4ce6ab8827279cfffb92266146103715760405162461bcd60e51b81526020600482015260196024820152786e6f7420617574686f72697a656420746f207570677261646560381b60448201526064016102eb565b600061054f6104ca565b905061055a8461068c565b6000835111806105675750815b1561057857610576848461071f565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661068557805460ff191660011781556040516105f39086906105c49085906024016108bc565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261071f565b50805460ff191681556106046104ca565b6001600160a01b0316826001600160a01b03161461067c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016102eb565b6106858561080a565b5050505050565b803b6106f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102eb565b600080516020610ada83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61077e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102eb565b600080846001600160a01b0316846040516107999190610a6a565b600060405180830381855af49150503d80600081146107d4576040519150601f19603f3d011682016040523d82523d6000602084013e6107d9565b606091505b50915091506108018282604051806060016040528060278152602001610afa6027913961084a565b95945050505050565b6108138161068c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315610859575081610883565b8251156108695782518084602001fd5b8160405162461bcd60e51b81526004016102eb9190610a86565b9392505050565b6001600160a01b038116811461037157600080fd5b6000602082840312156108b157600080fd5b81356108838161088a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156108f957600080fd5b82356109048161088a565b915060208301356001600160401b038082111561092057600080fd5b818501915085601f83011261093457600080fd5b813581811115610946576109466108d0565b604051601f8201601f19908116603f0116810190838211818310171561096e5761096e6108d0565b8160405282815288602084870101111561098757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156109bb57600080fd5b81516108838161088a565b6020808252602c90820152600080516020610aba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610aba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610a55578181015183820152602001610a3d565b83811115610a64576000848401525b50505050565b60008251610a7c818460208701610a3a565b9190910192915050565b6020815260008251806020840152610aa5816040850160208701610a3a565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122035dde85c9461b1c840b1110ca145a632f660f346cc449e9e1ca70352ac3e4de364736f6c63430008080033",
156
+ "deployedBytecode": "0x60806040526004361061006b5760003560e01c80631b3c90a814610070578063313ce567146100875780633659cfe6146100a85780633e6326fc146100c85780634162169f146100f55780634f1ef286146101155780635aef7de614610128578063e1758bd814610148575b600080fd5b34801561007c57600080fd5b5061008561015d565b005b34801561009357600080fd5b50604051601281526020015b60405180910390f35b3480156100b457600080fd5b506100856100c336600461089f565b6102a2565b3480156100d457600080fd5b506067546100e8906001600160a01b031681565b60405161009f91906108bc565b34801561010157600080fd5b506065546100e8906001600160a01b031681565b6100856101233660046108e6565b610374565b34801561013457600080fd5b506066546100e8906001600160a01b031681565b34801561015457600080fd5b506100e861042e565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101bb57600080fd5b505afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906109a9565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561024857600080fd5b505afa15801561025c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028091906109a9565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102f45760405162461bcd60e51b81526004016102eb906109c6565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103266104ca565b6001600160a01b03161461034c5760405162461bcd60e51b81526004016102eb90610a00565b610355816104e6565b6040805160008082526020820190925261037191839190610545565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103bd5760405162461bcd60e51b81526004016102eb906109c6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103ef6104ca565b6001600160a01b0316146104155760405162461bcd60e51b81526004016102eb90610a00565b61041e826104e6565b61042a82826001610545565b5050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c591906109a9565b905090565b600080516020610ada833981519152546001600160a01b031690565b3373f39fd6e51aad88f6f4ce6ab8827279cfffb92266146103715760405162461bcd60e51b81526020600482015260196024820152786e6f7420617574686f72697a656420746f207570677261646560381b60448201526064016102eb565b600061054f6104ca565b905061055a8461068c565b6000835111806105675750815b1561057857610576848461071f565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661068557805460ff191660011781556040516105f39086906105c49085906024016108bc565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b17905261071f565b50805460ff191681556106046104ca565b6001600160a01b0316826001600160a01b03161461067c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016102eb565b6106858561080a565b5050505050565b803b6106f05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102eb565b600080516020610ada83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b61077e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016102eb565b600080846001600160a01b0316846040516107999190610a6a565b600060405180830381855af49150503d80600081146107d4576040519150601f19603f3d011682016040523d82523d6000602084013e6107d9565b606091505b50915091506108018282604051806060016040528060278152602001610afa6027913961084a565b95945050505050565b6108138161068c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60608315610859575081610883565b8251156108695782518084602001fd5b8160405162461bcd60e51b81526004016102eb9190610a86565b9392505050565b6001600160a01b038116811461037157600080fd5b6000602082840312156108b157600080fd5b81356108838161088a565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156108f957600080fd5b82356109048161088a565b915060208301356001600160401b038082111561092057600080fd5b818501915085601f83011261093457600080fd5b813581811115610946576109466108d0565b604051601f8201601f19908116603f0116810190838211818310171561096e5761096e6108d0565b8160405282815288602084870101111561098757600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156109bb57600080fd5b81516108838161088a565b6020808252602c90820152600080516020610aba83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610aba83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610a55578181015183820152602001610a3d565b83811115610a64576000848401525b50505050565b60008251610a7c818460208701610a3a565b9190910192915050565b6020815260008251806020840152610aa5816040850160208701610a3a565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122035dde85c9461b1c840b1110ca145a632f660f346cc449e9e1ca70352ac3e4de364736f6c63430008080033",
157
157
  "linkReferences": {},
158
158
  "deployedLinkReferences": {}
159
159
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
+ }
@@ -0,0 +1,172 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "UpgradableMock3",
4
+ "sourceName": "contracts/mocks/UpgradableMocks.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "previousAdmin",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "newAdmin",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "AdminChanged",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "beacon",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "BeaconUpgraded",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "implementation",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "Upgraded",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "avatar",
54
+ "outputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "stateMutability": "view",
62
+ "type": "function"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "dao",
67
+ "outputs": [
68
+ {
69
+ "internalType": "contract Controller",
70
+ "name": "",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "decimals",
80
+ "outputs": [
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "stateMutability": "pure",
88
+ "type": "function"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "contract INameService",
94
+ "name": "_ns",
95
+ "type": "address"
96
+ }
97
+ ],
98
+ "name": "initialize",
99
+ "outputs": [],
100
+ "stateMutability": "nonpayable",
101
+ "type": "function"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "nameService",
106
+ "outputs": [
107
+ {
108
+ "internalType": "contract INameService",
109
+ "name": "",
110
+ "type": "address"
111
+ }
112
+ ],
113
+ "stateMutability": "view",
114
+ "type": "function"
115
+ },
116
+ {
117
+ "inputs": [],
118
+ "name": "nativeToken",
119
+ "outputs": [
120
+ {
121
+ "internalType": "contract IGoodDollar",
122
+ "name": "",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "stateMutability": "view",
127
+ "type": "function"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "updateAvatar",
132
+ "outputs": [],
133
+ "stateMutability": "nonpayable",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "address",
140
+ "name": "newImplementation",
141
+ "type": "address"
142
+ }
143
+ ],
144
+ "name": "upgradeTo",
145
+ "outputs": [],
146
+ "stateMutability": "nonpayable",
147
+ "type": "function"
148
+ },
149
+ {
150
+ "inputs": [
151
+ {
152
+ "internalType": "address",
153
+ "name": "newImplementation",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "internalType": "bytes",
158
+ "name": "data",
159
+ "type": "bytes"
160
+ }
161
+ ],
162
+ "name": "upgradeToAndCall",
163
+ "outputs": [],
164
+ "stateMutability": "payable",
165
+ "type": "function"
166
+ }
167
+ ],
168
+ "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610cdd61004b600039600081816102d801528181610321015281816103aa01526103ea0152610cdd6000f3fe6080604052600436106100765760003560e01c80631b3c90a81461007b578063313ce567146100925780633659cfe6146100b35780633e6326fc146100d35780634162169f146101005780634f1ef286146101205780635aef7de614610133578063c4d66de814610153578063e1758bd814610173575b600080fd5b34801561008757600080fd5b50610090610188565b005b34801561009e57600080fd5b50604051600381526020015b60405180910390f35b3480156100bf57600080fd5b506100906100ce366004610a26565b6102cd565b3480156100df57600080fd5b506067546100f3906001600160a01b031681565b6040516100aa9190610a43565b34801561010c57600080fd5b506065546100f3906001600160a01b031681565b61009061012e366004610a6d565b61039f565b34801561013f57600080fd5b506066546100f3906001600160a01b031681565b34801561015f57600080fd5b5061009061016e366004610a26565b610459565b34801561017f57600080fd5b506100f3610515565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101e657600080fd5b505afa1580156101fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021e9190610b30565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610b30565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561031f5760405162461bcd60e51b815260040161031690610b4d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103516105b1565b6001600160a01b0316146103775760405162461bcd60e51b815260040161031690610b87565b610380816105cd565b6040805160008082526020820190925261039c918391906105d5565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103e85760405162461bcd60e51b815260040161031690610b4d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661041a6105b1565b6001600160a01b0316146104405760405162461bcd60e51b815260040161031690610b87565b610449826105cd565b610455828260016105d5565b5050565b600054610100900460ff1680610472575060005460ff16155b6104d55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610316565b600054610100900460ff161580156104f7576000805461ffff19166101011790555b6105008261071c565b8015610455576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190610b30565b905090565b600080516020610c61833981519152546001600160a01b031690565b61039c61073f565b60006105df6105b1565b90506105ea84610813565b6000835111806105f75750815b156106085761060684846108a6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661071557805460ff19166001178155604051610683908690610654908590602401610a43565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526108a6565b50805460ff191681556106946105b1565b6001600160a01b0316826001600160a01b03161461070c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610316565b61071585610991565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561039c610188565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561078357600080fd5b505afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190610b30565b6001600160a01b0316146108115760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610316565b565b803b6108775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610316565b600080516020610c6183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6109055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610316565b600080846001600160a01b0316846040516109209190610bf1565b600060405180830381855af49150503d806000811461095b576040519150601f19603f3d011682016040523d82523d6000602084013e610960565b606091505b50915091506109888282604051806060016040528060278152602001610c81602791396109d1565b95945050505050565b61099a81610813565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156109e0575081610a0a565b8251156109f05782518084602001fd5b8160405162461bcd60e51b81526004016103169190610c0d565b9392505050565b6001600160a01b038116811461039c57600080fd5b600060208284031215610a3857600080fd5b8135610a0a81610a11565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610a8057600080fd5b8235610a8b81610a11565b915060208301356001600160401b0380821115610aa757600080fd5b818501915085601f830112610abb57600080fd5b813581811115610acd57610acd610a57565b604051601f8201601f19908116603f01168101908382118183101715610af557610af5610a57565b81604052828152886020848701011115610b0e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610b4257600080fd5b8151610a0a81610a11565b6020808252602c90820152600080516020610c4183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610c4183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610bdc578181015183820152602001610bc4565b83811115610beb576000848401525b50505050565b60008251610c03818460208701610bc1565b9190910192915050565b6020815260008251806020840152610c2c816040850160208701610bc1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122002de3f6b3f7dde38f94479d48853058abdf013fbdbbf518b2e04c33c07aa5e0a64736f6c63430008080033",
169
+ "deployedBytecode": "0x6080604052600436106100765760003560e01c80631b3c90a81461007b578063313ce567146100925780633659cfe6146100b35780633e6326fc146100d35780634162169f146101005780634f1ef286146101205780635aef7de614610133578063c4d66de814610153578063e1758bd814610173575b600080fd5b34801561008757600080fd5b50610090610188565b005b34801561009e57600080fd5b50604051600381526020015b60405180910390f35b3480156100bf57600080fd5b506100906100ce366004610a26565b6102cd565b3480156100df57600080fd5b506067546100f3906001600160a01b031681565b6040516100aa9190610a43565b34801561010c57600080fd5b506065546100f3906001600160a01b031681565b61009061012e366004610a6d565b61039f565b34801561013f57600080fd5b506066546100f3906001600160a01b031681565b34801561015f57600080fd5b5061009061016e366004610a26565b610459565b34801561017f57600080fd5b506100f3610515565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101e657600080fd5b505afa1580156101fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021e9190610b30565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610b30565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561031f5760405162461bcd60e51b815260040161031690610b4d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103516105b1565b6001600160a01b0316146103775760405162461bcd60e51b815260040161031690610b87565b610380816105cd565b6040805160008082526020820190925261039c918391906105d5565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103e85760405162461bcd60e51b815260040161031690610b4d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661041a6105b1565b6001600160a01b0316146104405760405162461bcd60e51b815260040161031690610b87565b610449826105cd565b610455828260016105d5565b5050565b600054610100900460ff1680610472575060005460ff16155b6104d55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610316565b600054610100900460ff161580156104f7576000805461ffff19166101011790555b6105008261071c565b8015610455576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190610b30565b905090565b600080516020610c61833981519152546001600160a01b031690565b61039c61073f565b60006105df6105b1565b90506105ea84610813565b6000835111806105f75750815b156106085761060684846108a6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661071557805460ff19166001178155604051610683908690610654908590602401610a43565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526108a6565b50805460ff191681556106946105b1565b6001600160a01b0316826001600160a01b03161461070c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610316565b61071585610991565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561039c610188565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561078357600080fd5b505afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190610b30565b6001600160a01b0316146108115760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610316565b565b803b6108775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610316565b600080516020610c6183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6109055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610316565b600080846001600160a01b0316846040516109209190610bf1565b600060405180830381855af49150503d806000811461095b576040519150601f19603f3d011682016040523d82523d6000602084013e610960565b606091505b50915091506109888282604051806060016040528060278152602001610c81602791396109d1565b95945050505050565b61099a81610813565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156109e0575081610a0a565b8251156109f05782518084602001fd5b8160405162461bcd60e51b81526004016103169190610c0d565b9392505050565b6001600160a01b038116811461039c57600080fd5b600060208284031215610a3857600080fd5b8135610a0a81610a11565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610a8057600080fd5b8235610a8b81610a11565b915060208301356001600160401b0380821115610aa757600080fd5b818501915085601f830112610abb57600080fd5b813581811115610acd57610acd610a57565b604051601f8201601f19908116603f01168101908382118183101715610af557610af5610a57565b81604052828152886020848701011115610b0e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610b4257600080fd5b8151610a0a81610a11565b6020808252602c90820152600080516020610c4183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610c4183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610bdc578181015183820152602001610bc4565b83811115610beb576000848401525b50505050565b60008251610c03818460208701610bc1565b9190910192915050565b6020815260008251806020840152610c2c816040850160208701610bc1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122002de3f6b3f7dde38f94479d48853058abdf013fbdbbf518b2e04c33c07aa5e0a64736f6c63430008080033",
170
+ "linkReferences": {},
171
+ "deployedLinkReferences": {}
172
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
+ }
@@ -0,0 +1,172 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "UpgradableMock4",
4
+ "sourceName": "contracts/mocks/UpgradableMocks.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "previousAdmin",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "newAdmin",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "AdminChanged",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "beacon",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "BeaconUpgraded",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": true,
43
+ "internalType": "address",
44
+ "name": "implementation",
45
+ "type": "address"
46
+ }
47
+ ],
48
+ "name": "Upgraded",
49
+ "type": "event"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "avatar",
54
+ "outputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "stateMutability": "view",
62
+ "type": "function"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "dao",
67
+ "outputs": [
68
+ {
69
+ "internalType": "contract Controller",
70
+ "name": "",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "stateMutability": "view",
75
+ "type": "function"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "decimals",
80
+ "outputs": [
81
+ {
82
+ "internalType": "uint256",
83
+ "name": "",
84
+ "type": "uint256"
85
+ }
86
+ ],
87
+ "stateMutability": "pure",
88
+ "type": "function"
89
+ },
90
+ {
91
+ "inputs": [
92
+ {
93
+ "internalType": "contract INameService",
94
+ "name": "_ns",
95
+ "type": "address"
96
+ }
97
+ ],
98
+ "name": "initialize",
99
+ "outputs": [],
100
+ "stateMutability": "nonpayable",
101
+ "type": "function"
102
+ },
103
+ {
104
+ "inputs": [],
105
+ "name": "nameService",
106
+ "outputs": [
107
+ {
108
+ "internalType": "contract INameService",
109
+ "name": "",
110
+ "type": "address"
111
+ }
112
+ ],
113
+ "stateMutability": "view",
114
+ "type": "function"
115
+ },
116
+ {
117
+ "inputs": [],
118
+ "name": "nativeToken",
119
+ "outputs": [
120
+ {
121
+ "internalType": "contract IGoodDollar",
122
+ "name": "",
123
+ "type": "address"
124
+ }
125
+ ],
126
+ "stateMutability": "view",
127
+ "type": "function"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "updateAvatar",
132
+ "outputs": [],
133
+ "stateMutability": "nonpayable",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "address",
140
+ "name": "newImplementation",
141
+ "type": "address"
142
+ }
143
+ ],
144
+ "name": "upgradeTo",
145
+ "outputs": [],
146
+ "stateMutability": "nonpayable",
147
+ "type": "function"
148
+ },
149
+ {
150
+ "inputs": [
151
+ {
152
+ "internalType": "address",
153
+ "name": "newImplementation",
154
+ "type": "address"
155
+ },
156
+ {
157
+ "internalType": "bytes",
158
+ "name": "data",
159
+ "type": "bytes"
160
+ }
161
+ ],
162
+ "name": "upgradeToAndCall",
163
+ "outputs": [],
164
+ "stateMutability": "payable",
165
+ "type": "function"
166
+ }
167
+ ],
168
+ "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c610cdd61004b600039600081816102d801528181610321015281816103aa01526103ea0152610cdd6000f3fe6080604052600436106100765760003560e01c80631b3c90a81461007b578063313ce567146100925780633659cfe6146100b35780633e6326fc146100d35780634162169f146101005780634f1ef286146101205780635aef7de614610133578063c4d66de814610153578063e1758bd814610173575b600080fd5b34801561008757600080fd5b50610090610188565b005b34801561009e57600080fd5b50604051600481526020015b60405180910390f35b3480156100bf57600080fd5b506100906100ce366004610a26565b6102cd565b3480156100df57600080fd5b506067546100f3906001600160a01b031681565b6040516100aa9190610a43565b34801561010c57600080fd5b506065546100f3906001600160a01b031681565b61009061012e366004610a6d565b61039f565b34801561013f57600080fd5b506066546100f3906001600160a01b031681565b34801561015f57600080fd5b5061009061016e366004610a26565b610459565b34801561017f57600080fd5b506100f3610515565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101e657600080fd5b505afa1580156101fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021e9190610b30565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610b30565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561031f5760405162461bcd60e51b815260040161031690610b4d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103516105b1565b6001600160a01b0316146103775760405162461bcd60e51b815260040161031690610b87565b610380816105cd565b6040805160008082526020820190925261039c918391906105d5565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103e85760405162461bcd60e51b815260040161031690610b4d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661041a6105b1565b6001600160a01b0316146104405760405162461bcd60e51b815260040161031690610b87565b610449826105cd565b610455828260016105d5565b5050565b600054610100900460ff1680610472575060005460ff16155b6104d55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610316565b600054610100900460ff161580156104f7576000805461ffff19166101011790555b6105008261071c565b8015610455576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190610b30565b905090565b600080516020610c61833981519152546001600160a01b031690565b61039c61073f565b60006105df6105b1565b90506105ea84610813565b6000835111806105f75750815b156106085761060684846108a6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661071557805460ff19166001178155604051610683908690610654908590602401610a43565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526108a6565b50805460ff191681556106946105b1565b6001600160a01b0316826001600160a01b03161461070c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610316565b61071585610991565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561039c610188565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561078357600080fd5b505afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190610b30565b6001600160a01b0316146108115760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610316565b565b803b6108775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610316565b600080516020610c6183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6109055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610316565b600080846001600160a01b0316846040516109209190610bf1565b600060405180830381855af49150503d806000811461095b576040519150601f19603f3d011682016040523d82523d6000602084013e610960565b606091505b50915091506109888282604051806060016040528060278152602001610c81602791396109d1565b95945050505050565b61099a81610813565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156109e0575081610a0a565b8251156109f05782518084602001fd5b8160405162461bcd60e51b81526004016103169190610c0d565b9392505050565b6001600160a01b038116811461039c57600080fd5b600060208284031215610a3857600080fd5b8135610a0a81610a11565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610a8057600080fd5b8235610a8b81610a11565b915060208301356001600160401b0380821115610aa757600080fd5b818501915085601f830112610abb57600080fd5b813581811115610acd57610acd610a57565b604051601f8201601f19908116603f01168101908382118183101715610af557610af5610a57565b81604052828152886020848701011115610b0e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610b4257600080fd5b8151610a0a81610a11565b6020808252602c90820152600080516020610c4183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610c4183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610bdc578181015183820152602001610bc4565b83811115610beb576000848401525b50505050565b60008251610c03818460208701610bc1565b9190910192915050565b6020815260008251806020840152610c2c816040850160208701610bc1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e2e11efe963ec09dd6776da0580447ed0959896a09427db1c3f6e84a87407ee64736f6c63430008080033",
169
+ "deployedBytecode": "0x6080604052600436106100765760003560e01c80631b3c90a81461007b578063313ce567146100925780633659cfe6146100b35780633e6326fc146100d35780634162169f146101005780634f1ef286146101205780635aef7de614610133578063c4d66de814610153578063e1758bd814610173575b600080fd5b34801561008757600080fd5b50610090610188565b005b34801561009e57600080fd5b50604051600481526020015b60405180910390f35b3480156100bf57600080fd5b506100906100ce366004610a26565b6102cd565b3480156100df57600080fd5b506067546100f3906001600160a01b031681565b6040516100aa9190610a43565b34801561010c57600080fd5b506065546100f3906001600160a01b031681565b61009061012e366004610a6d565b61039f565b34801561013f57600080fd5b506066546100f3906001600160a01b031681565b34801561015f57600080fd5b5061009061016e366004610a26565b610459565b34801561017f57600080fd5b506100f3610515565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b1580156101e657600080fd5b505afa1580156101fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021e9190610b30565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab9190610b30565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561031f5760405162461bcd60e51b815260040161031690610b4d565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103516105b1565b6001600160a01b0316146103775760405162461bcd60e51b815260040161031690610b87565b610380816105cd565b6040805160008082526020820190925261039c918391906105d5565b50565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156103e85760405162461bcd60e51b815260040161031690610b4d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661041a6105b1565b6001600160a01b0316146104405760405162461bcd60e51b815260040161031690610b87565b610449826105cd565b610455828260016105d5565b5050565b600054610100900460ff1680610472575060005460ff16155b6104d55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610316565b600054610100900460ff161580156104f7576000805461ffff19166101011790555b6105008261071c565b8015610455576000805461ff00191690555050565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190610b30565b905090565b600080516020610c61833981519152546001600160a01b031690565b61039c61073f565b60006105df6105b1565b90506105ea84610813565b6000835111806105f75750815b156106085761060684846108a6565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661071557805460ff19166001178155604051610683908690610654908590602401610a43565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b1790526108a6565b50805460ff191681556106946105b1565b6001600160a01b0316826001600160a01b03161461070c5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610316565b61071585610991565b5050505050565b606780546001600160a01b0319166001600160a01b03831617905561039c610188565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561078357600080fd5b505afa158015610797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bb9190610b30565b6001600160a01b0316146108115760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610316565b565b803b6108775760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610316565b600080516020610c6183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6109055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610316565b600080846001600160a01b0316846040516109209190610bf1565b600060405180830381855af49150503d806000811461095b576040519150601f19603f3d011682016040523d82523d6000602084013e610960565b606091505b50915091506109888282604051806060016040528060278152602001610c81602791396109d1565b95945050505050565b61099a81610813565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156109e0575081610a0a565b8251156109f05782518084602001fd5b8160405162461bcd60e51b81526004016103169190610c0d565b9392505050565b6001600160a01b038116811461039c57600080fd5b600060208284031215610a3857600080fd5b8135610a0a81610a11565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610a8057600080fd5b8235610a8b81610a11565b915060208301356001600160401b0380821115610aa757600080fd5b818501915085601f830112610abb57600080fd5b813581811115610acd57610acd610a57565b604051601f8201601f19908116603f01168101908382118183101715610af557610af5610a57565b81604052828152886020848701011115610b0e57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215610b4257600080fd5b8151610a0a81610a11565b6020808252602c90820152600080516020610c4183398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c90820152600080516020610c4183398151915260408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015610bdc578181015183820152602001610bc4565b83811115610beb576000848401525b50505050565b60008251610c03818460208701610bc1565b9190910192915050565b6020815260008251806020840152610c2c816040850160208701610bc1565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e2e11efe963ec09dd6776da0580447ed0959896a09427db1c3f6e84a87407ee64736f6c63430008080033",
170
+ "linkReferences": {},
171
+ "deployedLinkReferences": {}
172
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/83fb1e2dcf4282d7bce00fb6387b7d97.json"
3
+ "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
4
4
  }