@gooddollar/goodprotocol 1.0.19-beta.2 → 1.0.19-beta.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 (179) hide show
  1. package/artifacts/abis/DistributionHelper.min.json +1 -0
  2. package/artifacts/abis/ERC20.min.json +1 -1
  3. package/artifacts/abis/GoodDollarMintBurnWrapper.min.json +1 -0
  4. package/artifacts/abis/GoodDollarStaking.min.json +1 -0
  5. package/artifacts/abis/GoodReserveCDai.min.json +1 -1
  6. package/artifacts/abis/IERC2917.min.json +1 -1
  7. package/artifacts/abis/IMultichainRouter.min.json +1 -0
  8. package/artifacts/abis/IRouter.min.json +1 -0
  9. package/artifacts/abis/Math64x64.min.json +1 -0
  10. package/artifacts/abis/PausableControl.min.json +1 -0
  11. package/artifacts/abis/RewardsMinter.min.json +1 -0
  12. package/artifacts/abis/StakingRewardsFixedAPY.min.json +1 -0
  13. package/artifacts/abis/TokenOperation.min.json +1 -0
  14. package/artifacts/abis/cERC20.min.json +1 -1
  15. package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
  16. package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
  17. package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
  18. package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
  19. package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
  20. package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
  21. package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
  22. package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
  23. package/artifacts/contracts/Interfaces.sol/ERC20.json +13 -0
  24. package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
  25. package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
  26. package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
  27. package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
  28. package/artifacts/contracts/Interfaces.sol/IERC2917.json +13 -0
  29. package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
  30. package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
  31. package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
  32. package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
  33. package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
  34. package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
  35. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +4 -0
  36. package/artifacts/contracts/Interfaces.sol/IMultichainRouter.json +39 -0
  37. package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
  38. package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
  39. package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
  40. package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
  41. package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
  42. package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
  43. package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
  44. package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
  45. package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
  46. package/artifacts/contracts/Interfaces.sol/cERC20.json +13 -0
  47. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
  48. package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.json +2 -2
  49. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
  50. package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +2 -2
  51. package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
  52. package/artifacts/contracts/governance/GReputation.sol/GReputation.json +2 -2
  53. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +4 -0
  54. package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.json +1028 -0
  55. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +4 -0
  56. package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.json +35 -0
  57. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
  58. package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.json +2 -2
  59. package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
  60. package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
  61. package/artifacts/contracts/governance/Reputation.sol/Reputation.json +2 -2
  62. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
  63. package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.json +2 -2
  64. package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
  65. package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
  66. package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
  67. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
  68. package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.json +2 -2
  69. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
  70. package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.json +2 -2
  71. package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
  72. package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
  73. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
  74. package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.json +2 -2
  75. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
  76. package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.json +2 -2
  77. package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
  78. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
  79. package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.json +2 -2
  80. package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
  81. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
  82. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.json +2 -2
  83. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
  84. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.json +2 -2
  85. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
  86. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.json +2 -2
  87. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
  88. package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.json +2 -2
  89. package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
  90. package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
  91. package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
  92. package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
  93. package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
  94. package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
  95. package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
  96. package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
  97. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +4 -0
  98. package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.json +574 -0
  99. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
  100. package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.json +2 -2
  101. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
  102. package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.json +2 -2
  103. package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
  104. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
  105. package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.json +65 -2
  106. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
  107. package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.json +2 -2
  108. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
  109. package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.json +2 -2
  110. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
  111. package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.json +2 -2
  112. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
  113. package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.json +2 -2
  114. package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
  115. package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
  116. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
  117. package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.json +2 -2
  118. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
  119. package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.json +2 -2
  120. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
  121. package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.json +2 -2
  122. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
  123. package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.json +2 -2
  124. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
  125. package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.json +2 -2
  126. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
  127. package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.json +2 -2
  128. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
  129. package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.json +2 -2
  130. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +4 -0
  131. package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.json +10 -0
  132. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +4 -0
  133. package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.json +153 -0
  134. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
  135. package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.json +2 -2
  136. package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
  137. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
  138. package/artifacts/contracts/utils/BulkProof.sol/BulkProof.json +2 -2
  139. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
  140. package/artifacts/contracts/utils/DAOContract.sol/DAOContract.json +2 -2
  141. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
  142. package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.json +2 -2
  143. package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
  144. package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
  145. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +4 -0
  146. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.json +954 -0
  147. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +4 -0
  148. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.json +59 -0
  149. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +4 -0
  150. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.json +69 -0
  151. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +4 -0
  152. package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.json +10 -0
  153. package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
  154. package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
  155. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
  156. package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.json +2 -2
  157. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
  158. package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.json +2 -2
  159. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
  160. package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.json +2 -2
  161. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
  162. package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.json +2 -2
  163. package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
  164. package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
  165. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
  166. package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.json +2 -2
  167. package/contracts/Interfaces.sol +12 -0
  168. package/contracts/governance/GoodDollarStaking.sol +260 -0
  169. package/contracts/reserve/DistributionHelper.sol +118 -0
  170. package/contracts/reserve/GoodReserveCDai.sol +28 -1
  171. package/contracts/staking/utils/Math64X64.sol +268 -0
  172. package/contracts/staking/utils/StakingRewardsFixedAPY.sol +141 -0
  173. package/contracts/utils/GoodDollarMintBurnWrapper.sol +417 -0
  174. package/package.json +1 -1
  175. package/releases/deployment.json +4 -1
  176. package/scripts/multichain-deploy/basicdao-deploy.ts +22 -20
  177. package/scripts/multichain-deploy/helpers.ts +5 -3
  178. package/scripts/multichain-deploy/multichainWrapper-deploy.ts +67 -0
  179. package/scripts/voltageswaps.ts +47 -0
