@gooddollar/goodprotocol 1.0.3-beta.4 → 1.0.3

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 (98) hide show
  1. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  2. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  3. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  4. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  5. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  6. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  7. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  8. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  9. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  10. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  11. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  12. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  13. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  14. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  15. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  16. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  17. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  18. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  19. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  20. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  24. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  28. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  29. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  30. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +14 -2
  31. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  32. package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  33. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  34. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  35. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  36. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  37. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  38. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  39. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  40. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  41. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  42. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  43. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  44. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  45. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  46. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  47. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  48. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  49. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  50. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  51. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  52. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  53. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  54. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  55. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  56. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  57. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  58. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  59. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  60. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  61. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  62. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  63. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  64. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  65. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  66. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  67. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  68. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  69. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  70. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  71. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  72. package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
  73. package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.dbg.json +1 -1
  74. package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.json +2 -2
  75. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  76. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  77. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  78. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  79. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  80. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  81. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  82. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  83. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  84. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  85. package/contracts/governance/CompoundVotingMachine.sol +8 -2
  86. package/contracts/unaudited-foundation/InvitesV1.sol +29 -24
  87. package/hardhat.config.ts +3 -1
  88. package/package.json +1 -1
  89. package/releases/deployment.json +24 -24
  90. package/scripts/deployFullDAO.ts +159 -125
  91. package/scripts/keeper/fishInactive.ts +17 -12
  92. package/scripts/upgradeToV2/upgradeToV2.ts +7 -2
  93. package/test/governance/CompoundVotingMachine.delegate.test.ts +0 -4
  94. package/test/governance/CompoundVotingMachine.guardian.test.ts +2 -2
  95. package/test/helpers.ts +3 -10
  96. package/test/reserve/GoodReserveCDai.cap.test.ts +1 -1
  97. package/test/reserve/GoodReserveCDai.test.ts +11 -109
  98. package/test/utils/ProtocolUpgrade.test.ts +8 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -479,8 +479,8 @@
479
479
  "type": "function"
480
480
  }
481
481
  ],
