@gooddollar/goodprotocol 1.0.3-beta.4 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.json +14 -2
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GovarnanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/unaudited-foundation/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/unaudited-foundation/InvitesV1.sol/InvitesV1.json +2 -2
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/contracts/governance/CompoundVotingMachine.sol +8 -2
- package/contracts/unaudited-foundation/InvitesV1.sol +29 -24
- package/hardhat.config.ts +11 -6
- package/package.json +2 -1
- package/releases/deployment.json +88 -82
- package/scripts/deployFullDAO.ts +240 -162
- package/scripts/keeper/fishInactive.ts +17 -12
- package/scripts/upgradeToV2/upgradeToV2.ts +56 -34
- package/test/governance/CompoundVotingMachine.delegate.test.ts +0 -4
- package/test/governance/CompoundVotingMachine.guardian.test.ts +2 -2
- package/test/helpers.ts +3 -10
- package/test/reserve/GoodReserveCDai.cap.test.ts +1 -1
- package/test/reserve/GoodReserveCDai.test.ts +11 -109
- package/test/utils/ProtocolUpgrade.test.ts +8 -0
- package/yarn.lock +14 -0
|
@@ -134,13 +134,12 @@ contract InvitesV1 is Initializable {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
function canCollectBountyFor(address _invitee) public view returns (bool) {
|
|
137
|
-
User
|
|
138
|
-
User
|
|
139
|
-
|
|
137
|
+
User storage user = users[_invitee];
|
|
138
|
+
User storage inviter = users[user.invitedBy];
|
|
139
|
+
uint256 daysToComplete = levels[inviter.level].daysToComplete;
|
|
140
140
|
bool isLevelExpired = levelExpirationEnabled == true &&
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
user.joinedAt.sub(inviter.levelStarted).div(1 days);
|
|
141
|
+
daysToComplete > 0 &&
|
|
142
|
+
daysToComplete < user.joinedAt.sub(inviter.levelStarted).div(1 days);
|
|
144
143
|
|
|
145
144
|
return
|
|
146
145
|
!user.bountyPaid &&
|
|
@@ -201,41 +200,44 @@ contract InvitesV1 is Initializable {
|
|
|
201
200
|
*/
|
|
202
201
|
function bountyFor(address _invitee) public isActive {
|
|
203
202
|
require(canCollectBountyFor(_invitee), "user not elligble for bounty yet");
|
|
203
|
+
return _bountyFor(_invitee);
|
|
204
|
+
}
|
|
204
205
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
function _bountyFor(address _invitee) internal {
|
|
207
|
+
address invitedBy = users[_invitee].invitedBy;
|
|
208
|
+
uint256 joinedAt = users[_invitee].joinedAt;
|
|
209
|
+
Level memory level = levels[users[invitedBy].level];
|
|
208
210
|
|
|
209
211
|
bool isLevelExpired = level.daysToComplete > 0 &&
|
|
210
|
-
|
|
212
|
+
joinedAt > users[invitedBy].levelStarted && //prevent overflow in subtraction
|
|
211
213
|
level.daysToComplete <
|
|
212
|
-
|
|
214
|
+
joinedAt.sub(users[invitedBy].levelStarted).div(1 days); //how long after level started did invitee join
|
|
213
215
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
216
|
+
users[_invitee].bountyPaid = true;
|
|
217
|
+
users[invitedBy].totalApprovedInvites += 1;
|
|
218
|
+
users[invitedBy].totalEarned += level.bounty;
|
|
217
219
|
stats.totalApprovedInvites += 1;
|
|
218
220
|
stats.totalBountiesPaid += level.bounty;
|
|
219
221
|
|
|
220
222
|
bool earnedLevel = false;
|
|
221
223
|
if (
|
|
222
224
|
level.toNext > 0 &&
|
|
223
|
-
|
|
225
|
+
users[invitedBy].totalApprovedInvites >= level.toNext &&
|
|
224
226
|
isLevelExpired == false
|
|
225
227
|
) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
+
users[invitedBy].level += 1;
|
|
229
|
+
users[invitedBy].levelStarted = block.timestamp;
|
|
228
230
|
earnedLevel = true;
|
|
229
231
|
}
|
|
230
232
|
|
|
231
|
-
goodDollar.transfer(
|
|
233
|
+
goodDollar.transfer(invitedBy, level.bounty);
|
|
232
234
|
goodDollar.transfer(_invitee, level.bounty.div(2)); //pay invitee half the bounty
|
|
233
235
|
|
|
234
236
|
emit InviterBounty(
|
|
235
|
-
|
|
237
|
+
invitedBy,
|
|
236
238
|
_invitee,
|
|
237
239
|
level.bounty,
|
|
238
|
-
|
|
240
|
+
users[invitedBy].level,
|
|
239
241
|
earnedLevel
|
|
240
242
|
);
|
|
241
243
|
}
|
|
@@ -247,10 +249,12 @@ contract InvitesV1 is Initializable {
|
|
|
247
249
|
User storage inviter = users[msg.sender];
|
|
248
250
|
|
|
249
251
|
for (uint256 i = 0; i < inviter.pending.length; i++) {
|
|
250
|
-
if (
|
|
251
|
-
|
|
252
|
+
if (gasleft() < 340000) return;
|
|
253
|
+
address pending = inviter.pending[i];
|
|
254
|
+
if (canCollectBountyFor(pending)) {
|
|
255
|
+
_bountyFor(pending);
|
|
252
256
|
}
|
|
253
|
-
if (users[
|
|
257
|
+
if (users[pending].bountyPaid) {
|
|
254
258
|
//if still elements in array move last item to current position
|
|
255
259
|
if (inviter.pending.length - 1 > i) {
|
|
256
260
|
inviter.pending[i] = inviter.pending[inviter.pending.length - 1];
|
|
@@ -292,8 +296,9 @@ contract InvitesV1 is Initializable {
|
|
|
292
296
|
* @dev
|
|
293
297
|
* 1.2.0 - final changes before release
|
|
294
298
|
* 1.3.0 - allow to set inviter later
|
|
299
|
+
* 1.4.0 - improve gas for bounty collection
|
|
295
300
|
*/
|
|
296
301
|
function version() public pure returns (string memory) {
|
|
297
|
-
return "1.
|
|
302
|
+
return "1.4.0";
|
|
298
303
|
}
|
|
299
304
|
}
|
package/hardhat.config.ts
CHANGED
|
@@ -103,7 +103,9 @@ const hhconfig: HardhatUserConfig = {
|
|
|
103
103
|
fuse: {
|
|
104
104
|
accounts: { mnemonic },
|
|
105
105
|
url: "https://rpc.fuse.io/",
|
|
106
|
-
chainId: 122
|
|
106
|
+
chainId: 122,
|
|
107
|
+
gas: 6000000,
|
|
108
|
+
gasPrice: 1000000000
|
|
107
109
|
},
|
|
108
110
|
fusespark: {
|
|
109
111
|
accounts: { mnemonic },
|
|
@@ -115,19 +117,22 @@ const hhconfig: HardhatUserConfig = {
|
|
|
115
117
|
"fuse-mainnet": {
|
|
116
118
|
accounts: { mnemonic },
|
|
117
119
|
url: "https://ropsten.infura.io/v3/" + infura_api,
|
|
118
|
-
|
|
120
|
+
gasPrice: 20000000000,
|
|
121
|
+
gas: 5000000,
|
|
119
122
|
chainId: 3
|
|
120
123
|
},
|
|
121
124
|
staging: {
|
|
122
125
|
accounts: { mnemonic },
|
|
123
126
|
url: "https://rpc.fuse.io/",
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
chainId: 122,
|
|
128
|
+
gas: 6000000,
|
|
129
|
+
gasPrice: 1000000000
|
|
126
130
|
},
|
|
127
131
|
"staging-mainnet": {
|
|
128
132
|
accounts: { mnemonic },
|
|
129
133
|
url: "https://ropsten.infura.io/v3/" + infura_api,
|
|
130
|
-
|
|
134
|
+
gasPrice: 20000000000,
|
|
135
|
+
gas: 5000000,
|
|
131
136
|
chainId: 3
|
|
132
137
|
},
|
|
133
138
|
production: {
|
|
@@ -141,7 +146,7 @@ const hhconfig: HardhatUserConfig = {
|
|
|
141
146
|
accounts: [deployerPrivateKey],
|
|
142
147
|
url: "https://mainnet.infura.io/v3/" + infura_api,
|
|
143
148
|
gas: 3000000,
|
|
144
|
-
gasPrice:
|
|
149
|
+
gasPrice: 50000000000,
|
|
145
150
|
chainId: 1
|
|
146
151
|
}
|
|
147
152
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddollar/goodprotocol",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "GoodDollar Protocol",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "scripts/build.sh deploy",
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
"ethers-multicall": "^0.2.1",
|
|
61
61
|
"openzeppelin-solidity": "^4.3.2",
|
|
62
62
|
"patch-package": "latest",
|
|
63
|
+
"press-any-key": "^0.1.1",
|
|
63
64
|
"truffle-plugin-verify": "^0.5.11",
|
|
64
65
|
"truffle-source-verify": "^0.0.6"
|
|
65
66
|
},
|
package/releases/deployment.json
CHANGED
|
@@ -120,67 +120,68 @@
|
|
|
120
120
|
"UniswapV2SwapHelper": "0x7D7200b2b049BB3d91bCbdf95eC0EE6c2b5f8b7E"
|
|
121
121
|
},
|
|
122
122
|
"fuse": {
|
|
123
|
-
"NameService": "
|
|
124
|
-
"GReputation": "
|
|
125
|
-
"FirstClaimPool": "
|
|
126
|
-
"CompoundVotingMachine": "
|
|
127
|
-
"ClaimersDistribution": "
|
|
128
|
-
"GovernanceStaking": "
|
|
129
|
-
"UBIScheme": "
|
|
130
|
-
"ProtocolUpgradeFuse": "
|
|
131
|
-
"Identity": "
|
|
132
|
-
"GoodDollar": "
|
|
133
|
-
"Controller": "
|
|
134
|
-
"Avatar": "
|
|
135
|
-
"HomeBridge": "
|
|
136
|
-
"FuseFaucet": "
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"UBI": "0xCC9B1382b0Ae9D80E81eCB1863DcE8685a044603",
|
|
141
|
-
"SignupBonus": "0xcdC704D3dEA0FcFD1Cae95dfdCB7883632E171b2",
|
|
142
|
-
"OneTimePayments": "0x94079dF920115c5296Cc06AE6D8F29E077906246",
|
|
143
|
-
"AdminWallet": "0xf61e08a98B446856eE3fbD6597D3698a1a138565",
|
|
123
|
+
"NameService": "0x27E3B64C671a25c191535743d63Bd06CB9B93E37",
|
|
124
|
+
"GReputation": "0xdFF4cE07253b2c3fa9dCEC8B918f91d150AC26a4",
|
|
125
|
+
"FirstClaimPool": "0x5E8732889f2d84c3D834223c38361B38D7D4B9bc",
|
|
126
|
+
"CompoundVotingMachine": "0xb9978C071f2F64016A2f8515BC03bd25684201aF",
|
|
127
|
+
"ClaimersDistribution": "0xEaDa76013C87C22843b907Ce0110ea55C8E7E2a0",
|
|
128
|
+
"GovernanceStaking": "0xe3E75Ee6895F8b30d8eC3260dAa20ec1aba6DA77",
|
|
129
|
+
"UBIScheme": "0x3bdeB796950301FfC9568fAF89B7370f8B217321",
|
|
130
|
+
"ProtocolUpgradeFuse": "0x4dB8602482576321F829baa593150393f7595439",
|
|
131
|
+
"Identity": "0x7ccF1011610138b484fCc921858e7971342d213c",
|
|
132
|
+
"GoodDollar": "0x79BeecC4b165Ccf547662cB4f7C0e83b3796E5b3",
|
|
133
|
+
"Controller": "0xb453024495525908E6cC1e3C115f4B6B30cc56b9",
|
|
134
|
+
"Avatar": "0x71ddE7b8362724bd65D88Fe29d42636a9F8f9064",
|
|
135
|
+
"HomeBridge": "0xb0aD96B62567Ebcb1660e2Af5755A11B42b3Ade5",
|
|
136
|
+
"FuseFaucet": "0x09Ad3430D146aa662eA8c20cBEBceBC0bbB3FB0a",
|
|
137
|
+
"Invites": "0x187fc9fB37DF0fbf75149913a97B17c968Fc90d0",
|
|
138
|
+
"OneTimePayments": "0x184C1F83b3eB75a2dac483D4a6b9FBD59Df961f8",
|
|
139
|
+
"AdminWallet": "0x14204288286823042263156146334B1a4d61227c",
|
|
144
140
|
"network": "fuse",
|
|
145
141
|
"networkId": 122,
|
|
146
|
-
"ProxyFactory": "
|
|
142
|
+
"ProxyFactory": "0x4136dfD47F47792fC820E2354e9F0ce8e9c586A6",
|
|
143
|
+
"BancorFormula": "0x88e111b2A42457655A34896E5B929a75E7B82F88",
|
|
144
|
+
"DAI": "0x0000000000000000000000000000000000000000",
|
|
145
|
+
"cDAI": "0x0000000000000000000000000000000000000000",
|
|
146
|
+
"COMP": "0x0000000000000000000000000000000000000000"
|
|
147
147
|
},
|
|
148
148
|
"fuse-mainnet": {
|
|
149
|
-
"NameService": "
|
|
150
|
-
"GReputation": "
|
|
151
|
-
"CompoundVotingMachine": "
|
|
152
|
-
"GoodMarketMaker": "
|
|
153
|
-
"GoodReserveCDai": "
|
|
154
|
-
"ExchangeHelper": "
|
|
155
|
-
"GoodFundManager": "
|
|
156
|
-
"StakersDistribution": "
|
|
157
|
-
"ProtocolUpgrade": "
|
|
158
|
-
"CompoundStakingFactory": "
|
|
149
|
+
"NameService": "0x3baeEff20Cb02a5b8eF413C611c015E69221663e",
|
|
150
|
+
"GReputation": "0x30A5Ba8ED4864bf3B1fa30c78Ac774fA9D5C62CC",
|
|
151
|
+
"CompoundVotingMachine": "0xE2C57968b52A417132511fBDCAB1763D41a4F270",
|
|
152
|
+
"GoodMarketMaker": "0xD2cf3205EA36AEFf3CF0e8e8701EAe40AA3f6E4F",
|
|
153
|
+
"GoodReserveCDai": "0x2AEe03Bb8b182AF876B9d008AF9416D2A3dF6dB3",
|
|
154
|
+
"ExchangeHelper": "0xeFF1EfCf1F0247f82B0d8406f32831b00Bfdf729",
|
|
155
|
+
"GoodFundManager": "0x3419945657B6Bd89DaFD7F2bafC75FF46511298F",
|
|
156
|
+
"StakersDistribution": "0xe8C67A909d3231ddD97E4CC2c1B17a8FFA94475E",
|
|
157
|
+
"ProtocolUpgrade": "0x1a521868ED7B4d8835f1F52172d38C1C3e630E92",
|
|
158
|
+
"CompoundStakingFactory": "0xE1193dE8716400ee5aD7b4B96CBdf0dABaF7d088",
|
|
159
159
|
"StakingContracts": [
|
|
160
160
|
[
|
|
161
|
-
"
|
|
161
|
+
"0x98867484E2F0c902F64bCdEDc2e289307c988214",
|
|
162
162
|
13888
|
|
163
163
|
]
|
|
164
164
|
],
|
|
165
|
-
"DonationsStaking": "
|
|
166
|
-
"Contribution": "
|
|
165
|
+
"DonationsStaking": "0x2aAd517DE8256ee6DC7ce31Ae09EBb99F17F9975",
|
|
166
|
+
"Contribution": "0x2250c5131bf9DdCbD55F9bEFc999D691c419ad93",
|
|
167
167
|
"DAI": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd",
|
|
168
168
|
"cDAI": "0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff",
|
|
169
|
-
"ForeignBridge": "
|
|
170
|
-
"GoodDollar": "
|
|
169
|
+
"ForeignBridge": "0x18F2a22Aa6420D06C079e70838a21a3c75322834",
|
|
170
|
+
"GoodDollar": "0x22A4720e32e3419e809731E7114042D6C3055845",
|
|
171
171
|
"Reputation": "0x5925F6Bf62147D2b14B85e6dCB979e3D1A81Dbb1",
|
|
172
|
-
"Identity": "
|
|
173
|
-
"Avatar": "
|
|
174
|
-
"Controller": "
|
|
172
|
+
"Identity": "0x4D347bda25BEf041BfCB5205deECD1A33ab46db9",
|
|
173
|
+
"Avatar": "0x11655e9D725Fc1f8D1410C03f136aC586f7161ee",
|
|
174
|
+
"Controller": "0xD458BAEC7E8864A2c9c2e1261D87A4FAf77002B7",
|
|
175
175
|
"AbsoluteVote": "0x57312053C36A226Df13B01089218A5f9951D3f9c",
|
|
176
176
|
"ProxyAdmin": "0xE383e9D08e3e4f76CBb4a6953aF343E7bbcc6e98",
|
|
177
177
|
"COMP": "0xf76d4a441e4ba86a923ce32b89aff89dbccaa075",
|
|
178
178
|
"network": "fuse-mainnet",
|
|
179
179
|
"networkId": 3,
|
|
180
180
|
"ProxyFactory": "0x163b69fA3a7d3e5347a29A5A49b282c35d17C87A",
|
|
181
|
-
"UniswapV2SwapHelper": "
|
|
182
|
-
"AaveStakingFactory": "
|
|
183
|
-
"BancorFormula": "0x57b2c85934Ef1A891eC9b9945f3fdbcf1104c302"
|
|
181
|
+
"UniswapV2SwapHelper": "0x28b3Bc8F2a1E5cf3BfE06d22971955a53a0F52d8",
|
|
182
|
+
"AaveStakingFactory": "0xfC32F09b85aB3134195bC237C2b69001B5c609dB",
|
|
183
|
+
"BancorFormula": "0x57b2c85934Ef1A891eC9b9945f3fdbcf1104c302",
|
|
184
|
+
"FeeFormula": "0x416B5A5e12235De6838D62Fd053e7Ce59E944426"
|
|
184
185
|
},
|
|
185
186
|
"dapptest": {
|
|
186
187
|
"NameService": "0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc",
|
|
@@ -242,65 +243,70 @@
|
|
|
242
243
|
"network": "dapptest-mainnet"
|
|
243
244
|
},
|
|
244
245
|
"staging-mainnet": {
|
|
245
|
-
"NameService": "
|
|
246
|
-
"GReputation": "
|
|
247
|
-
"CompoundVotingMachine": "
|
|
248
|
-
"GoodMarketMaker": "
|
|
249
|
-
"GoodReserveCDai": "
|
|
250
|
-
"ExchangeHelper": "
|
|
251
|
-
"GoodFundManager": "
|
|
252
|
-
"StakersDistribution": "
|
|
253
|
-
"ProtocolUpgrade": "
|
|
254
|
-
"UniswapV2SwapHelper": "
|
|
255
|
-
"CompoundStakingFactory": "
|
|
256
|
-
"AaveStakingFactory": "
|
|
257
|
-
"DonationsStaking": "
|
|
246
|
+
"NameService": "0xC87FAb8A8CDD346079ca6177e47408Ba18066104",
|
|
247
|
+
"GReputation": "0xD50604E530fF36B2747aE8574b37B21B9f779d37",
|
|
248
|
+
"CompoundVotingMachine": "0x40f42698A07B19Ac431Cc115a7B9CddD294d248b",
|
|
249
|
+
"GoodMarketMaker": "0x78a76Ad9A5d4a1d0c9FABcA20083442160840d0C",
|
|
250
|
+
"GoodReserveCDai": "0x6D728DE2Be4b3d7c6B50E6F3bF46CA1F64dF7820",
|
|
251
|
+
"ExchangeHelper": "0x6BC7a1310DfE3EfE7401Aff3C598C9d948f8b245",
|
|
252
|
+
"GoodFundManager": "0x1A231e22BE9923EE4C453095A7a94820D930A553",
|
|
253
|
+
"StakersDistribution": "0xF24Ef005134208Ac62aD50EafD052Ddb2C3e7bb5",
|
|
254
|
+
"ProtocolUpgrade": "0xC60411d3Bc9F36946a6de1f3890c214192255497",
|
|
255
|
+
"UniswapV2SwapHelper": "0x24D19000790fD11e244E76fA4D86FDd92e57c144",
|
|
256
|
+
"CompoundStakingFactory": "0xf22EF80a76f41424b813C9b38b3064dBfa87cf79",
|
|
257
|
+
"AaveStakingFactory": "0x9093B908b35C08f2E8DEABA352D5C319952a7e55",
|
|
258
|
+
"DonationsStaking": "0x66Fb63cB6c4E2800db9d1691B3d00361Ada9dE61",
|
|
258
259
|
"network": "staging-mainnet",
|
|
259
260
|
"networkId": 3,
|
|
260
|
-
"ForeignBridge": "
|
|
261
|
-
"Contribution": "
|
|
261
|
+
"ForeignBridge": "0xDaAc9A734242C2D99dD1cb3680770ACA26A25CeB",
|
|
262
|
+
"Contribution": "0x27816e32270a413AF676A2E3a25dB93C7F565a80",
|
|
262
263
|
"StakingContracts": [
|
|
263
264
|
[
|
|
264
265
|
"0x61b36EcaEd25c4EE3017905B5Dd006129a4dfb0B",
|
|
265
266
|
13888
|
|
266
267
|
]
|
|
267
268
|
],
|
|
268
|
-
"Identity": "
|
|
269
|
-
"GoodDollar": "
|
|
270
|
-
"Controller": "
|
|
271
|
-
"Avatar": "
|
|
269
|
+
"Identity": "0x7599F95677cb14d7D8834a58B3b0545a13870A56",
|
|
270
|
+
"GoodDollar": "0x2e975e7711088aAfb38119454fF7fb99bAA9142F",
|
|
271
|
+
"Controller": "0x52F0584bfB6F55cc4a3E351427fACbA7e23A3fd4",
|
|
272
|
+
"Avatar": "0xFCF6029bD177370C79173D48e05AAFf3c5f0C0bC",
|
|
272
273
|
"BancorFormula": "0x57b2c85934Ef1A891eC9b9945f3fdbcf1104c302",
|
|
273
274
|
"DAI": "0xB5E5D0F8C0cbA267CD3D7035d6AdC8eBA7Df7Cdd",
|
|
274
275
|
"cDAI": "0x6ce27497a64fffb5517aa4aee908b1e7eb63b9ff",
|
|
275
276
|
"COMP": "0xf76d4a441e4ba86a923ce32b89aff89dbccaa075",
|
|
276
|
-
"ProxyFactory": "
|
|
277
|
+
"ProxyFactory": "0x33D3712b90ade5d7363F3548650e508ad8eACfAA",
|
|
278
|
+
"FeeFormula": "0xc43514e62190A6253C56C7c50DAdb907e3eda666"
|
|
277
279
|
},
|
|
278
280
|
"staging": {
|
|
279
|
-
"FuseFaucet": "
|
|
281
|
+
"FuseFaucet": "0x70f361EDB97B245E8A68573637A31886A427fe2a",
|
|
280
282
|
"ProxyAdmin": "0x2Ea4aAA8351CfE63B537E81Cd4a13c435B945C1D",
|
|
281
|
-
"Invites": "
|
|
283
|
+
"Invites": "0x763b49F901DC894F2dEc1c7d19e46250B4452679",
|
|
282
284
|
"ProxyAdmin2": "0x23D8492444DA663fcb2bDa8cA9A0e84989D1f59e",
|
|
283
|
-
"GoodDollar": "
|
|
284
|
-
"NameService": "
|
|
285
|
-
"GReputation": "
|
|
286
|
-
"CompoundVotingMachine": "
|
|
287
|
-
"ClaimersDistribution": "
|
|
288
|
-
"GovernanceStaking": "
|
|
289
|
-
"UBIScheme": "
|
|
290
|
-
"ProtocolUpgradeFuse": "
|
|
291
|
-
"Identity": "
|
|
292
|
-
"Avatar": "
|
|
293
|
-
"Controller": "
|
|
285
|
+
"GoodDollar": "0xe39236a9Cf13f65DB8adD06BD4b834C65c523d2b",
|
|
286
|
+
"NameService": "0xE63402A7dc11AB4D03c477cc92209463a55A5134",
|
|
287
|
+
"GReputation": "0x80312bad9dd71d3a159e794B7fb1B2386F82F07F",
|
|
288
|
+
"CompoundVotingMachine": "0xcF624DfdA707De7C7a5669A472F81dAc130264c3",
|
|
289
|
+
"ClaimersDistribution": "0x86d43F93eD9AD1182981C19567f83BAc1DC1513B",
|
|
290
|
+
"GovernanceStaking": "0x18525875Bd0259d3efE1c04927A027fAd8cA0b86",
|
|
291
|
+
"UBIScheme": "0x54469071Ca82B46A2C01C09D38ca6Ca4347EB21d",
|
|
292
|
+
"ProtocolUpgradeFuse": "0x1495D6f5434376981778F64c63d2E15dA25B0541",
|
|
293
|
+
"Identity": "0x0af5eF8cdCeddDD9033cEf1E83B0Ae54f3a793A5",
|
|
294
|
+
"Avatar": "0x28523b680d4ffBd6e4FC95c3c12F5485F9635E00",
|
|
295
|
+
"Controller": "0xb6808120fB648c0bdc483Ec423d933a7eBf6BB0a",
|
|
294
296
|
"AbsoluteVote": "0x7b58A5737440Bc05ca3972fDeFf8ac3bA984536B",
|
|
295
297
|
"SchemeRegistrar": "0x0E79f80809180aB8FAE189D4e76fC814672d9a40",
|
|
296
|
-
"AdminWallet": "
|
|
298
|
+
"AdminWallet": "0x2961a6C2Fe39F0FFC4f4b1D9E037CD95f4e9C993",
|
|
297
299
|
"UpgradeScheme": "0xfC9F6F5E3ff7BAAB3fEf82e66f56917D625ba38B",
|
|
298
|
-
"OneTimePayments": "
|
|
300
|
+
"OneTimePayments": "0x7912636D68E5d92708862b38698f764BF1EC297C",
|
|
299
301
|
"network": "staging",
|
|
300
302
|
"networkId": 122,
|
|
301
303
|
"ProxyFactory": "0x240d844AdA767bE0AB08F9BcCcB6D8a04aE370EC",
|
|
302
|
-
"HomeBridge": "
|
|
303
|
-
"FirstClaimPool": "
|
|
304
|
+
"HomeBridge": "0x3B25860174ECb3a0962bA3A5065b1f4063253419",
|
|
305
|
+
"FirstClaimPool": "0x5D007A7633D05b0dDD068B71E8448CD1fcdbd823",
|
|
306
|
+
"FeeFormula": "0x05eb1C46bd539Fd2A098b06D83a5bB81E5a58e63",
|
|
307
|
+
"DAI": "0x0000000000000000000000000000000000000000",
|
|
308
|
+
"cDAI": "0x0000000000000000000000000000000000000000",
|
|
309
|
+
"COMP": "0x0000000000000000000000000000000000000000"
|
|
304
310
|
},
|
|
305
311
|
"test": {
|
|
306
312
|
"ProxyFactory": "0x36dE29DB57062A583436Ae071e141404dFE2311C",
|
|
@@ -365,7 +371,7 @@
|
|
|
365
371
|
"ProxyFactory": "0x4659176E962763e7C8A4eF965ecfD0fdf9f52057",
|
|
366
372
|
"NameService": "0xe26867DDd22F9342d9F0D566D182f2c960683971",
|
|
367
373
|
"GReputation": "0x3A9299BE789ac3730e4E4c49d6d2Ad1b8BC34DFf",
|
|
368
|
-
"CompoundVotingMachine": "
|
|
374
|
+
"CompoundVotingMachine": "0xc2Ff55b896e3c42f9e1c2f7467C51b93F1C23dFD",
|
|
369
375
|
"ClaimersDistribution": "0xF34552F1583c0B981dbB09611128c3375b47182e",
|
|
370
376
|
"GovernanceStaking": "0xFAF457Fb4A978Be059506F6CD41f9B30fCa753b0",
|
|
371
377
|
"UBIScheme": "0x87d77A30a6819860eB8332D293810ed7b510035A",
|
|
@@ -390,7 +396,7 @@
|
|
|
390
396
|
"ProxyFactory": "0x4659176E962763e7C8A4eF965ecfD0fdf9f52057",
|
|
391
397
|
"NameService": "0xe26867DDd22F9342d9F0D566D182f2c960683971",
|
|
392
398
|
"GReputation": "0x3A9299BE789ac3730e4E4c49d6d2Ad1b8BC34DFf",
|
|
393
|
-
"CompoundVotingMachine": "
|
|
399
|
+
"CompoundVotingMachine": "0xc2Ff55b896e3c42f9e1c2f7467C51b93F1C23dFD",
|
|
394
400
|
"GoodMarketMaker": "0x30D37B05cF73Edd8c59ce8450F093f6C06dA9272",
|
|
395
401
|
"GoodReserveCDai": "0x6C35677206ae7FF1bf753877649cF57cC30D1c42",
|
|
396
402
|
"ExchangeHelper": "0x0a8c6bB832801454F6CC21761D0A293Caa003296",
|