@@ -0,0 +1,574 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "DistributionHelper",
4
+ "sourceName": "contracts/reserve/DistributionHelper.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "address",
12
+ "name": "previousAdmin",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "address",
18
+ "name": "newAdmin",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "AdminChanged",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "beacon",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "BeaconUpgraded",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "anonymous": false,
40
+ "inputs": [
41
+ {
42
+ "indexed": false,
43
+ "internalType": "uint256",
44
+ "name": "distributed",
45
+ "type": "uint256"
46
+ },
47
+ {
48
+ "indexed": false,
49
+ "internalType": "uint256",
50
+ "name": "startingBalance",
51
+ "type": "uint256"
52
+ },
53
+ {
54
+ "indexed": false,
55
+ "internalType": "uint256",
56
+ "name": "incomingAmount",
57
+ "type": "uint256"
58
+ }
59
+ ],
60
+ "name": "Distribution",
61
+ "type": "event"
62
+ },
63
+ {
64
+ "anonymous": false,
65
+ "inputs": [
66
+ {
67
+ "indexed": true,
68
+ "internalType": "bytes32",
69
+ "name": "role",
70
+ "type": "bytes32"
71
+ },
72
+ {
73
+ "indexed": true,
74
+ "internalType": "bytes32",
75
+ "name": "previousAdminRole",
76
+ "type": "bytes32"
77
+ },
78
+ {
79
+ "indexed": true,
80
+ "internalType": "bytes32",
81
+ "name": "newAdminRole",
82
+ "type": "bytes32"
83
+ }
84
+ ],
85
+ "name": "RoleAdminChanged",
86
+ "type": "event"
87
+ },
88
+ {
89
+ "anonymous": false,
90
+ "inputs": [
91
+ {
92
+ "indexed": true,
93
+ "internalType": "bytes32",
94
+ "name": "role",
95
+ "type": "bytes32"
96
+ },
97
+ {
98
+ "indexed": true,
99
+ "internalType": "address",
100
+ "name": "account",
101
+ "type": "address"
102
+ },
103
+ {
104
+ "indexed": true,
105
+ "internalType": "address",
106
+ "name": "sender",
107
+ "type": "address"
108
+ }
109
+ ],
110
+ "name": "RoleGranted",
111
+ "type": "event"
112
+ },
113
+ {
114
+ "anonymous": false,
115
+ "inputs": [
116
+ {
117
+ "indexed": true,
118
+ "internalType": "bytes32",
119
+ "name": "role",
120
+ "type": "bytes32"
121
+ },
122
+ {
123
+ "indexed": true,
124
+ "internalType": "address",
125
+ "name": "account",
126
+ "type": "address"
127
+ },
128
+ {
129
+ "indexed": true,
130
+ "internalType": "address",
131
+ "name": "sender",
132
+ "type": "address"
133
+ }
134
+ ],
135
+ "name": "RoleRevoked",
136
+ "type": "event"
137
+ },
138
+ {
139
+ "anonymous": false,
140
+ "inputs": [
141
+ {
142
+ "indexed": true,
143
+ "internalType": "address",
144
+ "name": "implementation",
145
+ "type": "address"
146
+ }
147
+ ],
148
+ "name": "Upgraded",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "DEFAULT_ADMIN_ROLE",
154
+ "outputs": [
155
+ {
156
+ "internalType": "bytes32",
157
+ "name": "",
158
+ "type": "bytes32"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "components": [
168
+ {
169
+ "internalType": "uint32",
170
+ "name": "bps",
171
+ "type": "uint32"
172
+ },
173
+ {
174
+ "internalType": "uint32",
175
+ "name": "chainId",
176
+ "type": "uint32"
177
+ },
178
+ {
179
+ "internalType": "address",
180
+ "name": "addr",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "internalType": "enum DistributionHelper.TransferType",
185
+ "name": "transferType",
186
+ "type": "uint8"
187
+ }
188
+ ],
189
+ "internalType": "struct DistributionHelper.DistributionRecipient",
190
+ "name": "_recipient",
191
+ "type": "tuple"
192
+ }
193
+ ],
194
+ "name": "addRecipient",
195
+ "outputs": [],
196
+ "stateMutability": "nonpayable",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "avatar",
202
+ "outputs": [
203
+ {
204
+ "internalType": "address",
205
+ "name": "",
206
+ "type": "address"
207
+ }
208
+ ],
209
+ "stateMutability": "view",
210
+ "type": "function"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "dao",
215
+ "outputs": [
216
+ {
217
+ "internalType": "contract Controller",
218
+ "name": "",
219
+ "type": "address"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [
227
+ {
228
+ "internalType": "uint256",
229
+ "name": "",
230
+ "type": "uint256"
231
+ }
232
+ ],
233
+ "name": "distributionRecipients",
234
+ "outputs": [
235
+ {
236
+ "internalType": "uint32",
237
+ "name": "bps",
238
+ "type": "uint32"
239
+ },
240
+ {
241
+ "internalType": "uint32",
242
+ "name": "chainId",
243
+ "type": "uint32"
244
+ },
245
+ {
246
+ "internalType": "address",
247
+ "name": "addr",
248
+ "type": "address"
249
+ },
250
+ {
251
+ "internalType": "enum DistributionHelper.TransferType",
252
+ "name": "transferType",
253
+ "type": "uint8"
254
+ }
255
+ ],
256
+ "stateMutability": "view",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [],
261
+ "name": "fuseBridge",
262
+ "outputs": [
263
+ {
264
+ "internalType": "address",
265
+ "name": "",
266
+ "type": "address"
267
+ }
268
+ ],
269
+ "stateMutability": "view",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "bytes32",
276
+ "name": "role",
277
+ "type": "bytes32"
278
+ }
279
+ ],
280
+ "name": "getRoleAdmin",
281
+ "outputs": [
282
+ {
283
+ "internalType": "bytes32",
284
+ "name": "",
285
+ "type": "bytes32"
286
+ }
287
+ ],
288
+ "stateMutability": "view",
289
+ "type": "function"
290
+ },
291
+ {
292
+ "inputs": [
293
+ {
294
+ "internalType": "bytes32",
295
+ "name": "role",
296
+ "type": "bytes32"
297
+ },
298
+ {
299
+ "internalType": "uint256",
300
+ "name": "index",
301
+ "type": "uint256"
302
+ }
303
+ ],
304
+ "name": "getRoleMember",
305
+ "outputs": [
306
+ {
307
+ "internalType": "address",
308
+ "name": "",
309
+ "type": "address"
310
+ }
311
+ ],
312
+ "stateMutability": "view",
313
+ "type": "function"
314
+ },
315
+ {
316
+ "inputs": [
317
+ {
318
+ "internalType": "bytes32",
319
+ "name": "role",
320
+ "type": "bytes32"
321
+ }
322
+ ],
323
+ "name": "getRoleMemberCount",
324
+ "outputs": [
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "stateMutability": "view",
332
+ "type": "function"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "bytes32",
338
+ "name": "role",
339
+ "type": "bytes32"
340
+ },
341
+ {
342
+ "internalType": "address",
343
+ "name": "account",
344
+ "type": "address"
345
+ }
346
+ ],
347
+ "name": "grantRole",
348
+ "outputs": [],
349
+ "stateMutability": "nonpayable",
350
+ "type": "function"
351
+ },
352
+ {
353
+ "inputs": [
354
+ {
355
+ "internalType": "bytes32",
356
+ "name": "role",
357
+ "type": "bytes32"
358
+ },
359
+ {
360
+ "internalType": "address",
361
+ "name": "account",
362
+ "type": "address"
363
+ }
364
+ ],
365
+ "name": "hasRole",
366
+ "outputs": [
367
+ {
368
+ "internalType": "bool",
369
+ "name": "",
370
+ "type": "bool"
371
+ }
372
+ ],
373
+ "stateMutability": "view",
374
+ "type": "function"
375
+ },
376
+ {
377
+ "inputs": [
378
+ {
379
+ "internalType": "contract INameService",
380
+ "name": "_ns",
381
+ "type": "address"
382
+ }
383
+ ],
384
+ "name": "initialize",
385
+ "outputs": [],
386
+ "stateMutability": "nonpayable",
387
+ "type": "function"
388
+ },
389
+ {
390
+ "inputs": [],
391
+ "name": "multiChainBridge",
392
+ "outputs": [
393
+ {
394
+ "internalType": "contract IMultichainRouter",
395
+ "name": "",
396
+ "type": "address"
397
+ }
398
+ ],
399
+ "stateMutability": "view",
400
+ "type": "function"
401
+ },
402
+ {
403
+ "inputs": [],
404
+ "name": "nameService",
405
+ "outputs": [
406
+ {
407
+ "internalType": "contract INameService",
408
+ "name": "",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "stateMutability": "view",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [],
417
+ "name": "nativeToken",
418
+ "outputs": [
419
+ {
420
+ "internalType": "contract IGoodDollar",
421
+ "name": "",
422
+ "type": "address"
423
+ }
424
+ ],
425
+ "stateMutability": "view",
426
+ "type": "function"
427
+ },
428
+ {
429
+ "inputs": [
430
+ {
431
+ "internalType": "uint256",
432
+ "name": "_amount",
433
+ "type": "uint256"
434
+ }
435
+ ],
436
+ "name": "onDistribution",
437
+ "outputs": [],
438
+ "stateMutability": "nonpayable",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "internalType": "bytes32",
445
+ "name": "role",
446
+ "type": "bytes32"
447
+ },
448
+ {
449
+ "internalType": "address",
450
+ "name": "account",
451
+ "type": "address"
452
+ }
453
+ ],
454
+ "name": "renounceRole",
455
+ "outputs": [],
456
+ "stateMutability": "nonpayable",
457
+ "type": "function"
458
+ },
459
+ {
460
+ "inputs": [
461
+ {
462
+ "internalType": "bytes32",
463
+ "name": "role",
464
+ "type": "bytes32"
465
+ },
466
+ {
467
+ "internalType": "address",
468
+ "name": "account",
469
+ "type": "address"
470
+ }
471
+ ],
472
+ "name": "revokeRole",
473
+ "outputs": [],
474
+ "stateMutability": "nonpayable",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [
479
+ {
480
+ "internalType": "bytes4",
481
+ "name": "interfaceId",
482
+ "type": "bytes4"
483
+ }
484
+ ],
485
+ "name": "supportsInterface",
486
+ "outputs": [
487
+ {
488
+ "internalType": "bool",
489
+ "name": "",
490
+ "type": "bool"
491
+ }
492
+ ],
493
+ "stateMutability": "view",
494
+ "type": "function"
495
+ },
496
+ {
497
+ "inputs": [],
498
+ "name": "updateAvatar",
499
+ "outputs": [],
500
+ "stateMutability": "nonpayable",
501
+ "type": "function"
502
+ },
503
+ {
504
+ "inputs": [
505
+ {
506
+ "components": [
507
+ {
508
+ "internalType": "uint32",
509
+ "name": "bps",
510
+ "type": "uint32"
511
+ },
512
+ {
513
+ "internalType": "uint32",
514
+ "name": "chainId",
515
+ "type": "uint32"
516
+ },
517
+ {
518
+ "internalType": "address",
519
+ "name": "addr",
520
+ "type": "address"
521
+ },
522
+ {
523
+ "internalType": "enum DistributionHelper.TransferType",
524
+ "name": "transferType",
525
+ "type": "uint8"
526
+ }
527
+ ],
528
+ "internalType": "struct DistributionHelper.DistributionRecipient",
529
+ "name": "_recipient",
530
+ "type": "tuple"
531
+ }
532
+ ],
533
+ "name": "updateRecipient",
534
+ "outputs": [],
535
+ "stateMutability": "nonpayable",
536
+ "type": "function"
537
+ },
538
+ {
539
+ "inputs": [
540
+ {
541
+ "internalType": "address",
542
+ "name": "newImplementation",
543
+ "type": "address"
544
+ }
545
+ ],
546
+ "name": "upgradeTo",
547
+ "outputs": [],
548
+ "stateMutability": "nonpayable",
549
+ "type": "function"
550
+ },
551
+ {
552
+ "inputs": [
553
+ {
554
+ "internalType": "address",
555
+ "name": "newImplementation",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "internalType": "bytes",
560
+ "name": "data",
561
+ "type": "bytes"
562
+ }
563
+ ],
564
+ "name": "upgradeToAndCall",
565
+ "outputs": [],
566
+ "stateMutability": "payable",
567
+ "type": "function"
568
+ }
569
+ ],
570
+ "bytecode": "0x60a06040523060601b60805234801561001757600080fd5b5060805160601c6121ba61004b600039600081816106340152818161067d01528181610836015261087601526121ba6000f3fe6080604052600436106101105760003560e01c806301ffc9a7146101155780631b3c90a81461014a5780631e599ff714610161578063248a9ca31461018f5780632f2ff15d146101bd578063346ef41b146101dd57806336568abe1461020d5780633659cfe61461022d5780633e6326fc1461024d5780634162169f1461026d5780634181d43e1461028d5780634b9adf91146102ae5780634f1ef286146102ce5780635aef7de6146102e15780639010d07c1461030157806391d1485414610321578063a217fddf14610341578063a8ba389014610356578063b3d6f09614610376578063c4d66de814610396578063ca15c873146103b6578063d547741f146103d6578063e1758bd8146103f6575b600080fd5b34801561012157600080fd5b50610135610130366004611b32565b61040b565b60405190151581526020015b60405180910390f35b34801561015657600080fd5b5061015f610436565b005b34801561016d57600080fd5b5061016354610182906001600160a01b031681565b6040516101419190611b5c565b34801561019b57600080fd5b506101af6101aa366004611b70565b61057b565b604051908152602001610141565b3480156101c957600080fd5b5061015f6101d8366004611b9e565b610590565b3480156101e957600080fd5b506101fd6101f8366004611b70565b6105b8565b6040516101419493929190611be4565b34801561021957600080fd5b5061015f610228366004611b9e565b610606565b34801561023957600080fd5b5061015f610248366004611c35565b610629565b34801561025957600080fd5b50606754610182906001600160a01b031681565b34801561027957600080fd5b50606554610182906001600160a01b031681565b34801561029957600080fd5b5061016454610182906001600160a01b031681565b3480156102ba57600080fd5b5061015f6102c9366004611cb1565b6106fb565b61015f6102dc366004611d35565b61082b565b3480156102ed57600080fd5b50606654610182906001600160a01b031681565b34801561030d57600080fd5b5061018261031c366004611ddc565b6108e1565b34801561032d57600080fd5b5061013561033c366004611b9e565b610901565b34801561034d57600080fd5b506101af600081565b34801561036257600080fd5b5061015f610371366004611b70565b61092c565b34801561038257600080fd5b5061015f610391366004611cb1565b610a93565b3480156103a257600080fd5b5061015f6103b1366004611c35565b610b70565b3480156103c257600080fd5b506101af6103d1366004611b70565b610ce0565b3480156103e257600080fd5b5061015f6103f1366004611b9e565b610cf8565b34801561040257600080fd5b50610182610d02565b60006001600160e01b03198216635a05180f60e01b1480610430575061043082610d9e565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611dfe565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561052157600080fd5b505afa158015610535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105599190611dfe565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b61059a8282610dd3565b6000828152610130602052604090206105b39082610df0565b505050565b61016281815481106105c957600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6106108282610e05565b6000828152610130602052604090206105b39082610e7f565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561067b5760405162461bcd60e51b815260040161067290611e1b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106ad610e94565b6001600160a01b0316146106d35760405162461bcd60e51b815260040161067290611e55565b6106dc81610eb0565b604080516000808252602082019092526106f891839190610eb8565b50565b60006107078133610fff565b60005b610162548110156105b35782604001516001600160a01b0316610162828154811061073757610737611e8f565b600091825260209091200154600160401b90046001600160a01b031614156108155782610162828154811061076e5761076e611e8f565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b83600281111561080957610809611bce565b02179055505050505050565b8061081f81611ebb565b91505061070a565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108745760405162461bcd60e51b815260040161067290611e1b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108a6610e94565b6001600160a01b0316146108cc5760405162461bcd60e51b815260040161067290611e55565b6108d582610eb0565b61082782826001610eb8565b6000828152610130602052604081206108fa9083611063565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610936610d02565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109619190611b5c565b60206040518083038186803b15801561097957600080fd5b505afa15801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611ed6565b9050806109bc575050565b6000805b61016254811015610a4c57600061016282815481106109e1576109e1611e8f565b6000918252602090912001805490915063ffffffff1615610a3957805460009061271090610a159063ffffffff1687611eef565b610a1f9190611f0e565b9050610a2b8185611f30565b9350610a37828261106f565b505b5080610a4481611ebb565b9150506109c0565b5060408051828152602081018490529081018490527fa7568b37f5ca2785294dcf69aefee9003fc26275a9f4b97b7a39d7a48e93ac489060600160405180910390a1505050565b6000610a9f8133610fff565b610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836002811115610b6557610b65611bce565b021790555050505050565b600054610100900460ff1680610b89575060005460ff16155b610ba55760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015610bc7576000805461ffff19166101011790555b610bcf611320565b610bd8826113ab565b606654610bf0906000906001600160a01b03166113ce565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610c5357600080fd5b505afa158015610c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8b9190611dfe565b61016380546001600160a01b03929092166001600160a01b0319928316179055610164805490911673f27ee99622c3c9b264583dacb2cce056e194494f1790558015610827576000805461ff00191690555050565b600081815261013060205260408120610430906113d8565b61061082826113e2565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015610d6157600080fd5b505afa158015610d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d999190611dfe565b905090565b60006001600160e01b03198216637965db0b60e01b148061043057506301ffc9a760e01b6001600160e01b0319831614610430565b610ddc8261057b565b610de68133610fff565b6105b383836113ff565b60006108fa836001600160a01b038416611485565b6001600160a01b0381163314610e755760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610672565b61082782826114d4565b60006108fa836001600160a01b03841661153b565b60008051602061213e833981519152546001600160a01b031690565b6106f861162e565b6000610ec2610e94565b9050610ecd84611702565b600083511180610eda5750815b15610eeb57610ee98484611795565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610ff857805460ff19166001178155604051610f66908690610f37908590602401611b5c565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611795565b50805460ff19168155610f77610e94565b6001600160a01b0316826001600160a01b031614610fef5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610672565b610ff885611880565b5050505050565b6110098282610901565b61082757611021816001600160a01b031660146118c0565b61102c8360206118c0565b60405160200161103d929190611fc6565b60408051601f198184030181529082905262461bcd60e51b825261067291600401612061565b60006108fa8383611a5b565b60008254600160e01b900460ff16600281111561108e5761108e611bce565b14156111525761109c610d02565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea093611100939116918691603801612074565b602060405180830381600087803b15801561111a57600080fd5b505af115801561112e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b3919061209b565b60018254600160e01b900460ff16600281111561117157611171611bce565b14156112a75761117f610d02565b6101645460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b1580156111cd57600080fd5b505af11580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611205919061209b565b50610164546001600160a01b031663241dc2df611220610d02565b845460405160e084901b6001600160e01b03191681526001600160a01b039283166004820152600160401b8204909216602483015260448201859052600160201b900463ffffffff166064820152608401600060405180830381600087803b15801561128b57600080fd5b505af115801561129f573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff1660028111156112c6576112c6611bce565b1415610827576112d4610d02565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea090608401611100565b600054610100900460ff1680611339575060005460ff16155b6113555760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015611377576000805461ffff19166101011790555b61137f611a85565b611387611a85565b61138f611a85565b611397611a85565b80156106f8576000805461ff001916905550565b606780546001600160a01b0319166001600160a01b0383161790556106f8610436565b61059a8282611aef565b6000610430825490565b6113eb8261057b565b6113f58133610fff565b6105b383836114d4565b6114098282610901565b61082757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008181526001830160205260408120546114cc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610430565b506000610430565b6114de8282610901565b1561082757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000818152600183016020526040812054801561162457600061155f6001836120bd565b8554909150600090611573906001906120bd565b90508181146115d857600086600001828154811061159357611593611e8f565b90600052602060002001549050808760000184815481106115b6576115b6611e8f565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115e9576115e96120d4565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610430565b6000915050610430565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561167257600080fd5b505afa158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190611dfe565b6001600160a01b0316146117005760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610672565b565b803b6117665760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610672565b60008051602061213e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6117f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610672565b600080846001600160a01b03168460405161180f91906120ea565b600060405180830381855af49150503d806000811461184a576040519150601f19603f3d011682016040523d82523d6000602084013e61184f565b606091505b5091509150611877828260405180606001604052806027815260200161215e60279139611af9565b95945050505050565b61188981611702565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606060006118cf836002611eef565b6118da906002611f30565b6001600160401b038111156118f1576118f1611c52565b6040519080825280601f01601f19166020018201604052801561191b576020820181803683370190505b509050600360fc1b8160008151811061193657611936611e8f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061196557611965611e8f565b60200101906001600160f81b031916908160001a9053506000611989846002611eef565b611994906001611f30565b90505b6001811115611a0c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119c8576119c8611e8f565b1a60f81b8282815181106119de576119de611e8f565b60200101906001600160f81b031916908160001a90535060049490941c93611a0581612106565b9050611997565b5083156108fa5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610672565b6000826000018281548110611a7257611a72611e8f565b9060005260206000200154905092915050565b600054610100900460ff1680611a9e575060005460ff16155b611aba5760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015611397576000805461ffff191661010117905580156106f8576000805461ff001916905550565b61082782826113ff565b60608315611b085750816108fa565b825115611b185782518084602001fd5b8160405162461bcd60e51b81526004016106729190612061565b600060208284031215611b4457600080fd5b81356001600160e01b0319811681146108fa57600080fd5b6001600160a01b0391909116815260200190565b600060208284031215611b8257600080fd5b5035919050565b6001600160a01b03811681146106f857600080fd5b60008060408385031215611bb157600080fd5b823591506020830135611bc381611b89565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b63ffffffff8581168252841660208201526001600160a01b03831660408201526080810160038310611c2657634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b600060208284031215611c4757600080fd5b81356108fa81611b89565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c9057611c90611c52565b604052919050565b803563ffffffff81168114611cac57600080fd5b919050565b600060808284031215611cc357600080fd5b604051608081016001600160401b0381118282101715611ce557611ce5611c52565b604052611cf183611c98565b8152611cff60208401611c98565b60208201526040830135611d1281611b89565b6040820152606083013560038110611d2957600080fd5b60608201529392505050565b60008060408385031215611d4857600080fd5b8235611d5381611b89565b91506020838101356001600160401b0380821115611d7057600080fd5b818601915086601f830112611d8457600080fd5b813581811115611d9657611d96611c52565b611da8601f8201601f19168501611c68565b91508082528784828501011115611dbe57600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060408385031215611def57600080fd5b50508035926020909101359150565b600060208284031215611e1057600080fd5b81516108fa81611b89565b6020808252602c9082015260008051602061211e83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061211e83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611ecf57611ecf611ea5565b5060010190565b600060208284031215611ee857600080fd5b5051919050565b6000816000190483118215151615611f0957611f09611ea5565b500290565b600082611f2b57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611f4357611f43611ea5565b500190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60005b83811015611fb1578181015183820152602001611f99565b83811115611fc0576000848401525b50505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351611ff8816017850160208801611f96565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612029816028840160208801611f96565b01602801949350505050565b6000815180845261204d816020860160208601611f96565b601f01601f19169290920160200192915050565b6020815260006108fa6020830184612035565b60018060a01b03841681528260208201526060604082015260006118776060830184612035565b6000602082840312156120ad57600080fd5b815180151581146108fa57600080fd5b6000828210156120cf576120cf611ea5565b500390565b634e487b7160e01b600052603160045260246000fd5b600082516120fc818460208701611f96565b9190910192915050565b60008161211557612115611ea5565b50600019019056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b6dcbba35fd25e020c8d926b52ee4d656582fe602ed0bcfad4cdefc38f27918b64736f6c63430008080033",
571
+ "deployedBytecode": "0x6080604052600436106101105760003560e01c806301ffc9a7146101155780631b3c90a81461014a5780631e599ff714610161578063248a9ca31461018f5780632f2ff15d146101bd578063346ef41b146101dd57806336568abe1461020d5780633659cfe61461022d5780633e6326fc1461024d5780634162169f1461026d5780634181d43e1461028d5780634b9adf91146102ae5780634f1ef286146102ce5780635aef7de6146102e15780639010d07c1461030157806391d1485414610321578063a217fddf14610341578063a8ba389014610356578063b3d6f09614610376578063c4d66de814610396578063ca15c873146103b6578063d547741f146103d6578063e1758bd8146103f6575b600080fd5b34801561012157600080fd5b50610135610130366004611b32565b61040b565b60405190151581526020015b60405180910390f35b34801561015657600080fd5b5061015f610436565b005b34801561016d57600080fd5b5061016354610182906001600160a01b031681565b6040516101419190611b5c565b34801561019b57600080fd5b506101af6101aa366004611b70565b61057b565b604051908152602001610141565b3480156101c957600080fd5b5061015f6101d8366004611b9e565b610590565b3480156101e957600080fd5b506101fd6101f8366004611b70565b6105b8565b6040516101419493929190611be4565b34801561021957600080fd5b5061015f610228366004611b9e565b610606565b34801561023957600080fd5b5061015f610248366004611c35565b610629565b34801561025957600080fd5b50606754610182906001600160a01b031681565b34801561027957600080fd5b50606554610182906001600160a01b031681565b34801561029957600080fd5b5061016454610182906001600160a01b031681565b3480156102ba57600080fd5b5061015f6102c9366004611cb1565b6106fb565b61015f6102dc366004611d35565b61082b565b3480156102ed57600080fd5b50606654610182906001600160a01b031681565b34801561030d57600080fd5b5061018261031c366004611ddc565b6108e1565b34801561032d57600080fd5b5061013561033c366004611b9e565b610901565b34801561034d57600080fd5b506101af600081565b34801561036257600080fd5b5061015f610371366004611b70565b61092c565b34801561038257600080fd5b5061015f610391366004611cb1565b610a93565b3480156103a257600080fd5b5061015f6103b1366004611c35565b610b70565b3480156103c257600080fd5b506101af6103d1366004611b70565b610ce0565b3480156103e257600080fd5b5061015f6103f1366004611b9e565b610cf8565b34801561040257600080fd5b50610182610d02565b60006001600160e01b03198216635a05180f60e01b1480610430575061043082610d9e565b92915050565b60675460405163bf40fac160e01b815260206004820152600a60248201526921a7a72a2927a62622a960b11b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc9190611dfe565b606580546001600160a01b0319166001600160a01b0392909216918217905560408051632d77bef360e11b81529051635aef7de691600480820192602092909190829003018186803b15801561052157600080fd5b505afa158015610535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105599190611dfe565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b600090815260fe602052604090206001015490565b61059a8282610dd3565b6000828152610130602052604090206105b39082610df0565b505050565b61016281815481106105c957600080fd5b60009182526020909120015463ffffffff8082169250600160201b82041690600160401b81046001600160a01b031690600160e01b900460ff1684565b6106108282610e05565b6000828152610130602052604090206105b39082610e7f565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561067b5760405162461bcd60e51b815260040161067290611e1b565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106ad610e94565b6001600160a01b0316146106d35760405162461bcd60e51b815260040161067290611e55565b6106dc81610eb0565b604080516000808252602082019092526106f891839190610eb8565b50565b60006107078133610fff565b60005b610162548110156105b35782604001516001600160a01b0316610162828154811061073757610737611e8f565b600091825260209091200154600160401b90046001600160a01b031614156108155782610162828154811061076e5761076e611e8f565b60009182526020918290208351910180549284015160408501516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990961692909416919091179390931791821683178155606084015190929091839160ff60e01b1916600160401b600160e81b031990911617600160e01b83600281111561080957610809611bce565b02179055505050505050565b8061081f81611ebb565b91505061070a565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108745760405162461bcd60e51b815260040161067290611e1b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108a6610e94565b6001600160a01b0316146108cc5760405162461bcd60e51b815260040161067290611e55565b6108d582610eb0565b61082782826001610eb8565b6000828152610130602052604081206108fa9083611063565b9392505050565b600091825260fe602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610936610d02565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109619190611b5c565b60206040518083038186803b15801561097957600080fd5b505afa15801561098d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b19190611ed6565b9050806109bc575050565b6000805b61016254811015610a4c57600061016282815481106109e1576109e1611e8f565b6000918252602090912001805490915063ffffffff1615610a3957805460009061271090610a159063ffffffff1687611eef565b610a1f9190611f0e565b9050610a2b8185611f30565b9350610a37828261106f565b505b5080610a4481611ebb565b9150506109c0565b5060408051828152602081018490529081018490527fa7568b37f5ca2785294dcf69aefee9003fc26275a9f4b97b7a39d7a48e93ac489060600160405180910390a1505050565b6000610a9f8133610fff565b610162805460018101825560009190915282517f29af0939a5988989bfee913a9ad10b9335cb63ebc9fd2b69e5f877d0455ac9199091018054602085015160408601516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff928316600160201b026001600160401b031990941692909516919091179190911792831681178255606085015185939091839160ff60e01b19909116600160401b600160e81b031990911617600160e01b836002811115610b6557610b65611bce565b021790555050505050565b600054610100900460ff1680610b89575060005460ff16155b610ba55760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015610bc7576000805461ffff19166101011790555b610bcf611320565b610bd8826113ab565b606654610bf0906000906001600160a01b03166113ce565b60675460405163bf40fac160e01b815260206004820152600f60248201526e1094925111d157d0d3d395149050d5608a1b60448201526001600160a01b039091169063bf40fac19060640160206040518083038186803b158015610c5357600080fd5b505afa158015610c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8b9190611dfe565b61016380546001600160a01b03929092166001600160a01b0319928316179055610164805490911673f27ee99622c3c9b264583dacb2cce056e194494f1790558015610827576000805461ff00191690555050565b600081815261013060205260408120610430906113d8565b61061082826113e2565b60675460405163bf40fac160e01b815260206004820152600a60248201526923a7a7a22227a62620a960b11b60448201526000916001600160a01b03169063bf40fac19060640160206040518083038186803b158015610d6157600080fd5b505afa158015610d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d999190611dfe565b905090565b60006001600160e01b03198216637965db0b60e01b148061043057506301ffc9a760e01b6001600160e01b0319831614610430565b610ddc8261057b565b610de68133610fff565b6105b383836113ff565b60006108fa836001600160a01b038416611485565b6001600160a01b0381163314610e755760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610672565b61082782826114d4565b60006108fa836001600160a01b03841661153b565b60008051602061213e833981519152546001600160a01b031690565b6106f861162e565b6000610ec2610e94565b9050610ecd84611702565b600083511180610eda5750815b15610eeb57610ee98484611795565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610ff857805460ff19166001178155604051610f66908690610f37908590602401611b5c565b60408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611795565b50805460ff19168155610f77610e94565b6001600160a01b0316826001600160a01b031614610fef5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610672565b610ff885611880565b5050505050565b6110098282610901565b61082757611021816001600160a01b031660146118c0565b61102c8360206118c0565b60405160200161103d929190611fc6565b60408051601f198184030181529082905262461bcd60e51b825261067291600401612061565b60006108fa8383611a5b565b60008254600160e01b900460ff16600281111561108e5761108e611bce565b14156111525761109c610d02565b61016354835460408051600160401b90920460601b6001600160601b0319166020830152805180830360140181526034830191829052630200057560e51b9091526001600160a01b0393841693634000aea093611100939116918691603801612074565b602060405180830381600087803b15801561111a57600080fd5b505af115801561112e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b3919061209b565b60018254600160e01b900460ff16600281111561117157611171611bce565b14156112a75761117f610d02565b6101645460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b390604401602060405180830381600087803b1580156111cd57600080fd5b505af11580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611205919061209b565b50610164546001600160a01b031663241dc2df611220610d02565b845460405160e084901b6001600160e01b03191681526001600160a01b039283166004820152600160401b8204909216602483015260448201859052600160201b900463ffffffff166064820152608401600060405180830381600087803b15801561128b57600080fd5b505af115801561129f573d6000803e3d6000fd5b505050505050565b60028254600160e01b900460ff1660028111156112c6576112c6611bce565b1415610827576112d4610d02565b8254604051630200057560e51b81526001600160a01b03600160401b90920482166004820152602481018490526060604482015260006064820152911690634000aea090608401611100565b600054610100900460ff1680611339575060005460ff16155b6113555760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015611377576000805461ffff19166101011790555b61137f611a85565b611387611a85565b61138f611a85565b611397611a85565b80156106f8576000805461ff001916905550565b606780546001600160a01b0319166001600160a01b0383161790556106f8610436565b61059a8282611aef565b6000610430825490565b6113eb8261057b565b6113f58133610fff565b6105b383836114d4565b6114098282610901565b61082757600082815260fe602090815260408083206001600160a01b03851684529091529020805460ff191660011790556114413390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008181526001830160205260408120546114cc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610430565b506000610430565b6114de8282610901565b1561082757600082815260fe602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000818152600183016020526040812054801561162457600061155f6001836120bd565b8554909150600090611573906001906120bd565b90508181146115d857600086600001828154811061159357611593611e8f565b90600052602060002001549050808760000184815481106115b6576115b6611e8f565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115e9576115e96120d4565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610430565b6000915050610430565b60655460408051632d77bef360e11b8152905133926001600160a01b031691635aef7de6916004808301926020929190829003018186803b15801561167257600080fd5b505afa158015611686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116aa9190611dfe565b6001600160a01b0316146117005760405162461bcd60e51b815260206004820181905260248201527f6f6e6c79206176617461722063616e2063616c6c2074686973206d6574686f646044820152606401610672565b565b803b6117665760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610672565b60008051602061213e83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6117f45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610672565b600080846001600160a01b03168460405161180f91906120ea565b600060405180830381855af49150503d806000811461184a576040519150601f19603f3d011682016040523d82523d6000602084013e61184f565b606091505b5091509150611877828260405180606001604052806027815260200161215e60279139611af9565b95945050505050565b61188981611702565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606060006118cf836002611eef565b6118da906002611f30565b6001600160401b038111156118f1576118f1611c52565b6040519080825280601f01601f19166020018201604052801561191b576020820181803683370190505b509050600360fc1b8160008151811061193657611936611e8f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061196557611965611e8f565b60200101906001600160f81b031916908160001a9053506000611989846002611eef565b611994906001611f30565b90505b6001811115611a0c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119c8576119c8611e8f565b1a60f81b8282815181106119de576119de611e8f565b60200101906001600160f81b031916908160001a90535060049490941c93611a0581612106565b9050611997565b5083156108fa5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610672565b6000826000018281548110611a7257611a72611e8f565b9060005260206000200154905092915050565b600054610100900460ff1680611a9e575060005460ff16155b611aba5760405162461bcd60e51b815260040161067290611f48565b600054610100900460ff16158015611397576000805461ffff191661010117905580156106f8576000805461ff001916905550565b61082782826113ff565b60608315611b085750816108fa565b825115611b185782518084602001fd5b8160405162461bcd60e51b81526004016106729190612061565b600060208284031215611b4457600080fd5b81356001600160e01b0319811681146108fa57600080fd5b6001600160a01b0391909116815260200190565b600060208284031215611b8257600080fd5b5035919050565b6001600160a01b03811681146106f857600080fd5b60008060408385031215611bb157600080fd5b823591506020830135611bc381611b89565b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b63ffffffff8581168252841660208201526001600160a01b03831660408201526080810160038310611c2657634e487b7160e01b600052602160045260246000fd5b82606083015295945050505050565b600060208284031215611c4757600080fd5b81356108fa81611b89565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611c9057611c90611c52565b604052919050565b803563ffffffff81168114611cac57600080fd5b919050565b600060808284031215611cc357600080fd5b604051608081016001600160401b0381118282101715611ce557611ce5611c52565b604052611cf183611c98565b8152611cff60208401611c98565b60208201526040830135611d1281611b89565b6040820152606083013560038110611d2957600080fd5b60608201529392505050565b60008060408385031215611d4857600080fd5b8235611d5381611b89565b91506020838101356001600160401b0380821115611d7057600080fd5b818601915086601f830112611d8457600080fd5b813581811115611d9657611d96611c52565b611da8601f8201601f19168501611c68565b91508082528784828501011115611dbe57600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060408385031215611def57600080fd5b50508035926020909101359150565b600060208284031215611e1057600080fd5b81516108fa81611b89565b6020808252602c9082015260008051602061211e83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602061211e83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611ecf57611ecf611ea5565b5060010190565b600060208284031215611ee857600080fd5b5051919050565b6000816000190483118215151615611f0957611f09611ea5565b500290565b600082611f2b57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611f4357611f43611ea5565b500190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60005b83811015611fb1578181015183820152602001611f99565b83811115611fc0576000848401525b50505050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351611ff8816017850160208801611f96565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612029816028840160208801611f96565b01602801949350505050565b6000815180845261204d816020860160208601611f96565b601f01601f19169290920160200192915050565b6020815260006108fa6020830184612035565b60018060a01b03841681528260208201526060604082015260006118776060830184612035565b6000602082840312156120ad57600080fd5b815180151581146108fa57600080fd5b6000828210156120cf576120cf611ea5565b500390565b634e487b7160e01b600052603160045260246000fd5b600082516120fc818460208701611f96565b9190910192915050565b60008161211557612115611ea5565b50600019019056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b6dcbba35fd25e020c8d926b52ee4d656582fe602ed0bcfad4cdefc38f27918b64736f6c63430008080033",
572
+ "linkReferences": {},
573
+ "deployedLinkReferences": {}
574
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/4e461a2f16a31f5f1913266e3929a03c.json"
3
+ "buildInfo": "../../../build-info/e24cb5d66832fe0d27930372c68ab4cd.json"
4
4
  }