482
- "bytecode": "0x608060405234801561001057600080fd5b50611b8c806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b604051610142919061180c565b61017e610179366004611831565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a1366004611863565b61044f565b604051908152602001610142565b60408051808201825260058152640312e332e360dc1b602082015290516101429190611880565b60035461015e906001600160a01b031681565b61017e6101fc3660046118d5565b61051c565b61013661020f366004611863565b61075c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b610295610242366004611863565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee366004611831565b610c73565b61017e610cd0565b61032a6103093660046118f7565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b61017e610353366004611863565b610ea1565b61017e610366366004611910565b61123b565b61015e6103793660046118f7565b6001602052600090815260409020546001600160a01b031681565b61017e6103a2366004611942565b61129a565b600854600954600a5461032a92919083565b6103cc6103c7366004611863565b6113de565b6040516101429190611993565b6103cc6103e7366004611863565b6115c9565b61017e611642565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b8152600401610433906119e0565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e2611a2c565b602002602001015161075c565b1561050257816104fe81611a58565b9250505b8061050c81611a58565b9150506104c4565b509392505050565b600754600160a01b900460ff1661053257600080fd5b3360009081526002602090815260408083208584526001909252909120546001600160a01b0316158061057b57506000838152600160205260409020546001600160a01b031633145b6105c45760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b600082815260016020819052604090912054908201546001600160a01b0390911690158061060d575081546001600160a01b031615801561060d57506001600160a01b03811615155b61064f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b600182015461068d5760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107205781546001600160a01b0382166001600160a01b031991821681178455600090815260026020908152604082206003810180546001818101835591855283852001805486163390811790915560048301805480840182559086529385209093018054909516909217909355600a805491929091610719908490611a73565b9091555050505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b038082166000908152600260208181526040808420815161016081018352815490961686526001810154868401529283015460ff161515858201526003830180548251818502810185019093528083529495869590949360608601939291908301828280156107fb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107dd575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561085d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161083f575b505050505081526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a82016005806020026040519081016040528092919082600580156108d4576020028201915b8154815260200190600101908083116108c0575b50505091909252505081516001600160a01b039081166000908152600260208181526040808420815161016081018352815490961686526001810154868401529283015460ff161515858201526003830180548251818502810185019093528083529798509396949550919360608601939183018282801561097f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610961575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156109e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109c3575b505050505081526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201600580602002604051908101604052809291908260058015610a58576020028201915b815481526020019060010190808311610a44575b5050509190925250505060a080820151600090815260046020908152604080832081516080810183528154815260018201549381019390935260028101548383015281519485019091529394509092909160608301906003830160058282826020028201915b815481526020019060010190808311610abe5750505091909252505060105491925060009160ff16151560011490508015610afd575060008260400151115b8015610b345750610b2d62015180610b278560c001518761012001516117ed90919063ffffffff16565b90611800565b8260400151105b90508360400151158015610b51575083516001600160a01b031615155b8015610bd85750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610b8890899060040161180c565b60206040518083038186803b158015610ba057600080fd5b505afa158015610bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd89190611a8b565b8015610c5f57506006548451604051633af32abf60e01b81526001600160a01b0390921691633af32abf91610c0f9160040161180c565b60206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f9190611a8b565b8015610c69575080155b9695505050505050565b6005546001600160a01b0316331480610c9657506003546001600160a01b031633145b610cb25760405162461bcd60e51b8152600401610433906119e0565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff16610ce657600080fd5b336000908152600260205260408120905b6004820154811015610e9d57610d35826004018281548110610d1b57610d1b611a2c565b6000918252602090912001546001600160a01b031661075c565b15610d6c57610d6c826004018281548110610d5257610d52611a2c565b6000918252602090912001546001600160a01b0316610ea1565b60026000836004018381548110610d8557610d85611a2c565b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460ff1615610e8b5760048201548190610dc890600190611aa8565b1115610e5557600482018054610de090600190611aa8565b81548110610df057610df0611a2c565b6000918252602090912001546004830180546001600160a01b039092169183908110610e1e57610e1e611a2c565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610e5181611abf565b9150505b81600401805480610e6857610e68611ad6565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610e9581611a58565b915050610cf7565b5050565b600754600160a01b900460ff16610eb757600080fd5b610ec08161075c565b610f0c5760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b6001600160a01b038181166000908152600260208181526040808420805490951684528084206005808201548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905291959492606085019291600385019182845b815481526020019060010190808311610f7d5750505050508152505090506000808260400151118015610fb7575082600601548460090154115b8015610fe75750610fe062015180610b27856006015487600901546117ed90919063ffffffff16565b8260400151105b60028501805460ff191660019081179091556007850180549293509091600090611012908490611a73565b90915550506020820151600884018054600090611030908490611a73565b9091555050600880546001919060009061104b908490611a73565b9091555050602082015160098054600090611067908490611a73565b909155505081516000901580159061108457508251600785015410155b801561108e575081155b156110b75760018460050160008282546110a89190611a73565b90915550504260068501555060015b6007548554602085015160405163a9059cbb60e01b81526001600160a01b039384169363a9059cbb936110ef93911691600401611aec565b602060405180830381600087803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111419190611a8b565b5060075460208401516001600160a01b039091169063a9059cbb908890611169906002611800565b6040518363ffffffff1660e01b8152600401611186929190611aec565b602060405180830381600087803b1580156111a057600080fd5b505af11580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190611a8b565b508454602084810151600587015460408051928352928201528315158183015290516001600160a01b038981169316917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a3505050505050565b6005546001600160a01b031633148061125e57506003546001600160a01b031633145b61127a5760405162461bcd60e51b8152600401610433906119e0565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff16806112b3575060005460ff16155b6113165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b600054610100900460ff16158015611338576000805461ffff19166101011790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff1916905580156113d7576000805461ff00191690555b5050505050565b6001600160a01b038116600090815260026020908152604080832060040180548251818502810185019093528083526060949383018282801561144a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161142c575b5050505050905060008060005b83518110156114c4576002600085838151811061147657611476611a2c565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166114b257816114ae81611a58565b9250505b806114bc81611a58565b915050611457565b506000816001600160401b038111156114df576114df611b05565b604051908082528060200260200182016040528015611508578160200160208202803683370190505b50905060005b84518110156115bf576002600086838151811061152d5761152d611a2c565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166115ad5784818151811061156d5761156d611a2c565b602002602001015182858151811061158757611587611a2c565b6001600160a01b0390921660209283029190910190910152836115a981611a58565b9450505b806115b781611a58565b91505061150e565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561163657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611618575b50505050509050919050565b6005546001600160a01b031633148061166557506003546001600160a01b031633145b6116815760405162461bcd60e51b8152600401610433906119e0565b600754600160a01b900460ff1661169757600080fd5b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906116c890309060040161180c565b60206040518083038186803b1580156116e057600080fd5b505afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117189190611b1b565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926117509216908590600401611aec565b602060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a29190611a8b565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156117dc573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b60006117f98284611aa8565b9392505050565b60006117f98284611b34565b6001600160a01b0391909116815260200190565b801515811461182e57600080fd5b50565b60006020828403121561184357600080fd5b81356117f981611820565b6001600160a01b038116811461182e57600080fd5b60006020828403121561187557600080fd5b81356117f98161184e565b600060208083528351808285015260005b818110156118ad57858101830151858201604001528201611891565b818111156118bf576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156118e857600080fd5b50508035926020909101359150565b60006020828403121561190957600080fd5b5035919050565b6000806000806080858703121561192657600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561195857600080fd5b84356119638161184e565b935060208501356119738161184e565b925060408501356119838161184e565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b818110156119d45783516001600160a01b0316835292840192918401916001016119af565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a6c57611a6c611a42565b5060010190565b60008219821115611a8657611a86611a42565b500190565b600060208284031215611a9d57600080fd5b81516117f981611820565b600082821015611aba57611aba611a42565b500390565b600081611ace57611ace611a42565b506000190190565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611b2d57600080fd5b5051919050565b600082611b5157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c81f3e5155f4e621432ad5fe0e46d3cef316a867886558b59cc9a6cb06eea22764736f6c63430008080033",
483
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b604051610142919061180c565b61017e610179366004611831565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a1366004611863565b61044f565b604051908152602001610142565b60408051808201825260058152640312e332e360dc1b602082015290516101429190611880565b60035461015e906001600160a01b031681565b61017e6101fc3660046118d5565b61051c565b61013661020f366004611863565b61075c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b610295610242366004611863565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee366004611831565b610c73565b61017e610cd0565b61032a6103093660046118f7565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b61017e610353366004611863565b610ea1565b61017e610366366004611910565b61123b565b61015e6103793660046118f7565b6001602052600090815260409020546001600160a01b031681565b61017e6103a2366004611942565b61129a565b600854600954600a5461032a92919083565b6103cc6103c7366004611863565b6113de565b6040516101429190611993565b6103cc6103e7366004611863565b6115c9565b61017e611642565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b8152600401610433906119e0565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e2611a2c565b602002602001015161075c565b1561050257816104fe81611a58565b9250505b8061050c81611a58565b9150506104c4565b509392505050565b600754600160a01b900460ff1661053257600080fd5b3360009081526002602090815260408083208584526001909252909120546001600160a01b0316158061057b57506000838152600160205260409020546001600160a01b031633145b6105c45760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b600082815260016020819052604090912054908201546001600160a01b0390911690158061060d575081546001600160a01b031615801561060d57506001600160a01b03811615155b61064f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b600182015461068d5760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107205781546001600160a01b0382166001600160a01b031991821681178455600090815260026020908152604082206003810180546001818101835591855283852001805486163390811790915560048301805480840182559086529385209093018054909516909217909355600a805491929091610719908490611a73565b9091555050505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b038082166000908152600260208181526040808420815161016081018352815490961686526001810154868401529283015460ff161515858201526003830180548251818502810185019093528083529495869590949360608601939291908301828280156107fb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107dd575b505050505081526020016004820180548060200260200160405190810160405280929190818152602001828054801561085d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161083f575b505050505081526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a82016005806020026040519081016040528092919082600580156108d4576020028201915b8154815260200190600101908083116108c0575b50505091909252505081516001600160a01b039081166000908152600260208181526040808420815161016081018352815490961686526001810154868401529283015460ff161515858201526003830180548251818502810185019093528083529798509396949550919360608601939183018282801561097f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610961575b50505050508152602001600482018054806020026020016040519081016040528092919081815260200182805480156109e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116109c3575b505050505081526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201600580602002604051908101604052809291908260058015610a58576020028201915b815481526020019060010190808311610a44575b5050509190925250505060a080820151600090815260046020908152604080832081516080810183528154815260018201549381019390935260028101548383015281519485019091529394509092909160608301906003830160058282826020028201915b815481526020019060010190808311610abe5750505091909252505060105491925060009160ff16151560011490508015610afd575060008260400151115b8015610b345750610b2d62015180610b278560c001518761012001516117ed90919063ffffffff16565b90611800565b8260400151105b90508360400151158015610b51575083516001600160a01b031615155b8015610bd85750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf90610b8890899060040161180c565b60206040518083038186803b158015610ba057600080fd5b505afa158015610bb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd89190611a8b565b8015610c5f57506006548451604051633af32abf60e01b81526001600160a01b0390921691633af32abf91610c0f9160040161180c565b60206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f9190611a8b565b8015610c69575080155b9695505050505050565b6005546001600160a01b0316331480610c9657506003546001600160a01b031633145b610cb25760405162461bcd60e51b8152600401610433906119e0565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff16610ce657600080fd5b336000908152600260205260408120905b6004820154811015610e9d57610d35826004018281548110610d1b57610d1b611a2c565b6000918252602090912001546001600160a01b031661075c565b15610d6c57610d6c826004018281548110610d5257610d52611a2c565b6000918252602090912001546001600160a01b0316610ea1565b60026000836004018381548110610d8557610d85611a2c565b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460ff1615610e8b5760048201548190610dc890600190611aa8565b1115610e5557600482018054610de090600190611aa8565b81548110610df057610df0611a2c565b6000918252602090912001546004830180546001600160a01b039092169183908110610e1e57610e1e611a2c565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905580610e5181611abf565b9150505b81600401805480610e6857610e68611ad6565b600082815260209020810160001990810180546001600160a01b03191690550190555b80610e9581611a58565b915050610cf7565b5050565b600754600160a01b900460ff16610eb757600080fd5b610ec08161075c565b610f0c5760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b6001600160a01b038181166000908152600260208181526040808420805490951684528084206005808201548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a081019384905291959492606085019291600385019182845b815481526020019060010190808311610f7d5750505050508152505090506000808260400151118015610fb7575082600601548460090154115b8015610fe75750610fe062015180610b27856006015487600901546117ed90919063ffffffff16565b8260400151105b60028501805460ff191660019081179091556007850180549293509091600090611012908490611a73565b90915550506020820151600884018054600090611030908490611a73565b9091555050600880546001919060009061104b908490611a73565b9091555050602082015160098054600090611067908490611a73565b909155505081516000901580159061108457508251600785015410155b801561108e575081155b156110b75760018460050160008282546110a89190611a73565b90915550504260068501555060015b6007548554602085015160405163a9059cbb60e01b81526001600160a01b039384169363a9059cbb936110ef93911691600401611aec565b602060405180830381600087803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111419190611a8b565b5060075460208401516001600160a01b039091169063a9059cbb908890611169906002611800565b6040518363ffffffff1660e01b8152600401611186929190611aec565b602060405180830381600087803b1580156111a057600080fd5b505af11580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d89190611a8b565b508454602084810151600587015460408051928352928201528315158183015290516001600160a01b038981169316917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a3505050505050565b6005546001600160a01b031633148061125e57506003546001600160a01b031633145b61127a5760405162461bcd60e51b8152600401610433906119e0565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff16806112b3575060005460ff16155b6113165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b600054610100900460ff16158015611338576000805461ffff19166101011790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff1916905580156113d7576000805461ff00191690555b5050505050565b6001600160a01b038116600090815260026020908152604080832060040180548251818502810185019093528083526060949383018282801561144a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161142c575b5050505050905060008060005b83518110156114c4576002600085838151811061147657611476611a2c565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166114b257816114ae81611a58565b9250505b806114bc81611a58565b915050611457565b506000816001600160401b038111156114df576114df611b05565b604051908082528060200260200182016040528015611508578160200160208202803683370190505b50905060005b84518110156115bf576002600086838151811061152d5761152d611a2c565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff166115ad5784818151811061156d5761156d611a2c565b602002602001015182858151811061158757611587611a2c565b6001600160a01b0390921660209283029190910190910152836115a981611a58565b9450505b806115b781611a58565b91505061150e565b5095945050505050565b6001600160a01b03811660009081526002602090815260409182902060030180548351818402810184019094528084526060939283018282801561163657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611618575b50505050509050919050565b6005546001600160a01b031633148061166557506003546001600160a01b031633145b6116815760405162461bcd60e51b8152600401610433906119e0565b600754600160a01b900460ff1661169757600080fd5b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906116c890309060040161180c565b60206040518083038186803b1580156116e057600080fd5b505afa1580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117189190611b1b565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926117509216908590600401611aec565b602060405180830381600087803b15801561176a57600080fd5b505af115801561177e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a29190611a8b565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156117dc573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b60006117f98284611aa8565b9392505050565b60006117f98284611b34565b6001600160a01b0391909116815260200190565b801515811461182e57600080fd5b50565b60006020828403121561184357600080fd5b81356117f981611820565b6001600160a01b038116811461182e57600080fd5b60006020828403121561187557600080fd5b81356117f98161184e565b600060208083528351808285015260005b818110156118ad57858101830151858201604001528201611891565b818111156118bf576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156118e857600080fd5b50508035926020909101359150565b60006020828403121561190957600080fd5b5035919050565b6000806000806080858703121561192657600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561195857600080fd5b84356119638161184e565b935060208501356119738161184e565b925060408501356119838161184e565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b818110156119d45783516001600160a01b0316835292840192918401916001016119af565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a6c57611a6c611a42565b5060010190565b60008219821115611a8657611a86611a42565b500190565b600060208284031215611a9d57600080fd5b81516117f981611820565b600082821015611aba57611aba611a42565b500390565b600081611ace57611ace611a42565b506000190190565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611b2d57600080fd5b5051919050565b600082611b5157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c81f3e5155f4e621432ad5fe0e46d3cef316a867886558b59cc9a6cb06eea22764736f6c63430008080033",
482
+ "bytecode": "0x608060405234801561001057600080fd5b506118c5806100206000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b6040516101429190611548565b61017e61017936600461156a565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a136600461159c565b61044f565b604051908152602001610142565b60408051808201825260058152640312e342e360dc1b6020820152905161014291906115b9565b60035461015e906001600160a01b031681565b61017e6101fc36600461160e565b61051c565b61013661020f36600461159c565b61075c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029561024236600461159c565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee36600461156a565b610928565b61017e610985565b61032a610309366004611630565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b61017e61035336600461159c565b610b1e565b61017e610366366004611649565b610b95565b61015e610379366004611630565b6001602052600090815260409020546001600160a01b031681565b61017e6103a236600461167b565b610bf4565b600854600954600a5461032a92919083565b6103cc6103c736600461159c565b610d38565b60405161014291906116cc565b6103cc6103e736600461159c565b610f23565b61017e610f9c565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b815260040161043390611719565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e2611765565b602002602001015161075c565b1561050257816104fe81611791565b9250505b8061050c81611791565b9150506104c4565b509392505050565b600754600160a01b900460ff1661053257600080fd5b3360009081526002602090815260408083208584526001909252909120546001600160a01b0316158061057b57506000838152600160205260409020546001600160a01b031633145b6105c45760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b600082815260016020819052604090912054908201546001600160a01b0390911690158061060d575081546001600160a01b031615801561060d57506001600160a01b03811615155b61064f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b600182015461068d5760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107205781546001600160a01b0382166001600160a01b031991821681178455600090815260026020908152604082206003810180546001818101835591855283852001805486163390811790915560048301805480840182559086529385209093018054909516909217909355600a8054919290916107199084906117ac565b9091555050505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b03808216600090815260026020818152604080842080549095168452808420600581015485526004909252832090910154601054929392849060ff16151560011480156107b05750600082115b80156107e257506107df620151806107d98560060154876009015461114790919063ffffffff16565b9061115a565b82105b600285015490915060ff16158015610803575083546001600160a01b031615155b801561088a5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061083a908990600401611548565b60206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a91906117c4565b801561091457506006548454604051633af32abf60e01b81526001600160a01b0392831692633af32abf926108c492911690600401611548565b60206040518083038186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091491906117c4565b801561091e575080155b9695505050505050565b6005546001600160a01b031633148061094b57506003546001600160a01b031633145b6109675760405162461bcd60e51b815260040161043390611719565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff1661099b57600080fd5b336000908152600260205260408120905b6004820154811015610b1a57620530205a10156109c7575050565b60008260040182815481106109de576109de611765565b6000918252602090912001546001600160a01b031690506109fe8161075c565b15610a0c57610a0c81611166565b6001600160a01b0381166000908152600260208190526040909120015460ff1615610b075760048301548290610a44906001906117e1565b1115610ad157600483018054610a5c906001906117e1565b81548110610a6c57610a6c611765565b6000918252602090912001546004840180546001600160a01b039092169184908110610a9a57610a9a611765565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905581610acd816117f8565b9250505b82600401805480610ae457610ae461180f565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610b1281611791565b9150506109ac565b5050565b600754600160a01b900460ff16610b3457600080fd5b610b3d8161075c565b610b895760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b610b9281611166565b50565b6005546001600160a01b0316331480610bb857506003546001600160a01b031633145b610bd45760405162461bcd60e51b815260040161043390611719565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1680610c0d575060005460ff16155b610c705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b600054610100900460ff16158015610c92576000805461ffff19166101011790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff191690558015610d31576000805461ff00191690555b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610da457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d86575b5050505050905060008060005b8351811015610e1e5760026000858381518110610dd057610dd0611765565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610e0c5781610e0881611791565b9250505b80610e1681611791565b915050610db1565b506000816001600160401b03811115610e3957610e39611825565b604051908082528060200260200182016040528015610e62578160200160208202803683370190505b50905060005b8451811015610f195760026000868381518110610e8757610e87611765565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610f0757848181518110610ec757610ec7611765565b6020026020010151828581518110610ee157610ee1611765565b6001600160a01b039092166020928302919091019091015283610f0381611791565b9450505b80610f1181611791565b915050610e68565b5095945050505050565b6001600160a01b038116600090815260026020908152604091829020600301805483518184028101840190945280845260609392830182828015610f9057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610f72575b50505050509050919050565b6005546001600160a01b0316331480610fbf57506003546001600160a01b031633145b610fdb5760405162461bcd60e51b815260040161043390611719565b600754600160a01b900460ff16610ff157600080fd5b6007546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611022903090600401611548565b60206040518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611072919061183b565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926110aa9216908590600401611854565b602060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fc91906117c4565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611136573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b600061115382846117e1565b9392505050565b6000611153828461186d565b6001600160a01b038181166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a08101938490529196959492606085019291600385019182845b8154815260200190600101908083116111de575050505050815250509050600080826040015111801561122b57506001600160a01b03841660009081526002602052604090206006015483115b801561126957506001600160a01b0384166000908152600260205260409020600601546112629062015180906107d9908690611147565b8260400151105b6001600160a01b038087166000908152600260208190526040808320909101805460ff1916600190811790915592881682528120600701805493945091926112b29084906117ac565b90915550506020808301516001600160a01b03861660009081526002909252604082206008018054919290916112e99084906117ac565b909155505060088054600191906000906113049084906117ac565b90915550506020820151600980546000906113209084906117ac565b9091555050815160009015801590611354575082516001600160a01b03861660009081526002602052604090206007015410155b801561135e575081155b156113b7576001600160a01b038516600090815260026020526040812060050180546001929061138f9084906117ac565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb916113ed91899190600401611854565b602060405180830381600087803b15801561140757600080fd5b505af115801561141b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143f91906117c4565b5060075460208401516001600160a01b039091169063a9059cbb90889061146790600261115a565b6040518363ffffffff1660e01b8152600401611484929190611854565b602060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d691906117c4565b506020838101516001600160a01b038781166000818152600285526040908190206005015481519485529484019490945284151583850152925190891692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a3505050505050565b6001600160a01b0391909116815260200190565b8015158114610b9257600080fd5b60006020828403121561157c57600080fd5b81356111538161155c565b6001600160a01b0381168114610b9257600080fd5b6000602082840312156115ae57600080fd5b813561115381611587565b600060208083528351808285015260005b818110156115e6578581018301518582016040015282016115ca565b818111156115f8576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561162157600080fd5b50508035926020909101359150565b60006020828403121561164257600080fd5b5035919050565b6000806000806080858703121561165f57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561169157600080fd5b843561169c81611587565b935060208501356116ac81611587565b925060408501356116bc81611587565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b8181101561170d5783516001600160a01b0316835292840192918401916001016116e8565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156117a5576117a561177b565b5060010190565b600082198211156117bf576117bf61177b565b500190565b6000602082840312156117d657600080fd5b81516111538161155c565b6000828210156117f3576117f361177b565b500390565b6000816118075761180761177b565b506000190190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60006020828403121561184d57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60008261188a57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212207945720f583c6fde24d584c738f4379e4f1c998b9f67c4c5e4a61d09a8b8624864736f6c63430008080033",
483
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011d5760003560e01c806302fb0c5e14610122578063119e5bf31461014b57806321132aad1461016b5780632c159a1a1461018057806341155d5e1461019357806354fd4d50146101b45780635aef7de6146101db5780635b419a65146101ee5780636d619ef8146102015780638da5cb5b14610214578063a1df6fd314610227578063a87430ba14610234578063acec338a146102e0578063af6346b0146102f3578063b2596a67146102fb578063b6567cd514610345578063b9fb2d1814610358578063ba6f56801461036b578063cf756fdf14610394578063d80528ae146103a7578063e951a3aa146103b9578063e9881a5e146103d9578063efbe1c1c146103ec575b600080fd5b60075461013690600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b60075461015e906001600160a01b031681565b6040516101429190611548565b61017e61017936600461156a565b6103f4565b005b60065461015e906001600160a01b031681565b6101a66101a136600461159c565b61044f565b604051908152602001610142565b60408051808201825260058152640312e342e360dc1b6020820152905161014291906115b9565b60035461015e906001600160a01b031681565b61017e6101fc36600461160e565b61051c565b61013661020f36600461159c565b61075c565b60055461015e906001600160a01b031681565b6010546101369060ff1681565b61029561024236600461159c565b6002602081905260009182526040909120805460018201549282015460058301546006840154600785015460088601546009909601546001600160a01b03909516969560ff909416949293919290919088565b604080516001600160a01b0390991689526020890197909752941515958701959095526060860192909252608085015260a084015260c083019190915260e082015261010001610142565b61017e6102ee36600461156a565b610928565b61017e610985565b61032a610309366004611630565b60046020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610142565b61017e61035336600461159c565b610b1e565b61017e610366366004611649565b610b95565b61015e610379366004611630565b6001602052600090815260409020546001600160a01b031681565b61017e6103a236600461167b565b610bf4565b600854600954600a5461032a92919083565b6103cc6103c736600461159c565b610d38565b60405161014291906116cc565b6103cc6103e736600461159c565b610f23565b61017e610f9c565b6005546001600160a01b031633148061041757506003546001600160a01b031633145b61043c5760405162461bcd60e51b815260040161043390611719565b60405180910390fd5b6010805460ff1916911515919091179055565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835284938301828280156104b957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161049b575b505050505090506000805b8251811015610514576104ef8382815181106104e2576104e2611765565b602002602001015161075c565b1561050257816104fe81611791565b9250505b8061050c81611791565b9150506104c4565b509392505050565b600754600160a01b900460ff1661053257600080fd5b3360009081526002602090815260408083208584526001909252909120546001600160a01b0316158061057b57506000838152600160205260409020546001600160a01b031633145b6105c45760405162461bcd60e51b815260206004820152601a602482015279696e7669746520636f646520616c726561647920696e2075736560301b6044820152606401610433565b600082815260016020819052604090912054908201546001600160a01b0390911690158061060d575081546001600160a01b031615801561060d57506001600160a01b03811615155b61064f5760405162461bcd60e51b81526020600482015260136024820152721d5cd95c88185b1c9958591e481a9bda5b9959606a1b6044820152606401610433565b600182015461068d5760018083018590554260068401819055600984015560008581526020919091526040902080546001600160a01b031916331790555b6001600160a01b038116156107205781546001600160a01b0382166001600160a01b031991821681178455600090815260026020908152604082206003810180546001818101835591855283852001805486163390811790915560048301805480840182559086529385209093018054909516909217909355600a8054919290916107199084906117ac565b9091555050505b60405133906001600160a01b038316907fd8c638d8979e2ba5dba1f0d66246ee4b1c54b838f0e0a2b601365345eb23b05190600090a350505050565b6001600160a01b03808216600090815260026020818152604080842080549095168452808420600581015485526004909252832090910154601054929392849060ff16151560011480156107b05750600082115b80156107e257506107df620151806107d98560060154876009015461114790919063ffffffff16565b9061115a565b82105b600285015490915060ff16158015610803575083546001600160a01b031615155b801561088a5750600654604051633af32abf60e01b81526001600160a01b0390911690633af32abf9061083a908990600401611548565b60206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a91906117c4565b801561091457506006548454604051633af32abf60e01b81526001600160a01b0392831692633af32abf926108c492911690600401611548565b60206040518083038186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091491906117c4565b801561091e575080155b9695505050505050565b6005546001600160a01b031633148061094b57506003546001600160a01b031633145b6109675760405162461bcd60e51b815260040161043390611719565b60078054911515600160a01b0260ff60a01b19909216919091179055565b600754600160a01b900460ff1661099b57600080fd5b336000908152600260205260408120905b6004820154811015610b1a57620530205a10156109c7575050565b60008260040182815481106109de576109de611765565b6000918252602090912001546001600160a01b031690506109fe8161075c565b15610a0c57610a0c81611166565b6001600160a01b0381166000908152600260208190526040909120015460ff1615610b075760048301548290610a44906001906117e1565b1115610ad157600483018054610a5c906001906117e1565b81548110610a6c57610a6c611765565b6000918252602090912001546004840180546001600160a01b039092169184908110610a9a57610a9a611765565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905581610acd816117f8565b9250505b82600401805480610ae457610ae461180f565b600082815260209020810160001990810180546001600160a01b03191690550190555b5080610b1281611791565b9150506109ac565b5050565b600754600160a01b900460ff16610b3457600080fd5b610b3d8161075c565b610b895760405162461bcd60e51b815260206004820181905260248201527f75736572206e6f7420656c6c6967626c6520666f7220626f756e7479207965746044820152606401610433565b610b9281611166565b50565b6005546001600160a01b0316331480610bb857506003546001600160a01b031633145b610bd45760405162461bcd60e51b815260040161043390611719565b600093845260046020526040909320918255600282019290925560010155565b600054610100900460ff1680610c0d575060005460ff16155b610c705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610433565b600054610100900460ff16158015610c92576000805461ffff19166101011790555b60058054336001600160a01b0319918216179091556006805482166001600160a01b0387811691909117909155600780546000805260046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ed869055600160a01b6001600160a81b031990911687841617179055600380549092169087161790556010805460ff191690558015610d31576000805461ff00191690555b5050505050565b6001600160a01b0381166000908152600260209081526040808320600401805482518185028101850190935280835260609493830182828015610da457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d86575b5050505050905060008060005b8351811015610e1e5760026000858381518110610dd057610dd0611765565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610e0c5781610e0881611791565b9250505b80610e1681611791565b915050610db1565b506000816001600160401b03811115610e3957610e39611825565b604051908082528060200260200182016040528015610e62578160200160208202803683370190505b50905060005b8451811015610f195760026000868381518110610e8757610e87611765565b6020908102919091018101516001600160a01b031682528101919091526040016000206002015460ff16610f0757848181518110610ec757610ec7611765565b6020026020010151828581518110610ee157610ee1611765565b6001600160a01b039092166020928302919091019091015283610f0381611791565b9450505b80610f1181611791565b915050610e68565b5095945050505050565b6001600160a01b038116600090815260026020908152604091829020600301805483518184028101840190945280845260609392830182828015610f9057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610f72575b50505050509050919050565b6005546001600160a01b0316331480610fbf57506003546001600160a01b031633145b610fdb5760405162461bcd60e51b815260040161043390611719565b600754600160a01b900460ff16610ff157600080fd5b6007546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611022903090600401611548565b60206040518083038186803b15801561103a57600080fd5b505afa15801561104e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611072919061183b565b60075460035460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb926110aa9216908590600401611854565b602060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fc91906117c4565b506003546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611136573d6000803e3d6000fd5b50506007805460ff60a01b19169055565b600061115382846117e1565b9392505050565b6000611153828461186d565b6001600160a01b038181166000908152600260208181526040808420805460099091015495168085528185206005908101548652600484528286208351608081018552815481526001820154958101959095529485015484840152825160a08101938490529196959492606085019291600385019182845b8154815260200190600101908083116111de575050505050815250509050600080826040015111801561122b57506001600160a01b03841660009081526002602052604090206006015483115b801561126957506001600160a01b0384166000908152600260205260409020600601546112629062015180906107d9908690611147565b8260400151105b6001600160a01b038087166000908152600260208190526040808320909101805460ff1916600190811790915592881682528120600701805493945091926112b29084906117ac565b90915550506020808301516001600160a01b03861660009081526002909252604082206008018054919290916112e99084906117ac565b909155505060088054600191906000906113049084906117ac565b90915550506020820151600980546000906113209084906117ac565b9091555050815160009015801590611354575082516001600160a01b03861660009081526002602052604090206007015410155b801561135e575081155b156113b7576001600160a01b038516600090815260026020526040812060050180546001929061138f9084906117ac565b9091555050506001600160a01b03841660009081526002602052604090204260069091015560015b600754602084015160405163a9059cbb60e01b81526001600160a01b039092169163a9059cbb916113ed91899190600401611854565b602060405180830381600087803b15801561140757600080fd5b505af115801561141b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143f91906117c4565b5060075460208401516001600160a01b039091169063a9059cbb90889061146790600261115a565b6040518363ffffffff1660e01b8152600401611484929190611854565b602060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d691906117c4565b506020838101516001600160a01b038781166000818152600285526040908190206005015481519485529484019490945284151583850152925190891692917f6081787cd1bd02ab1576c52f03e8710d792d460e7881c3155d77d23893f3768b919081900360600190a3505050505050565b6001600160a01b0391909116815260200190565b8015158114610b9257600080fd5b60006020828403121561157c57600080fd5b81356111538161155c565b6001600160a01b0381168114610b9257600080fd5b6000602082840312156115ae57600080fd5b813561115381611587565b600060208083528351808285015260005b818110156115e6578581018301518582016040015282016115ca565b818111156115f8576000604083870101525b50601f01601f1916929092016040019392505050565b6000806040838503121561162157600080fd5b50508035926020909101359150565b60006020828403121561164257600080fd5b5035919050565b6000806000806080858703121561165f57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806000806080858703121561169157600080fd5b843561169c81611587565b935060208501356116ac81611587565b925060408501356116bc81611587565b9396929550929360600135925050565b6020808252825182820181905260009190848201906040850190845b8181101561170d5783516001600160a01b0316835292840192918401916001016116e8565b50909695505050505050565b6020808252602c908201527f4f6e6c79206f776e6572206f72206176617461722063616e20706572666f726d60408201526b103a3434b99030b1ba34b7b760a11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156117a5576117a561177b565b5060010190565b600082198211156117bf576117bf61177b565b500190565b6000602082840312156117d657600080fd5b81516111538161155c565b6000828210156117f3576117f361177b565b500390565b6000816118075761180761177b565b506000190190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60006020828403121561184d57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60008261188a57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212207945720f583c6fde24d584c738f4379e4f1c998b9f67c4c5e4a61d09a8b8624864736f6c63430008080033",
484
484
  "linkReferences": {},
