@gooddollar/goodprotocol 1.0.29-beta.3 → 1.0.29-beta.5

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 (339) hide show
  1. package/artifacts/abis/ERC20PresetMinterPauserUpgradeable.min.json +1 -0
  2. package/artifacts/abis/ERC677.min.json +1 -0
  3. package/artifacts/abis/ERC677Receiver.min.json +1 -0
  4. package/artifacts/abis/GoodDollar.min.json +1 -0
  5. package/artifacts/abis/IFeesFormula.min.json +1 -0
  6. package/artifacts/abis/IIdentity.min.json +1 -1
  7. package/artifacts/abis/IIdentityV2.min.json +1 -1
  8. package/artifacts/abis/IdentityV2.min.json +1 -1
  9. package/artifacts/abis/InvitesV2.min.json +1 -1
  10. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  11. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  12. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  13. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  14. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  15. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IIdentity.json +19 -0
  28. package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
  29. package/artifacts/contracts/Interfaces.sol/IIdentityV2.json +19 -0
  30. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  36. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  37. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  41. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
  42. package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.json +2 -2
  43. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  44. package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.json +2 -2
  45. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  46. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  47. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  48. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  49. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  50. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  51. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
  52. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +2 -2
  53. package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
  54. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
  55. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  56. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  57. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  58. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  59. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  60. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  61. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  62. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
  63. package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.json +33 -2
  64. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  65. package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.json +2 -2
  66. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
  67. package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.json +38 -10
  68. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  69. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  71. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.json +2 -2
  73. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.json +2 -2
  75. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.json +2 -2
  77. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  79. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
  80. package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.json +2 -2
  81. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  83. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  85. package/artifacts/contracts/mocks/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
  87. package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.json +2 -2
  88. package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
  89. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  91. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  93. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  97. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  98. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  99. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  100. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  101. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  102. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  103. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  104. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  105. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  106. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  107. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  108. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  109. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  110. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  111. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  112. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  113. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  114. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
  115. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +2 -2
  116. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  117. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  118. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  119. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  120. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  121. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  122. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +2 -2
  123. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  124. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  125. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  126. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  127. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  128. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  129. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
  130. package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.json +2 -2
  131. package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
  132. package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
  133. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  134. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  135. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  136. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  137. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  138. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  139. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  140. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  141. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  142. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  143. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  144. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  145. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  146. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  147. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  148. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  149. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  150. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  151. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
  152. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
  153. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +4 -0
  154. package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.json +755 -0
  155. package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +4 -0
  156. package/artifacts/contracts/token/ERC677.sol/ERC677.json +66 -0
  157. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +4 -0
  158. package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.json +40 -0
  159. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +4 -0
  160. package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.json +45 -0
  161. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +4 -0
  162. package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.json +1180 -0
  163. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  164. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  165. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
  166. package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +2 -2
  167. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  168. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  169. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  170. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  171. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  172. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  173. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  174. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  175. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  176. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
  177. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +2 -2
  178. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
  179. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
  180. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
  181. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +2 -2
  182. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
  183. package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.json +2 -2
  184. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  185. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  186. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  187. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  188. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  189. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  190. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  191. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  192. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  193. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  194. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  195. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  196. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  197. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  198. package/contracts/Interfaces.sol +2 -0
  199. package/contracts/fuseFaucet/Faucet.sol +5 -3
  200. package/contracts/fuseFaucet/FuseFaucet.sol +1 -2
  201. package/contracts/governance/GReputation.sol +24 -10
  202. package/contracts/identity/IdentityV2.sol +79 -28
  203. package/contracts/invite/InvitesV1.sol +5 -24
  204. package/contracts/invite/InvitesV2.sol +8 -15
  205. package/contracts/mocks/UpgradableMocks.sol +5 -3
  206. package/contracts/token/ERC20PresetMinterPauserUpgradeable.sol +140 -0
  207. package/contracts/token/ERC677.sol +74 -0
  208. package/contracts/token/FeesFormula.sol +10 -0
  209. package/contracts/token/GoodDollar.sol +234 -0
  210. package/hardhat.config.ts +5 -5
  211. package/package.json +3 -2
  212. package/releases/deployment.json +9 -5
  213. package/scripts/multichain-deploy/1_basicdao-deploy.ts +45 -28
  214. package/scripts/multichain-deploy/2_helpers-deploy.ts +1 -7
  215. package/scripts/multichain-deploy/verifyEtherscan.ts +33 -5
  216. package/test/faucet/Faucet.test.ts +184 -0
  217. package/test/{FuseFaucet.test.ts → faucet/FuseFaucet.test.ts} +4 -3
  218. package/test/governance/ClaimersDistribution.test.ts +3 -2
  219. package/test/governance/CompoundVotingMachine.castvote.test.ts +3 -2
  220. package/test/governance/CompoundVotingMachine.crossblockchain.ts +3 -2
  221. package/test/governance/CompoundVotingMachine.daoscheme.ts +3 -2
  222. package/test/governance/CompoundVotingMachine.delegate.test.ts +3 -2
  223. package/test/governance/CompoundVotingMachine.guardian.test.ts +3 -2
  224. package/test/governance/CompoundVotingMachine.propose.test.ts +3 -2
  225. package/test/governance/CompoundVotingMachine.state.test.ts +3 -2
  226. package/test/governance/GReputation.test.ts +22 -14
  227. package/test/governance/GoodDollarStaking.gd.test.ts +2 -1
  228. package/test/governance/GoodDollarStaking.good.test.ts +2 -1
  229. package/test/governance/GovernanceStaking.test.ts +4 -3
  230. package/test/governance/Reputation.test.ts +2 -1
  231. package/test/governance/StakersDistribution.test.ts +26 -12
  232. package/test/helpers.ts +61 -29
  233. package/test/identity/IdentityV2.test.ts +481 -0
  234. package/test/{InvitesV1.test.ts → invite/InvitesV1.test.ts} +4 -3
  235. package/test/invite/InvitesV2.test.ts +355 -0
  236. package/test/reserve/DistributionHelper.test.ts +2 -1
  237. package/test/reserve/GoodMarketMaker.test.ts +15 -8
  238. package/test/reserve/GoodReserveCDai.cap.test.ts +8 -1
  239. package/test/reserve/GoodReserveCDai.distribution.test.ts +2 -1
  240. package/test/reserve/GoodReserveCDai.gdx.test.ts +2 -1
  241. package/test/reserve/GoodReserveCDai.pause.test.ts +2 -1
  242. package/test/reserve/GoodReserveCDai.test.ts +11 -28
  243. package/test/reserve/GoodReserveCDai.uniswap.test.ts +20 -18
  244. package/test/staking/CompoundStakingFactory.test.ts +8 -4
  245. package/test/staking/DifferentStakingTokens.test.ts +3 -2
  246. package/test/staking/DonationsStaking.test.ts +33 -24
  247. package/test/staking/FuseStaking.test.ts +2 -2
  248. package/test/staking/GoodAaveStakingFactory.test.ts +36 -30
  249. package/test/staking/SimpleDAIStaking.test.ts +12 -16
  250. package/test/staking/StakingRewards.test.ts +22 -18
  251. package/test/staking/StakingRewardsFixedAPY.test.ts +2 -1
  252. package/test/staking/SwapHelper.test.ts +20 -17
  253. package/test/staking/UsdcAaveStaking.test.ts +36 -33
  254. package/test/token/GoodDollar.test.ts +277 -0
  255. package/test/ubi/UBIScheme.e2e.test.ts +4 -3
  256. package/test/ubi/UBIScheme.test.ts +3 -2
  257. package/test/ubi/UBISchemeCycle.test.ts +2 -1
  258. package/test/utils/AdminWallet.test.ts +2 -1
  259. package/test/utils/DAOUpgradeableContract.test.ts +3 -2
  260. package/test/utils/GoodDollarMintBurnWrapper.test.ts +2 -1
  261. package/test/utils/NameService.test.ts +37 -21
  262. package/test/utils/ProtocolUpgrade.test.ts +1 -0
  263. package/test/utils/ProxyFactory.test.ts +1 -0
  264. package/types/ERC20PermitUpgradeable.ts +522 -0
  265. package/types/ERC20PresetMinterPauserUpgradeable.ts +105 -1
  266. package/types/ERC677.ts +131 -0
  267. package/types/ERC677Receiver.ts +115 -0
  268. package/types/GoodDollar.ts +1705 -0
  269. package/types/IERC20PermitUpgradeable.ts +176 -0
  270. package/types/IFeesFormula.ts +111 -0
  271. package/types/IIdentity.ts +31 -0
  272. package/types/IIdentityV2.ts +31 -0
  273. package/types/IdentityV2.ts +69 -5
  274. package/types/InvitesV2.ts +61 -7
  275. package/types/factories/AaveStakingFactory__factory.ts +1 -1
  276. package/types/factories/AdminWallet__factory.ts +1 -1
  277. package/types/factories/BaseShareFieldV2__factory.ts +1 -1
  278. package/types/factories/BaseShareField__factory.ts +1 -1
  279. package/types/factories/ClaimersDistribution__factory.ts +1 -1
  280. package/types/factories/CompoundStakingFactory__factory.ts +1 -1
  281. package/types/factories/CompoundVotingMachine__factory.ts +1 -1
  282. package/types/factories/DAOContract__factory.ts +1 -1
  283. package/types/factories/DAOUpgradeableContract__factory.ts +1 -1
  284. package/types/factories/DistributionBridgeMock__factory.ts +1 -1
  285. package/types/factories/DistributionHelperTestHelper__factory.ts +1 -1
  286. package/types/factories/DistributionHelperTest__factory.ts +1 -1
  287. package/types/factories/DistributionHelper__factory.ts +1 -1
  288. package/types/factories/DonationsStaking__factory.ts +1 -1
  289. package/types/factories/ERC20PermitUpgradeable__factory.ts +375 -0
  290. package/types/factories/ERC20PresetMinterPauserUpgradeable__factory.ts +83 -2
  291. package/types/factories/ERC677Receiver__factory.ts +55 -0
  292. package/types/factories/ERC677__factory.ts +75 -0
  293. package/types/factories/ExchangeHelper__factory.ts +1 -1
  294. package/types/factories/Faucet__factory.ts +1 -1
  295. package/types/factories/FuseFaucet__factory.ts +1 -1
  296. package/types/factories/FuseStakingV3__factory.ts +1 -1
  297. package/types/factories/GReputation__factory.ts +1 -1
  298. package/types/factories/GoodAaveStakingV2__factory.ts +1 -1
  299. package/types/factories/GoodAaveStaking__factory.ts +1 -1
  300. package/types/factories/GoodCompoundStakingTest__factory.ts +1 -1
  301. package/types/factories/GoodCompoundStakingV2__factory.ts +1 -1
  302. package/types/factories/GoodCompoundStaking__factory.ts +1 -1
  303. package/types/factories/GoodDollarMintBurnWrapper__factory.ts +1 -1
  304. package/types/factories/GoodDollarStakingMock__factory.ts +1 -1
  305. package/types/factories/GoodDollarStaking__factory.ts +1 -1
  306. package/types/factories/GoodDollar__factory.ts +1228 -0
  307. package/types/factories/GoodFundManagerTest__factory.ts +1 -1
  308. package/types/factories/GoodFundManager__factory.ts +1 -1
  309. package/types/factories/GoodMarketMaker__factory.ts +1 -1
  310. package/types/factories/GoodReserveCDai__factory.ts +1 -1
  311. package/types/factories/GovernanceStaking__factory.ts +1 -1
  312. package/types/factories/IERC20PermitUpgradeable__factory.ts +105 -0
  313. package/types/factories/IFeesFormula__factory.ts +57 -0
  314. package/types/factories/IIdentityV2__factory.ts +19 -0
  315. package/types/factories/IIdentity__factory.ts +19 -0
  316. package/types/factories/IdentityV2__factory.ts +32 -1
  317. package/types/factories/InvitesV1__factory.ts +1 -1
  318. package/types/factories/InvitesV2__factory.ts +37 -9
  319. package/types/factories/MultichainBridgeHelper__factory.ts +1 -1
  320. package/types/factories/MultichainRouterMock__factory.ts +1 -1
  321. package/types/factories/OverMintTesterRegularStake__factory.ts +1 -1
  322. package/types/factories/OverMintTester__factory.ts +1 -1
  323. package/types/factories/ProtocolUpgradeFuseRecover__factory.ts +1 -1
  324. package/types/factories/ProtocolUpgradeFuse__factory.ts +1 -1
  325. package/types/factories/ProtocolUpgradeRecover__factory.ts +1 -1
  326. package/types/factories/ProtocolUpgrade__factory.ts +1 -1
  327. package/types/factories/ReputationTestHelper__factory.ts +1 -1
  328. package/types/factories/Reputation__factory.ts +1 -1
  329. package/types/factories/StakersDistribution__factory.ts +1 -1
  330. package/types/factories/SwapHelperTest__factory.ts +1 -1
  331. package/types/factories/UBIScheme__factory.ts +1 -1
  332. package/types/factories/UniswapV2SwapHelper__factory.ts +1 -1
  333. package/types/factories/UpgradableMock2__factory.ts +1 -1
  334. package/types/factories/UpgradableMock3__factory.ts +1 -1
  335. package/types/factories/UpgradableMock4__factory.ts +1 -1
  336. package/types/factories/UpgradableMock__factory.ts +1 -1
  337. package/types/hardhat.d.ts +63 -0
  338. package/types/index.ts +12 -0
  339. package/yarn.lock +11 -29
@@ -0,0 +1,375 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ ERC20PermitUpgradeable,
9
+ ERC20PermitUpgradeableInterface,
10
+ } from "../ERC20PermitUpgradeable";
11
+
12
+ const _abi = [
13
+ {
14
+ anonymous: false,
15
+ inputs: [
16
+ {
17
+ indexed: true,
18
+ internalType: "address",
19
+ name: "owner",
20
+ type: "address",
21
+ },
22
+ {
23
+ indexed: true,
24
+ internalType: "address",
25
+ name: "spender",
26
+ type: "address",
27
+ },
28
+ {
29
+ indexed: false,
30
+ internalType: "uint256",
31
+ name: "value",
32
+ type: "uint256",
33
+ },
34
+ ],
35
+ name: "Approval",
36
+ type: "event",
37
+ },
38
+ {
39
+ anonymous: false,
40
+ inputs: [
41
+ {
42
+ indexed: true,
43
+ internalType: "address",
44
+ name: "from",
45
+ type: "address",
46
+ },
47
+ {
48
+ indexed: true,
49
+ internalType: "address",
50
+ name: "to",
51
+ type: "address",
52
+ },
53
+ {
54
+ indexed: false,
55
+ internalType: "uint256",
56
+ name: "value",
57
+ type: "uint256",
58
+ },
59
+ ],
60
+ name: "Transfer",
61
+ type: "event",
62
+ },
63
+ {
64
+ inputs: [],
65
+ name: "DOMAIN_SEPARATOR",
66
+ outputs: [
67
+ {
68
+ internalType: "bytes32",
69
+ name: "",
70
+ type: "bytes32",
71
+ },
72
+ ],
73
+ stateMutability: "view",
74
+ type: "function",
75
+ },
76
+ {
77
+ inputs: [
78
+ {
79
+ internalType: "address",
80
+ name: "owner",
81
+ type: "address",
82
+ },
83
+ {
84
+ internalType: "address",
85
+ name: "spender",
86
+ type: "address",
87
+ },
88
+ ],
89
+ name: "allowance",
90
+ outputs: [
91
+ {
92
+ internalType: "uint256",
93
+ name: "",
94
+ type: "uint256",
95
+ },
96
+ ],
97
+ stateMutability: "view",
98
+ type: "function",
99
+ },
100
+ {
101
+ inputs: [
102
+ {
103
+ internalType: "address",
104
+ name: "spender",
105
+ type: "address",
106
+ },
107
+ {
108
+ internalType: "uint256",
109
+ name: "amount",
110
+ type: "uint256",
111
+ },
112
+ ],
113
+ name: "approve",
114
+ outputs: [
115
+ {
116
+ internalType: "bool",
117
+ name: "",
118
+ type: "bool",
119
+ },
120
+ ],
121
+ stateMutability: "nonpayable",
122
+ type: "function",
123
+ },
124
+ {
125
+ inputs: [
126
+ {
127
+ internalType: "address",
128
+ name: "account",
129
+ type: "address",
130
+ },
131
+ ],
132
+ name: "balanceOf",
133
+ outputs: [
134
+ {
135
+ internalType: "uint256",
136
+ name: "",
137
+ type: "uint256",
138
+ },
139
+ ],
140
+ stateMutability: "view",
141
+ type: "function",
142
+ },
143
+ {
144
+ inputs: [],
145
+ name: "decimals",
146
+ outputs: [
147
+ {
148
+ internalType: "uint8",
149
+ name: "",
150
+ type: "uint8",
151
+ },
152
+ ],
153
+ stateMutability: "view",
154
+ type: "function",
155
+ },
156
+ {
157
+ inputs: [
158
+ {
159
+ internalType: "address",
160
+ name: "spender",
161
+ type: "address",
162
+ },
163
+ {
164
+ internalType: "uint256",
165
+ name: "subtractedValue",
166
+ type: "uint256",
167
+ },
168
+ ],
169
+ name: "decreaseAllowance",
170
+ outputs: [
171
+ {
172
+ internalType: "bool",
173
+ name: "",
174
+ type: "bool",
175
+ },
176
+ ],
177
+ stateMutability: "nonpayable",
178
+ type: "function",
179
+ },
180
+ {
181
+ inputs: [
182
+ {
183
+ internalType: "address",
184
+ name: "spender",
185
+ type: "address",
186
+ },
187
+ {
188
+ internalType: "uint256",
189
+ name: "addedValue",
190
+ type: "uint256",
191
+ },
192
+ ],
193
+ name: "increaseAllowance",
194
+ outputs: [
195
+ {
196
+ internalType: "bool",
197
+ name: "",
198
+ type: "bool",
199
+ },
200
+ ],
201
+ stateMutability: "nonpayable",
202
+ type: "function",
203
+ },
204
+ {
205
+ inputs: [],
206
+ name: "name",
207
+ outputs: [
208
+ {
209
+ internalType: "string",
210
+ name: "",
211
+ type: "string",
212
+ },
213
+ ],
214
+ stateMutability: "view",
215
+ type: "function",
216
+ },
217
+ {
218
+ inputs: [
219
+ {
220
+ internalType: "address",
221
+ name: "owner",
222
+ type: "address",
223
+ },
224
+ ],
225
+ name: "nonces",
226
+ outputs: [
227
+ {
228
+ internalType: "uint256",
229
+ name: "",
230
+ type: "uint256",
231
+ },
232
+ ],
233
+ stateMutability: "view",
234
+ type: "function",
235
+ },
236
+ {
237
+ inputs: [
238
+ {
239
+ internalType: "address",
240
+ name: "owner",
241
+ type: "address",
242
+ },
243
+ {
244
+ internalType: "address",
245
+ name: "spender",
246
+ type: "address",
247
+ },
248
+ {
249
+ internalType: "uint256",
250
+ name: "value",
251
+ type: "uint256",
252
+ },
253
+ {
254
+ internalType: "uint256",
255
+ name: "deadline",
256
+ type: "uint256",
257
+ },
258
+ {
259
+ internalType: "uint8",
260
+ name: "v",
261
+ type: "uint8",
262
+ },
263
+ {
264
+ internalType: "bytes32",
265
+ name: "r",
266
+ type: "bytes32",
267
+ },
268
+ {
269
+ internalType: "bytes32",
270
+ name: "s",
271
+ type: "bytes32",
272
+ },
273
+ ],
274
+ name: "permit",
275
+ outputs: [],
276
+ stateMutability: "nonpayable",
277
+ type: "function",
278
+ },
279
+ {
280
+ inputs: [],
281
+ name: "symbol",
282
+ outputs: [
283
+ {
284
+ internalType: "string",
285
+ name: "",
286
+ type: "string",
287
+ },
288
+ ],
289
+ stateMutability: "view",
290
+ type: "function",
291
+ },
292
+ {
293
+ inputs: [],
294
+ name: "totalSupply",
295
+ outputs: [
296
+ {
297
+ internalType: "uint256",
298
+ name: "",
299
+ type: "uint256",
300
+ },
301
+ ],
302
+ stateMutability: "view",
303
+ type: "function",
304
+ },
305
+ {
306
+ inputs: [
307
+ {
308
+ internalType: "address",
309
+ name: "recipient",
310
+ type: "address",
311
+ },
312
+ {
313
+ internalType: "uint256",
314
+ name: "amount",
315
+ type: "uint256",
316
+ },
317
+ ],
318
+ name: "transfer",
319
+ outputs: [
320
+ {
321
+ internalType: "bool",
322
+ name: "",
323
+ type: "bool",
324
+ },
325
+ ],
326
+ stateMutability: "nonpayable",
327
+ type: "function",
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: "address",
333
+ name: "sender",
334
+ type: "address",
335
+ },
336
+ {
337
+ internalType: "address",
338
+ name: "recipient",
339
+ type: "address",
340
+ },
341
+ {
342
+ internalType: "uint256",
343
+ name: "amount",
344
+ type: "uint256",
345
+ },
346
+ ],
347
+ name: "transferFrom",
348
+ outputs: [
349
+ {
350
+ internalType: "bool",
351
+ name: "",
352
+ type: "bool",
353
+ },
354
+ ],
355
+ stateMutability: "nonpayable",
356
+ type: "function",
357
+ },
358
+ ];
359
+
360
+ export class ERC20PermitUpgradeable__factory {
361
+ static readonly abi = _abi;
362
+ static createInterface(): ERC20PermitUpgradeableInterface {
363
+ return new utils.Interface(_abi) as ERC20PermitUpgradeableInterface;
364
+ }
365
+ static connect(
366
+ address: string,
367
+ signerOrProvider: Signer | Provider
368
+ ): ERC20PermitUpgradeable {
369
+ return new Contract(
370
+ address,
371
+ _abi,
372
+ signerOrProvider
373
+ ) as ERC20PermitUpgradeable;
374
+ }
375
+ }
@@ -174,6 +174,19 @@ const _abi = [
174
174
  stateMutability: "view",
175
175
  type: "function",
176
176
  },