485
485
  "deployedLinkReferences": {}
486
486
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/c5c3b76691d8c6c02df328effb8bfb80.json"
3
+ "buildInfo": "../../../build-info/613bb8a466237f292716bb36c0bdd76e.json"
4
4
  }
@@ -207,11 +207,13 @@ contract CompoundVotingMachine is ContextUpgradeable, DAOUpgradeableContract {
207
207
  function initialize(
208
208
  INameService ns_, // the DAO avatar
209
209
  uint256 votingPeriodBlocks_, //number of blocks a proposal is open for voting before expiring
210
- address guardian_
210
+ address guardian_,
211
+ address reputation_
211
212
  ) public initializer {
212
213
  foundationGuardianRelease = 1672531200; //01/01/2023
213
214
  setDAO(ns_);
214
- rep = ReputationInterface(ns_.getAddress("REPUTATION"));
215
+ rep = ReputationInterface(reputation_);
216
+
215
217
  uint256[9] memory params = [
216
218
  votingPeriodBlocks_,
217
219
  30000, //3% quorum
@@ -234,6 +236,10 @@ contract CompoundVotingMachine is ContextUpgradeable, DAOUpgradeableContract {
234
236
  }
235
237
  }
236
238
 
239
+ function updateRep() public {
240
+ rep = ReputationInterface(nameService.getAddress("REPUTATION"));
241
+ }
242
+
237
243
  ///@notice set the different voting parameters, value of 0 is ignored
238
244
  ///cell 0 - votingPeriod blocks, 1 - quoromPercentage, 2 - proposalPercentage,3 - proposalMaxOperations, 4 - voting delay blocks, 5 - queuePeriod time
239
245
  ///6 - fastQueuePeriod time, 7 - gameChangerPeriod time, 8 - gracePeriod time