177
+ {
178
+ inputs: [],
179
+ name: "DOMAIN_SEPARATOR",
180
+ outputs: [
181
+ {
182
+ internalType: "bytes32",
183
+ name: "",
184
+ type: "bytes32",
185
+ },
186
+ ],
187
+ stateMutability: "view",
188
+ type: "function",
189
+ },
177
190
  {
178
191
  inputs: [],
179
192
  name: "MINTER_ROLE",
@@ -495,7 +508,13 @@ const _abi = [
495
508
  },
496
509
  ],
497
510
  name: "mint",
498
- outputs: [],
511
+ outputs: [
512
+ {
513
+ internalType: "bool",
514
+ name: "",
515
+ type: "bool",
516
+ },
517
+ ],
499
518
  stateMutability: "nonpayable",
500
519
  type: "function",
501
520
  },
@@ -512,6 +531,25 @@ const _abi = [
512
531
  stateMutability: "view",
513
532
  type: "function",
514
533
  },
534
+ {
535
+ inputs: [
536
+ {
537
+ internalType: "address",
538
+ name: "owner",
539
+ type: "address",
540
+ },
541
+ ],
542
+ name: "nonces",
543
+ outputs: [
544
+ {
545
+ internalType: "uint256",
546
+ name: "",
547
+ type: "uint256",
548
+ },
549
+ ],
550
+ stateMutability: "view",
551
+ type: "function",
552
+ },
515
553
  {
516
554
  inputs: [],
517
555
  name: "pause",
@@ -532,6 +570,49 @@ const _abi = [
532
570
  stateMutability: "view",
533
571
  type: "function",
534
572
  },
573
+ {
574
+ inputs: [
575
+ {
576
+ internalType: "address",
577
+ name: "owner",
578
+ type: "address",
579
+ },
580
+ {
581
+ internalType: "address",
582
+ name: "spender",
583
+ type: "address",
584
+ },
585
+ {
586
+ internalType: "uint256",
587
+ name: "value",
588
+ type: "uint256",
589
+ },
590
+ {
591
+ internalType: "uint256",
592
+ name: "deadline",
593
+ type: "uint256",
594
+ },
595
+ {
596
+ internalType: "uint8",
597
+ name: "v",
598
+ type: "uint8",
599
+ },
600
+ {
601
+ internalType: "bytes32",
602
+ name: "r",
603
+ type: "bytes32",
604
+ },
605
+ {
606
+ internalType: "bytes32",
607
+ name: "s",
608
+ type: "bytes32",
609
+ },
610
+ ],
611
+ name: "permit",
612
+ outputs: [],
613
+ stateMutability: "nonpayable",
614
+ type: "function",
615
+ },
535
616
  {
536
617
  inputs: [
537
618
  {
@@ -676,7 +757,7 @@ const _abi = [
676
757
  ];
677
758
 
678
759
  const _bytecode =
679
- "0x608060405234801561001057600080fd5b50611df6806100206000396000f3fe608060405234801561001057600080fd5b506004361061015f5760003560e01c806301ffc9a71461016457806306fdde031461018c578063095ea7b3146101a157806318160ddd146101b457806323b872dd146101c6578063248a9ca3146101d95780632f2ff15d146101ec578063313ce5671461020157806336568abe1461021057806339509351146102235780633f4ba83a1461023657806340c10f191461023e57806342966c68146102515780634cd88b76146102645780635c975abb1461027757806370a082311461028357806379cc6790146102ac5780638456cb59146102bf5780639010d07c146102c757806391d14854146102e757806395d89b41146102fa578063a217fddf14610302578063a457c2d71461030a578063a9059cbb1461031d578063ca15c87314610330578063d539139314610343578063d547741f14610358578063dd62ed3e1461036b578063e63ab1e9146103a4575b600080fd5b6101776101723660046118d1565b6103b9565b60405190151581526020015b60405180910390f35b6101946103e4565b6040516101839190611927565b6101776101af366004611976565b610476565b60cb545b604051908152602001610183565b6101776101d43660046119a0565b61048c565b6101b86101e73660046119dc565b61053b565b6101ff6101fa3660046119f5565b610550565b005b60405160128152602001610183565b6101ff61021e3660046119f5565b610577565b610177610231366004611976565b610599565b6101ff6105d5565b6101ff61024c366004611976565b610653565b6101ff61025f3660046119dc565b6106d2565b6101ff610272366004611ac3565b6106df565b61012d5460ff16610177565b6101b8610291366004611b26565b6001600160a01b0316600090815260c9602052604090205490565b6101ff6102ba366004611976565b610756565b6101ff6107d7565b6102da6102d5366004611b41565b610851565b6040516101839190611b63565b6101776102f53660046119f5565b610870565b61019461089b565b6101b8600081565b610177610318366004611976565b6108aa565b61017761032b366004611976565b610943565b6101b861033e3660046119dc565b610950565b6101b8600080516020611d8183398151915281565b6101ff6103663660046119f5565b610967565b6101b8610379366004611b77565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6101b8600080516020611d6183398151915281565b60006001600160e01b03198216635a05180f60e01b14806103de57506103de82610971565b92915050565b606060cc80546103f390611ba1565b80601f016020809104026020016040519081016040528092919081815260200182805461041f90611ba1565b801561046c5780601f106104415761010080835404028352916020019161046c565b820191906000526020600020905b81548152906001019060200180831161044f57829003601f168201915b5050505050905090565b60006104833384846109a6565b50600192915050565b6000610499848484610aca565b6001600160a01b038416600090815260ca60209081526040808320338452909152902054828110156105235760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61053085338584036109a6565b506001949350505050565b60009081526065602052604090206001015490565b61055a8282610c93565b60008281526097602052604090206105729082610cb0565b505050565b6105818282610cc5565b60008281526097602052604090206105729082610d3f565b33600081815260ca602090815260408083206001600160a01b038716845290915281205490916104839185906105d0908690611bf2565b6109a6565b6105ed600080516020611d6183398151915233610870565b6106495760405162461bcd60e51b81526020600482015260396024820152600080516020611d4183398151915260448201527876652070617573657220726f6c6520746f20756e706175736560381b606482015260840161051a565b610651610d54565b565b61066b600080516020611d8183398151915233610870565b6106c45760405162461bcd60e51b81526020600482015260366024820152600080516020611d418339815191526044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b606482015260840161051a565b6106ce8282610de3565b5050565b6106dc3382610ebc565b50565b600054610100900460ff16806106f8575060005460ff16155b6107145760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff16158015610736576000805461ffff19166101011790555b6107408383611004565b8015610572576000805461ff0019169055505050565b60006107628333610379565b9050818110156107c05760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b606482015260840161051a565b6107cd83338484036109a6565b6105728383610ebc565b6107ef600080516020611d6183398151915233610870565b6108495760405162461bcd60e51b81526020600482015260376024820152600080516020611d4183398151915260448201527676652070617573657220726f6c6520746f20706175736560481b606482015260840161051a565b6106516110a7565b60008281526097602052604081206108699083611124565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060cd80546103f390611ba1565b33600090815260ca602090815260408083206001600160a01b03861684529091528120548281101561092c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161051a565b61093933858584036109a6565b5060019392505050565b6000610483338484610aca565b60008181526097602052604081206103de90611130565b610581828261113a565b60006001600160e01b03198216637965db0b60e01b14806103de57506301ffc9a760e01b6001600160e01b03198316146103de565b6001600160a01b038316610a085760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161051a565b6001600160a01b038216610a695760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161051a565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b2e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161051a565b6001600160a01b038216610b905760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161051a565b610b9b838383611157565b6001600160a01b038316600090815260c9602052604090205481811015610c135760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161051a565b6001600160a01b03808516600090815260c96020526040808220858503905591851681529081208054849290610c4a908490611bf2565b92505081905550826001600160a01b0316846001600160a01b0316600080516020611da183398151915284604051610c8491815260200190565b60405180910390a35b50505050565b610c9c8261053b565b610ca68133611162565b61057283836111c6565b6000610869836001600160a01b03841661124c565b6001600160a01b0381163314610d355760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161051a565b6106ce828261129b565b6000610869836001600160a01b038416611302565b61012d5460ff16610d9e5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161051a565b61012d805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051610dd99190611b63565b60405180910390a1565b6001600160a01b038216610e395760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161051a565b610e4560008383611157565b8060cb6000828254610e579190611bf2565b90915550506001600160a01b038216600090815260c9602052604081208054839290610e84908490611bf2565b90915550506040518181526001600160a01b03831690600090600080516020611da18339815191529060200160405180910390a35050565b6001600160a01b038216610f1c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161051a565b610f2882600083611157565b6001600160a01b038216600090815260c9602052604090205481811015610f9c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161051a565b6001600160a01b038316600090815260c960205260408120838303905560cb8054849290610fcb908490611c58565b90915550506040518281526000906001600160a01b03851690600080516020611da18339815191529060200160405180910390a3505050565b600054610100900460ff168061101d575060005460ff16155b6110395760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff1615801561105b576000805461ffff19166101011790555b6110636113f5565b61106b6113f5565b6110736113f5565b61107b6113f5565b6110858383611460565b61108d6113f5565b6110956114f5565b61109d6113f5565b610740838361156b565b61012d5460ff16156110ee5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161051a565b61012d805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610dcc3390565b600061086983836115fd565b60006103de825490565b6111438261053b565b61114d8133611162565b610572838361129b565b610572838383611627565b61116c8282610870565b6106ce57611184816001600160a01b0316601461168e565b61118f83602061168e565b6040516020016111a0929190611c6f565b60408051601f198184030181529082905262461bcd60e51b825261051a91600401611927565b6111d08282610870565b6106ce5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556112083390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000818152600183016020526040812054611293575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556103de565b5060006103de565b6112a58282610870565b156106ce5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205480156113eb576000611326600183611c58565b855490915060009061133a90600190611c58565b905081811461139f57600086600001828154811061135a5761135a611cde565b906000526020600020015490508087600001848154811061137d5761137d611cde565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806113b0576113b0611cf4565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506103de565b60009150506103de565b600054610100900460ff168061140e575060005460ff16155b61142a5760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff1615801561144c576000805461ffff19166101011790555b80156106dc576000805461ff001916905550565b600054610100900460ff1680611479575060005460ff16155b6114955760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff161580156114b7576000805461ffff19166101011790555b82516114ca9060cc906020860190611838565b5081516114de9060cd906020850190611838565b508015610572576000805461ff0019169055505050565b600054610100900460ff168061150e575060005460ff16155b61152a5760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff1615801561154c576000805461ffff19166101011790555b61012d805460ff1916905580156106dc576000805461ff001916905550565b600054610100900460ff1680611584575060005460ff16155b6115a05760405162461bcd60e51b815260040161051a90611c0a565b600054610100900460ff161580156115c2576000805461ffff19166101011790555b6115cd600033611829565b6115e5600080516020611d8183398151915233611829565b610740600080516020611d6183398151915233611829565b600082600001828154811061161457611614611cde565b9060005260206000200154905092915050565b61012d5460ff16156105725760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b606482015260840161051a565b6060600061169d836002611d0a565b6116a8906002611bf2565b6001600160401b038111156116bf576116bf611a21565b6040519080825280601f01601f1916602001820160405280156116e9576020820181803683370190505b509050600360fc1b8160008151811061170457611704611cde565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061173357611733611cde565b60200101906001600160f81b031916908160001a9053506000611757846002611d0a565b611762906001611bf2565b90505b60018111156117da576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061179657611796611cde565b1a60f81b8282815181106117ac576117ac611cde565b60200101906001600160f81b031916908160001a90535060049490941c936117d381611d29565b9050611765565b5083156108695760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161051a565b61055a82826106ce82826111c6565b82805461184490611ba1565b90600052602060002090601f01602090048101928261186657600085556118ac565b82601f1061187f57805160ff19168380011785556118ac565b828001600101855582156118ac579182015b828111156118ac578251825591602001919060010190611891565b506118b89291506118bc565b5090565b5b808211156118b857600081556001016118bd565b6000602082840312156118e357600080fd5b81356001600160e01b03198116811461086957600080fd5b60005b838110156119165781810151838201526020016118fe565b83811115610c8d5750506000910152565b60208152600082518060208401526119468160408501602087016118fb565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461197157600080fd5b919050565b6000806040838503121561198957600080fd5b6119928361195a565b946020939093013593505050565b6000806000606084860312156119b557600080fd5b6119be8461195a565b92506119cc6020850161195a565b9150604084013590509250925092565b6000602082840312156119ee57600080fd5b5035919050565b60008060408385031215611a0857600080fd5b82359150611a186020840161195a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611a4857600080fd5b81356001600160401b0380821115611a6257611a62611a21565b604051601f8301601f19908116603f01168101908282118183101715611a8a57611a8a611a21565b81604052838152866020858801011115611aa357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611ad657600080fd5b82356001600160401b0380821115611aed57600080fd5b611af986838701611a37565b93506020850135915080821115611b0f57600080fd5b50611b1c85828601611a37565b9150509250929050565b600060208284031215611b3857600080fd5b6108698261195a565b60008060408385031215611b5457600080fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b60008060408385031215611b8a57600080fd5b611b938361195a565b9150611a186020840161195a565b600181811c90821680611bb557607f821691505b60208210811415611bd657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611c0557611c05611bdc565b500190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600082821015611c6a57611c6a611bdc565b500390565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351611ca18160178501602088016118fb565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611cd28160288401602088016118fb565b01602801949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6000816000190483118215151615611d2457611d24611bdc565b500290565b600081611d3857611d38611bdc565b50600019019056fe45524332305072657365744d696e7465725061757365723a206d75737420686165d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220483829b0e34d43e8afad96878e99a3dd1ed7edee69d644521769c1933d15e6da64736f6c63430008080033";
760
+ "0x608060405234801561001057600080fd5b5061248c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101805760003560e01c806301ffc9a71461018557806306fdde03146101ad578063095ea7b3146101c257806318160ddd146101d557806323b872dd146101e7578063248a9ca3146101fa5780632f2ff15d1461020d578063313ce567146102225780633644e5151461023157806336568abe14610239578063395093511461024c5780633f4ba83a1461025f57806340c10f191461026757806342966c681461027a5780634cd88b761461028d5780635c975abb146102a057806370a08231146102ac57806379cc6790146102d55780637ecebe00146102e85780638456cb59146102fb5780639010d07c1461030357806391d148541461032357806395d89b4114610336578063a217fddf1461033e578063a457c2d714610346578063a9059cbb14610359578063ca15c8731461036c578063d505accf1461037f578063d539139314610392578063d547741f146103a7578063dd62ed3e146103ba578063e63ab1e9146103f3575b600080fd5b610198610193366004611ee4565b610408565b60405190151581526020015b60405180910390f35b6101b5610433565b6040516101a49190611f3a565b6101986101d0366004611f89565b6104c5565b60cb545b6040519081526020016101a4565b6101986101f5366004611fb3565b6104db565b6101d9610208366004611fef565b61058a565b61022061021b366004612008565b61059f565b005b604051601281526020016101a4565b6101d96105c6565b610220610247366004612008565b6105d5565b61019861025a366004611f89565b6105f7565b610220610633565b610198610275366004611f89565b6106b1565b610220610288366004611fef565b61072e565b61022061029b3660046120d6565b61073b565b6101945460ff16610198565b6101d96102ba366004612139565b6001600160a01b0316600090815260c9602052604090205490565b6102206102e3366004611f89565b6107b2565b6101d96102f6366004612139565b610833565b610220610852565b610316610311366004612154565b6108cc565b6040516101a49190612176565b610198610331366004612008565b6108eb565b6101b5610916565b6101d9600081565b610198610354366004611f89565b610925565b610198610367366004611f89565b6109be565b6101d961037a366004611fef565b6109cb565b61022061038d36600461218a565b6109e2565b6101d960008051602061241783398151915281565b6102206103b5366004612008565b610b29565b6101d96103c83660046121fd565b6001600160a01b03918216600090815260ca6020908152604080832093909416825291909152205490565b6101d96000805160206123f783398151915281565b60006001600160e01b03198216635a05180f60e01b148061042d575061042d82610b33565b92915050565b606060cc805461044290612227565b80601f016020809104026020016040519081016040528092919081815260200182805461046e90612227565b80156104bb5780601f10610490576101008083540402835291602001916104bb565b820191906000526020600020905b81548152906001019060200180831161049e57829003601f168201915b5050505050905090565b60006104d2338484610b68565b50600192915050565b60006104e8848484610c8c565b6001600160a01b038416600090815260ca60209081526040808320338452909152902054828110156105725760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61057f8533858403610b68565b506001949350505050565b60009081526065602052604090206001015490565b6105a98282610e55565b60008281526097602052604090206105c19082610e72565b505050565b60006105d0610e87565b905090565b6105df8282610f02565b60008281526097602052604090206105c19082610f80565b33600081815260ca602090815260408083206001600160a01b038716845290915281205490916104d291859061062e908690612272565b610b68565b61064b6000805160206123f7833981519152336108eb565b6106a75760405162461bcd60e51b815260206004820152603960248201526000805160206123d783398151915260448201527876652070617573657220726f6c6520746f20756e706175736560381b6064820152608401610569565b6106af610f95565b565b60006106cb600080516020612417833981519152336108eb565b6107245760405162461bcd60e51b815260206004820152603660248201526000805160206123d78339815191526044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b6064820152608401610569565b6104d28383611024565b61073833826110fd565b50565b600054610100900460ff1680610754575060005460ff16155b6107705760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff16158015610792576000805461ffff19166101011790555b61079c8383611245565b80156105c1576000805461ff0019169055505050565b60006107be83336103c8565b90508181101561081c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b6064820152608401610569565b6108298333848403610b68565b6105c183836110fd565b6001600160a01b038116600090815261012f602052604081205461042d565b61086a6000805160206123f7833981519152336108eb565b6108c45760405162461bcd60e51b815260206004820152603760248201526000805160206123d783398151915260448201527676652070617573657220726f6c6520746f20706175736560481b6064820152608401610569565b6106af6112f1565b60008281526097602052604081206108e4908361136e565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060cd805461044290612227565b33600090815260ca602090815260408083206001600160a01b0386168452909152812054828110156109a75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610569565b6109b43385858403610b68565b5060019392505050565b60006104d2338484610c8c565b600081815260976020526040812061042d9061137a565b83421115610a325760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610569565b600061013054888888610a448c611384565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a9f826113ad565b90506000610aaf828787876113fb565b9050896001600160a01b0316816001600160a01b031614610b125760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610569565b610b1d8a8a8a610b68565b50505050505050505050565b6105df8282611423565b60006001600160e01b03198216637965db0b60e01b148061042d57506301ffc9a760e01b6001600160e01b031983161461042d565b6001600160a01b038316610bca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610569565b6001600160a01b038216610c2b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610569565b6001600160a01b03838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cf05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610569565b6001600160a01b038216610d525760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610569565b610d5d838383611440565b6001600160a01b038316600090815260c9602052604090205481811015610dd55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610569565b6001600160a01b03808516600090815260c96020526040808220858503905591851681529081208054849290610e0c908490612272565b92505081905550826001600160a01b0316846001600160a01b031660008051602061243783398151915284604051610e4691815260200190565b60405180910390a35b50505050565b610e5e8261058a565b610e68813361144b565b6105c183836114af565b60006108e4836001600160a01b038416611535565b60006105d07f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610eb660fb5490565b60fc546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6001600160a01b0381163314610f725760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610569565b610f7c8282611584565b5050565b60006108e4836001600160a01b0384166115eb565b6101945460ff16610fdf5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610569565b610194805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161101a9190612176565b60405180910390a1565b6001600160a01b03821661107a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610569565b61108660008383611440565b8060cb60008282546110989190612272565b90915550506001600160a01b038216600090815260c96020526040812080548392906110c5908490612272565b90915550506040518181526001600160a01b038316906000906000805160206124378339815191529060200160405180910390a35050565b6001600160a01b03821661115d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610569565b61116982600083611440565b6001600160a01b038216600090815260c96020526040902054818110156111dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610569565b6001600160a01b038316600090815260c960205260408120838303905560cb805484929061120c9084906122d8565b90915550506040518281526000906001600160a01b038516906000805160206124378339815191529060200160405180910390a3505050565b600054610100900460ff168061125e575060005460ff16155b61127a5760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff1615801561129c576000805461ffff19166101011790555b6112a46116de565b6112ac6116de565b6112b46116de565b6112bc6116de565b6112c68383611749565b6112ce6116de565b6112d66117de565b6112de6116de565b6112e88383611854565b61079c836118e6565b6101945460ff16156113385760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610569565b610194805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861100d3390565b60006108e48383611977565b600061042d825490565b6001600160a01b038116600090815261012f602052604090208054600181018255905b50919050565b600061042d6113ba610e87565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061140c878787876119a1565b9150915061141981611a84565b5095945050505050565b61142c8261058a565b611436813361144b565b6105c18383611584565b6105c1838383611c3a565b61145582826108eb565b610f7c5761146d816001600160a01b03166014611ca1565b611478836020611ca1565b6040516020016114899291906122ef565b60408051601f198184030181529082905262461bcd60e51b825261056991600401611f3a565b6114b982826108eb565b610f7c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114f13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600081815260018301602052604081205461157c5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561042d565b50600061042d565b61158e82826108eb565b15610f7c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600081815260018301602052604081205480156116d457600061160f6001836122d8565b8554909150600090611623906001906122d8565b90508181146116885760008660000182815481106116435761164361235e565b90600052602060002001549050808760000184815481106116665761166661235e565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061169957611699612374565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061042d565b600091505061042d565b600054610100900460ff16806116f7575060005460ff16155b6117135760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff16158015611735576000805461ffff19166101011790555b8015610738576000805461ff001916905550565b600054610100900460ff1680611762575060005460ff16155b61177e5760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff161580156117a0576000805461ffff19166101011790555b82516117b39060cc906020860190611e4b565b5081516117c79060cd906020850190611e4b565b5080156105c1576000805461ff0019169055505050565b600054610100900460ff16806117f7575060005460ff16155b6118135760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff16158015611835576000805461ffff19166101011790555b610194805460ff191690558015610738576000805461ff001916905550565b600054610100900460ff168061186d575060005460ff16155b6118895760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff161580156118ab576000805461ffff19166101011790555b6118b6600033611e3c565b6118ce60008051602061241783398151915233611e3c565b61079c6000805160206123f783398151915233611e3c565b600054610100900460ff16806118ff575060005460ff16155b61191b5760405162461bcd60e51b81526004016105699061228a565b600054610100900460ff1615801561193d576000805461ffff19166101011790555b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610130558015610f7c576000805461ff00191690555050565b600082600001828154811061198e5761198e61235e565b9060005260206000200154905092915050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156119ce5750600090506003611a7b565b8460ff16601b141580156119e657508460ff16601c14155b156119f75750600090506004611a7b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611a4b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a7457600060019250925050611a7b565b9150600090505b94509492505050565b6000816004811115611a9857611a9861238a565b1415611aa15750565b6001816004811115611ab557611ab561238a565b1415611afe5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610569565b6002816004811115611b1257611b1261238a565b1415611b605760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610569565b6003816004811115611b7457611b7461238a565b1415611bcd5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610569565b6004816004811115611be157611be161238a565b14156107385760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610569565b6101945460ff16156105c15760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610569565b60606000611cb08360026123a0565b611cbb906002612272565b6001600160401b03811115611cd257611cd2612034565b6040519080825280601f01601f191660200182016040528015611cfc576020820181803683370190505b509050600360fc1b81600081518110611d1757611d1761235e565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611d4657611d4661235e565b60200101906001600160f81b031916908160001a9053506000611d6a8460026123a0565b611d75906001612272565b90505b6001811115611ded576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611da957611da961235e565b1a60f81b828281518110611dbf57611dbf61235e565b60200101906001600160f81b031916908160001a90535060049490941c93611de6816123bf565b9050611d78565b5083156108e45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610569565b6105a98282610f7c82826114af565b828054611e5790612227565b90600052602060002090601f016020900481019282611e795760008555611ebf565b82601f10611e9257805160ff1916838001178555611ebf565b82800160010185558215611ebf579182015b82811115611ebf578251825591602001919060010190611ea4565b50611ecb929150611ecf565b5090565b5b80821115611ecb5760008155600101611ed0565b600060208284031215611ef657600080fd5b81356001600160e01b0319811681146108e457600080fd5b60005b83811015611f29578181015183820152602001611f11565b83811115610e4f5750506000910152565b6020815260008251806020840152611f59816040850160208701611f0e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114611f8457600080fd5b919050565b60008060408385031215611f9c57600080fd5b611fa583611f6d565b946020939093013593505050565b600080600060608486031215611fc857600080fd5b611fd184611f6d565b9250611fdf60208501611f6d565b9150604084013590509250925092565b60006020828403121561200157600080fd5b5035919050565b6000806040838503121561201b57600080fd5b8235915061202b60208401611f6d565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261205b57600080fd5b81356001600160401b038082111561207557612075612034565b604051601f8301601f19908116603f0116810190828211818310171561209d5761209d612034565b816040528381528660208588010111156120b657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156120e957600080fd5b82356001600160401b038082111561210057600080fd5b61210c8683870161204a565b9350602085013591508082111561212257600080fd5b5061212f8582860161204a565b9150509250929050565b60006020828403121561214b57600080fd5b6108e482611f6d565b6000806040838503121561216757600080fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b600080600080600080600060e0888a0312156121a557600080fd5b6121ae88611f6d565b96506121bc60208901611f6d565b95506040880135945060608801359350608088013560ff811681146121e057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561221057600080fd5b61221983611f6d565b915061202b60208401611f6d565b600181811c9082168061223b57607f821691505b602082108114156113a757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156122855761228561225c565b500190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000828210156122ea576122ea61225c565b500390565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351612321816017850160208801611f0e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612352816028840160208801611f0e565b01602801949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008160001904831182151516156123ba576123ba61225c565b500290565b6000816123ce576123ce61225c565b50600019019056fe45524332305072657365744d696e7465725061757365723a206d75737420686165d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122069de8cbb8598ad9b379e6c2d244b33598b29c39e154434c09e7c2a7106fdaa8b64736f6c63430008080033";
680
761
 
681
762
  type ERC20PresetMinterPauserUpgradeableConstructorParams =
682
763
  | [signer?: Signer]
@@ -0,0 +1,55 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ ERC677Receiver,
9
+ ERC677ReceiverInterface,
10
+ } from "../ERC677Receiver";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "address",
17
+ name: "_from",
18
+ type: "address",
19
+ },
20
+ {
21
+ internalType: "uint256",
22
+ name: "_value",
23
+ type: "uint256",
24
+ },
25
+ {
26
+ internalType: "bytes",
27
+ name: "_data",
28
+ type: "bytes",
29
+ },
30
+ ],
31
+ name: "onTokenTransfer",
32
+ outputs: [
33
+ {
34
+ internalType: "bool",
35
+ name: "",
36
+ type: "bool",
37
+ },
38
+ ],
39
+ stateMutability: "nonpayable",
40
+ type: "function",
41
+ },
42
+ ];
43
+
44
+ export class ERC677Receiver__factory {
45
+ static readonly abi = _abi;
46
+ static createInterface(): ERC677ReceiverInterface {
47
+ return new utils.Interface(_abi) as ERC677ReceiverInterface;
48
+ }
49
+ static connect(
50
+ address: string,
51
+ signerOrProvider: Signer | Provider
52
+ ): ERC677Receiver {
53
+ return new Contract(address, _abi, signerOrProvider) as ERC677Receiver;
54
+ }
55
+ }
@@ -0,0 +1,75 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type { ERC677, ERC677Interface } from "../ERC677";
8
+
9
+ const _abi = [
10
+ {
11
+ anonymous: false,
12
+ inputs: [
13
+ {
14
+ indexed: true,
15
+ internalType: "address",
16
+ name: "from",
17
+ type: "address",
18
+ },
19
+ {
20
+ indexed: true,
21
+ internalType: "address",
22
+ name: "to",
23
+ type: "address",
24
+ },
25
+ {
26
+ indexed: false,
27
+ internalType: "uint256",
28
+ name: "value",
29
+ type: "uint256",
30
+ },
31
+ {
32
+ indexed: false,
33
+ internalType: "bytes",
34
+ name: "data",
35
+ type: "bytes",
36
+ },
37
+ ],
38
+ name: "Transfer",
39
+ type: "event",
40
+ },
41
+ {
42
+ inputs: [
43
+ {
44
+ internalType: "address",
45
+ name: "to",
46
+ type: "address",
47
+ },
48
+ {
49
+ internalType: "uint256",
50
+ name: "value",
51
+ type: "uint256",
52
+ },
53
+ ],
54
+ name: "transfer",
55
+ outputs: [
56
+ {
57
+ internalType: "bool",
58
+ name: "",
59
+ type: "bool",
60
+ },
61
+ ],
62
+ stateMutability: "nonpayable",
63
+ type: "function",
64
+ },
65
+ ];
66
+
67
+ export class ERC677__factory {
68
+ static readonly abi = _abi;
69
+ static createInterface(): ERC677Interface {
70
+ return new utils.Interface(_abi) as ERC677Interface;
71
+ }
72
+ static connect(address: string, signerOrProvider: Signer | Provider): ERC677 {
73
+ return new Contract(address, _abi, signerOrProvider) as ERC677;
74
+ }
75
+ }