@gooddollar/goodprotocol 2.0.11 → 2.0.13
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/abis/AdminWallet.min.json +1 -1
- package/artifacts/abis/AdminWalletFuse.min.json +1 -1
- 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/IIdentityV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.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/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.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/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/GoodDollarStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IGovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/IStakingUpgrade.dbg.json +1 -1
- package/artifacts/contracts/governance/GoodDollarStaking.sol/RewardsMinter.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.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/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionBridgeMock.sol/DistributionBridgeMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodDollarStakingMock.sol/GoodDollarStakingMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.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/MultichainRouterMock.sol/IWrapper.dbg.json +1 -1
- package/artifacts/contracts/mocks/MultichainRouterMock.sol/MultichainRouterMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.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/PayableMock.sol/PayableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/StakingMockFixedAPY.sol/StakingMockFixedAPY.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/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.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/DistributionHelper.sol/DistributionHelper.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/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.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/SimpleStakingV2.sol/SimpleStakingV2.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/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.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/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/StakingRewardsFixedAPY.sol/StakingRewardsFixedAPY.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
- package/artifacts/contracts/token/FeesFormula.sol/IFeesFormula.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.json +41 -2
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.json +35 -9
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/ISwapRouter.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/GDFaucet.sol/GDFaucet.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
- package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.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/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/contracts/utils/AdminWallet.sol +21 -10
- package/contracts/utils/AdminWalletFuse.sol +19 -14
- package/hardhat.config.ts +4 -0
- package/package.json +1 -1
- package/releases/deployment.json +4 -2
- package/scripts/analytics/checkActiveWallets.ts +60 -0
- package/scripts/analytics/faucetStats.ts +21 -34
- package/scripts/multichain-deploy/helpers.ts +2 -2
- package/scripts/upgrades/upgradeAdminWallet.ts +29 -0
- package/test/utils/AdminWallet.test.ts +49 -101
- package/types/AdminWallet.ts +59 -0
- package/types/AdminWalletFuse.ts +41 -7
- package/types/factories/AdminWalletFuse__factory.ts +34 -8
- package/types/factories/AdminWallet__factory.ts +40 -1
|
@@ -24,35 +24,23 @@ describe("AdminWallet", () => {
|
|
|
24
24
|
stranger,
|
|
25
25
|
stranger2,
|
|
26
26
|
blacklisted,
|
|
27
|
-
identity
|
|
27
|
+
identity,
|
|
28
|
+
gooddollar;
|
|
28
29
|
|
|
29
30
|
before(async () => {
|
|
30
31
|
signers = await ethers.getSigners();
|
|
31
32
|
founder = signers[0];
|
|
32
|
-
[
|
|
33
|
-
|
|
34
|
-
stranger,
|
|
35
|
-
stranger2,
|
|
36
|
-
blacklisted,
|
|
37
|
-
newUser,
|
|
38
|
-
newUser2,
|
|
39
|
-
admin,
|
|
40
|
-
admin2,
|
|
41
|
-
toWhitelist
|
|
42
|
-
] = signers.slice(10);
|
|
43
|
-
let { identity: id, nameService } = await loadFixture(createDAO);
|
|
33
|
+
[whitelisted, stranger, stranger2, blacklisted, newUser, newUser2, admin, admin2, toWhitelist] = signers.slice(10);
|
|
34
|
+
let { identity: id, nameService, gd } = await loadFixture(createDAO);
|
|
44
35
|
identity = await ethers.getContractAt("IdentityV2", id);
|
|
45
|
-
|
|
36
|
+
gooddollar = await ethers.getContractAt("GoodDollar", gd);
|
|
46
37
|
adminWallet = (await upgrades.deployProxy(
|
|
47
38
|
await ethers.getContractFactory("AdminWallet"),
|
|
48
39
|
[[], nameService.address, signers[0].address, 1e10],
|
|
49
40
|
{ kind: "uups" }
|
|
50
41
|
)) as AdminWallet;
|
|
51
42
|
|
|
52
|
-
await identity.grantRole(
|
|
53
|
-
ethers.utils.keccak256(ethers.utils.toUtf8Bytes("identity_admin")),
|
|
54
|
-
adminWallet.address
|
|
55
|
-
);
|
|
43
|
+
await identity.grantRole(ethers.utils.keccak256(ethers.utils.toUtf8Bytes("identity_admin")), adminWallet.address);
|
|
56
44
|
|
|
57
45
|
toppingTimes = await adminWallet.toppingTimes();
|
|
58
46
|
toppingAmount = await adminWallet.toppingAmount();
|
|
@@ -92,21 +80,15 @@ describe("AdminWallet", () => {
|
|
|
92
80
|
});
|
|
93
81
|
|
|
94
82
|
it("should have owner", async () => {
|
|
95
|
-
expect(
|
|
96
|
-
await adminWallet.hasRole(ethers.constants.HashZero, signers[0].address)
|
|
97
|
-
).to.eq(true);
|
|
83
|
+
expect(await adminWallet.hasRole(ethers.constants.HashZero, signers[0].address)).to.eq(true);
|
|
98
84
|
});
|
|
99
85
|
|
|
100
86
|
it("should not top admin list when empty", async () => {
|
|
101
|
-
await expect(adminWallet["topAdmins(uint256)"](0)).revertedWith(
|
|
102
|
-
"Admin list is empty"
|
|
103
|
-
);
|
|
87
|
+
await expect(adminWallet["topAdmins(uint256)"](0)).revertedWith("Admin list is empty");
|
|
104
88
|
});
|
|
105
89
|
|
|
106
90
|
it("should add admins", async () => {
|
|
107
|
-
await adminWallet.addAdmins(
|
|
108
|
-
[whitelisted, admin, admin2].map(_ => _.address)
|
|
109
|
-
);
|
|
91
|
+
await adminWallet.addAdmins([whitelisted, admin, admin2].map(_ => _.address));
|
|
110
92
|
expect(await adminWallet.isAdmin(whitelisted.address)).true;
|
|
111
93
|
expect(await adminWallet.isAdmin(admin.address)).to.true;
|
|
112
94
|
expect(await adminWallet.isAdmin(admin2.address)).to.true;
|
|
@@ -123,22 +105,14 @@ describe("AdminWallet", () => {
|
|
|
123
105
|
expect(await ethers.provider.getBalance(admin2.address)).eq(0);
|
|
124
106
|
await adminWallet["topAdmins(uint256)"](0);
|
|
125
107
|
const newBalance = await ethers.provider.getBalance(admin2.address);
|
|
126
|
-
const adminTopAmount = await adminWallet
|
|
127
|
-
.adminToppingAmount()
|
|
128
|
-
.then(_ => _.toString());
|
|
108
|
+
const adminTopAmount = await adminWallet.adminToppingAmount().then(_ => _.toString());
|
|
129
109
|
expect(newBalance).to.be.equal(adminTopAmount);
|
|
130
110
|
});
|
|
131
111
|
|
|
132
112
|
it("should reimburse gas for admins", async () => {
|
|
133
|
-
const expectedTopping = await adminWallet
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const adminWalletBalance = await ethers.provider.getBalance(
|
|
137
|
-
adminWallet.address
|
|
138
|
-
);
|
|
139
|
-
expect(expectedTopping).to.be.equal(
|
|
140
|
-
ethers.utils.parseUnits("90000000", "gwei")
|
|
141
|
-
);
|
|
113
|
+
const expectedTopping = await adminWallet.adminToppingAmount().then(_ => _.toString());
|
|
114
|
+
const adminWalletBalance = await ethers.provider.getBalance(adminWallet.address);
|
|
115
|
+
expect(expectedTopping).to.be.equal(ethers.utils.parseUnits("90000000", "gwei"));
|
|
142
116
|
expect(adminWalletBalance).gt(1);
|
|
143
117
|
let oldBalance = await ethers.provider.getBalance(admin2.address);
|
|
144
118
|
let toTransfer = oldBalance.div(2);
|
|
@@ -150,12 +124,7 @@ describe("AdminWallet", () => {
|
|
|
150
124
|
oldBalance = await ethers.provider.getBalance(admin2.address);
|
|
151
125
|
expect(oldBalance).to.be.lte(toTransfer);
|
|
152
126
|
|
|
153
|
-
await adminWallet
|
|
154
|
-
.connect(admin2)
|
|
155
|
-
["whitelist(address,string)"](
|
|
156
|
-
toWhitelist.address,
|
|
157
|
-
"did:test" + Math.random()
|
|
158
|
-
);
|
|
127
|
+
await adminWallet.connect(admin2)["whitelist(address,string)"](toWhitelist.address, "did:test" + Math.random());
|
|
159
128
|
const newBalance = await ethers.provider.getBalance(admin2.address);
|
|
160
129
|
expect(newBalance).to.be.gte(expectedTopping);
|
|
161
130
|
});
|
|
@@ -167,9 +136,7 @@ describe("AdminWallet", () => {
|
|
|
167
136
|
|
|
168
137
|
it("should allow admin to whitelist and remove whitelist", async () => {
|
|
169
138
|
expect(await identity.isWhitelisted(whitelisted.address)).to.false;
|
|
170
|
-
await adminWallet
|
|
171
|
-
.connect(admin)
|
|
172
|
-
["whitelist(address,string)"](whitelisted.address, "did:test");
|
|
139
|
+
await adminWallet.connect(admin)["whitelist(address,string)"](whitelisted.address, "did:test");
|
|
173
140
|
|
|
174
141
|
expect(await identity.isWhitelisted(whitelisted.address)).to.true;
|
|
175
142
|
await adminWallet.connect(admin).removeWhitelist(whitelisted.address);
|
|
@@ -179,18 +146,14 @@ describe("AdminWallet", () => {
|
|
|
179
146
|
it("should not allow non-admin to whitelist and remove whitelist", async () => {
|
|
180
147
|
expect(await identity.isWhitelisted(whitelisted.address)).to.false;
|
|
181
148
|
await expect(
|
|
182
|
-
adminWallet
|
|
183
|
-
.connect(stranger)
|
|
184
|
-
["whitelist(address,string)"](whitelisted.address, "did:test")
|
|
149
|
+
adminWallet.connect(stranger)["whitelist(address,string)"](whitelisted.address, "did:test")
|
|
185
150
|
).revertedWith("Caller is not admin");
|
|
186
151
|
expect(await identity.isWhitelisted(whitelisted.address)).to.false;
|
|
187
|
-
await adminWallet
|
|
188
|
-
.connect(admin)
|
|
189
|
-
["whitelist(address,string)"](whitelisted.address, "did:test");
|
|
152
|
+
await adminWallet.connect(admin)["whitelist(address,string)"](whitelisted.address, "did:test");
|
|
190
153
|
expect(await identity.isWhitelisted(whitelisted.address)).to.true;
|
|
191
|
-
await expect(
|
|
192
|
-
|
|
193
|
-
)
|
|
154
|
+
await expect(adminWallet.connect(stranger).removeWhitelist(whitelisted.address)).revertedWith(
|
|
155
|
+
"Caller is not admin"
|
|
156
|
+
);
|
|
194
157
|
expect(await identity.isWhitelisted(whitelisted.address)).to.true;
|
|
195
158
|
});
|
|
196
159
|
|
|
@@ -205,15 +168,13 @@ describe("AdminWallet", () => {
|
|
|
205
168
|
|
|
206
169
|
it("should not allow non-admin to blacklist and remove blacklist", async () => {
|
|
207
170
|
expect(await identity.isBlacklisted(blacklisted.address)).to.false;
|
|
208
|
-
await expect(
|
|
209
|
-
adminWallet.connect(stranger).blacklist(blacklisted.address)
|
|
210
|
-
).revertedWith("Caller is not admin");
|
|
171
|
+
await expect(adminWallet.connect(stranger).blacklist(blacklisted.address)).revertedWith("Caller is not admin");
|
|
211
172
|
expect(await identity.isBlacklisted(blacklisted.address)).to.false;
|
|
212
173
|
await adminWallet.connect(admin).blacklist(blacklisted.address);
|
|
213
174
|
expect(await identity.isBlacklisted(blacklisted.address)).to.true;
|
|
214
|
-
await expect(
|
|
215
|
-
|
|
216
|
-
)
|
|
175
|
+
await expect(adminWallet.connect(stranger).removeBlacklist(blacklisted.address)).revertedWith(
|
|
176
|
+
"Caller is not admin"
|
|
177
|
+
);
|
|
217
178
|
expect(await identity.isBlacklisted(blacklisted.address)).to.true;
|
|
218
179
|
await adminWallet.connect(admin).removeBlacklist(blacklisted.address);
|
|
219
180
|
expect(await identity.isBlacklisted(blacklisted.address)).to.false;
|
|
@@ -221,18 +182,20 @@ describe("AdminWallet", () => {
|
|
|
221
182
|
|
|
222
183
|
it("should not allow to top wallet if user balance is too high", async () => {
|
|
223
184
|
const walletBalance = await ethers.provider.getBalance(adminWallet.address);
|
|
224
|
-
const tx = await (
|
|
225
|
-
|
|
226
|
-
).wait();
|
|
227
|
-
const walletBalanceAfter = await ethers.provider.getBalance(
|
|
228
|
-
adminWallet.address
|
|
229
|
-
);
|
|
185
|
+
const tx = await (await adminWallet.connect(admin).topWallet(whitelisted.address)).wait();
|
|
186
|
+
const walletBalanceAfter = await ethers.provider.getBalance(adminWallet.address);
|
|
230
187
|
expect(walletBalance).eq(walletBalanceAfter);
|
|
231
188
|
expect(tx.logs.length).eq(0);
|
|
232
189
|
});
|
|
233
190
|
|
|
234
|
-
it("should allow to top wallet", async () => {
|
|
191
|
+
it("should not allow to top wallet if user gd balance unchanged", async () => {
|
|
235
192
|
expect(await ethers.provider.getBalance(newUser.address)).eq(0);
|
|
193
|
+
await expect(adminWallet.connect(admin).topWallet(newUser.address)).revertedWith("User has not used G$");
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
it("should allow to top wallet if user gd balance changed", async () => {
|
|
197
|
+
expect(await ethers.provider.getBalance(newUser.address)).eq(0);
|
|
198
|
+
await gooddollar.mint(newUser.address, 1);
|
|
236
199
|
await adminWallet.connect(admin).topWallet(newUser.address);
|
|
237
200
|
expect(await ethers.provider.getBalance(newUser.address)).gt(0);
|
|
238
201
|
await newUser.sendTransaction({
|
|
@@ -242,6 +205,7 @@ describe("AdminWallet", () => {
|
|
|
242
205
|
});
|
|
243
206
|
|
|
244
207
|
it("should not allow to top wallet more than three times", async () => {
|
|
208
|
+
await gooddollar.mint(newUser.address, 1);
|
|
245
209
|
await adminWallet.connect(admin).topWallet(newUser.address);
|
|
246
210
|
await newUser.sendTransaction({
|
|
247
211
|
to: adminWallet.address,
|
|
@@ -251,56 +215,40 @@ describe("AdminWallet", () => {
|
|
|
251
215
|
to: admin2.address,
|
|
252
216
|
value: toppingAmount / 5
|
|
253
217
|
});
|
|
218
|
+
await gooddollar.mint(newUser.address, 1);
|
|
254
219
|
await adminWallet.connect(admin).topWallet(newUser.address);
|
|
255
220
|
await newUser.sendTransaction({
|
|
256
221
|
to: adminWallet.address,
|
|
257
222
|
value: toppingAmount * 0.9
|
|
258
223
|
});
|
|
259
224
|
|
|
260
|
-
await
|
|
261
|
-
|
|
262
|
-
|
|
225
|
+
await gooddollar.mint(newUser.address, 1);
|
|
226
|
+
await expect(adminWallet.connect(admin).topWallet(newUser.address)).revertedWith(
|
|
227
|
+
"User wallet has been topped too many times today"
|
|
228
|
+
);
|
|
263
229
|
});
|
|
264
230
|
|
|
265
231
|
it("should whitelist user", async () => {
|
|
266
232
|
expect(await identity.isWhitelisted(stranger2.address)).to.false;
|
|
267
|
-
await adminWallet
|
|
268
|
-
.connect(admin2)
|
|
269
|
-
["whitelist(address,string)"](stranger2.address, "did:test3");
|
|
233
|
+
await adminWallet.connect(admin2)["whitelist(address,string)"](stranger2.address, "did:test3");
|
|
270
234
|
expect(await identity.isWhitelisted(stranger2.address)).to.true;
|
|
271
235
|
});
|
|
272
236
|
|
|
273
237
|
it("should not allow whitelisting with existing did", async () => {
|
|
274
|
-
await expect(
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
["whitelist(address,string)"](stranger.address, "did:test")
|
|
278
|
-
).revertedWith("DID already registered");
|
|
238
|
+
await expect(adminWallet.connect(admin2)["whitelist(address,string)"](stranger.address, "did:test")).revertedWith(
|
|
239
|
+
"DID already registered"
|
|
240
|
+
);
|
|
279
241
|
});
|
|
280
242
|
|
|
281
243
|
it("should not allow anyone to upgrade", async () => {
|
|
282
|
-
await expect(
|
|
283
|
-
adminWallet.connect(admin2).upgradeTo(adminWallet.address)
|
|
284
|
-
).revertedWith("not owner");
|
|
244
|
+
await expect(adminWallet.connect(admin2).upgradeTo(adminWallet.address)).revertedWith("not owner");
|
|
285
245
|
});
|
|
286
246
|
|
|
287
247
|
it("should allow owner to upgrade", async () => {
|
|
288
|
-
const newver = await (
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
await
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
await upgrades.forceImport(
|
|
295
|
-
adminWallet.address,
|
|
296
|
-
await ethers.getContractFactory("AdminWallet"),
|
|
297
|
-
{ kind: "uups" }
|
|
298
|
-
);
|
|
299
|
-
await expect(
|
|
300
|
-
upgrades.upgradeProxy(
|
|
301
|
-
adminWallet.address,
|
|
302
|
-
await ethers.getContractFactory("AdminWallet")
|
|
303
|
-
)
|
|
304
|
-
).not.throws;
|
|
248
|
+
const newver = await (await ethers.getContractFactory("AdminWallet")).deploy();
|
|
249
|
+
await expect(adminWallet.connect(founder).upgradeTo(newver.address)).not.reverted;
|
|
250
|
+
|
|
251
|
+
await upgrades.forceImport(adminWallet.address, await ethers.getContractFactory("AdminWallet"), { kind: "uups" });
|
|
252
|
+
await expect(upgrades.upgradeProxy(adminWallet.address, await ethers.getContractFactory("AdminWallet"))).not.throws;
|
|
305
253
|
});
|
|
306
254
|
});
|
package/types/AdminWallet.ts
CHANGED
|
@@ -34,6 +34,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
34
34
|
"blacklist(address)": FunctionFragment;
|
|
35
35
|
"day()": FunctionFragment;
|
|
36
36
|
"gasPrice()": FunctionFragment;
|
|
37
|
+
"gd()": FunctionFragment;
|
|
37
38
|
"genericCall(address,bytes,uint256)": FunctionFragment;
|
|
38
39
|
"getIdentity()": FunctionFragment;
|
|
39
40
|
"getRoleAdmin(bytes32)": FunctionFragment;
|
|
@@ -41,6 +42,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
41
42
|
"hasRole(bytes32,address)": FunctionFragment;
|
|
42
43
|
"initialize(address[],address,address,uint256)": FunctionFragment;
|
|
43
44
|
"isAdmin(address)": FunctionFragment;
|
|
45
|
+
"lastGdBalance(address)": FunctionFragment;
|
|
44
46
|
"maxDailyNewWallets()": FunctionFragment;
|
|
45
47
|
"nameService()": FunctionFragment;
|
|
46
48
|
"proxiableUUID()": FunctionFragment;
|
|
@@ -55,6 +57,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
55
57
|
"topWallet(address)": FunctionFragment;
|
|
56
58
|
"toppingAmount()": FunctionFragment;
|
|
57
59
|
"toppingTimes()": FunctionFragment;
|
|
60
|
+
"upgrade()": FunctionFragment;
|
|
58
61
|
"upgradeTo(address)": FunctionFragment;
|
|
59
62
|
"upgradeToAndCall(address,bytes)": FunctionFragment;
|
|
60
63
|
"whitelist(address,string)": FunctionFragment;
|
|
@@ -76,6 +79,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
76
79
|
encodeFunctionData(functionFragment: "blacklist", values: [string]): string;
|
|
77
80
|
encodeFunctionData(functionFragment: "day", values?: undefined): string;
|
|
78
81
|
encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
|
|
82
|
+
encodeFunctionData(functionFragment: "gd", values?: undefined): string;
|
|
79
83
|
encodeFunctionData(
|
|
80
84
|
functionFragment: "genericCall",
|
|
81
85
|
values: [string, BytesLike, BigNumberish]
|
|
@@ -101,6 +105,10 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
101
105
|
values: [string[], string, string, BigNumberish]
|
|
102
106
|
): string;
|
|
103
107
|
encodeFunctionData(functionFragment: "isAdmin", values: [string]): string;
|
|
108
|
+
encodeFunctionData(
|
|
109
|
+
functionFragment: "lastGdBalance",
|
|
110
|
+
values: [string]
|
|
111
|
+
): string;
|
|
104
112
|
encodeFunctionData(
|
|
105
113
|
functionFragment: "maxDailyNewWallets",
|
|
106
114
|
values?: undefined
|
|
@@ -154,6 +162,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
154
162
|
functionFragment: "toppingTimes",
|
|
155
163
|
values?: undefined
|
|
156
164
|
): string;
|
|
165
|
+
encodeFunctionData(functionFragment: "upgrade", values?: undefined): string;
|
|
157
166
|
encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
|
|
158
167
|
encodeFunctionData(
|
|
159
168
|
functionFragment: "upgradeToAndCall",
|
|
@@ -180,6 +189,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
180
189
|
decodeFunctionResult(functionFragment: "blacklist", data: BytesLike): Result;
|
|
181
190
|
decodeFunctionResult(functionFragment: "day", data: BytesLike): Result;
|
|
182
191
|
decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
|
|
192
|
+
decodeFunctionResult(functionFragment: "gd", data: BytesLike): Result;
|
|
183
193
|
decodeFunctionResult(
|
|
184
194
|
functionFragment: "genericCall",
|
|
185
195
|
data: BytesLike
|
|
@@ -196,6 +206,10 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
196
206
|
decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
|
|
197
207
|
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
|
|
198
208
|
decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result;
|
|
209
|
+
decodeFunctionResult(
|
|
210
|
+
functionFragment: "lastGdBalance",
|
|
211
|
+
data: BytesLike
|
|
212
|
+
): Result;
|
|
199
213
|
decodeFunctionResult(
|
|
200
214
|
functionFragment: "maxDailyNewWallets",
|
|
201
215
|
data: BytesLike
|
|
@@ -243,6 +257,7 @@ export interface AdminWalletInterface extends ethers.utils.Interface {
|
|
|
243
257
|
functionFragment: "toppingTimes",
|
|
244
258
|
data: BytesLike
|
|
245
259
|
): Result;
|
|
260
|
+
decodeFunctionResult(functionFragment: "upgrade", data: BytesLike): Result;
|
|
246
261
|
decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
|
|
247
262
|
decodeFunctionResult(
|
|
248
263
|
functionFragment: "upgradeToAndCall",
|
|
@@ -387,6 +402,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
387
402
|
|
|
388
403
|
gasPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
389
404
|
|
|
405
|
+
gd(overrides?: CallOverrides): Promise<[string]>;
|
|
406
|
+
|
|
390
407
|
genericCall(
|
|
391
408
|
_contract: string,
|
|
392
409
|
_data: BytesLike,
|
|
@@ -420,6 +437,11 @@ export interface AdminWallet extends BaseContract {
|
|
|
420
437
|
|
|
421
438
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<[boolean]>;
|
|
422
439
|
|
|
440
|
+
lastGdBalance(
|
|
441
|
+
arg0: string,
|
|
442
|
+
overrides?: CallOverrides
|
|
443
|
+
): Promise<[BigNumber]>;
|
|
444
|
+
|
|
423
445
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
424
446
|
|
|
425
447
|
nameService(overrides?: CallOverrides): Promise<[string]>;
|
|
@@ -486,6 +508,10 @@ export interface AdminWallet extends BaseContract {
|
|
|
486
508
|
|
|
487
509
|
toppingTimes(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
488
510
|
|
|
511
|
+
upgrade(
|
|
512
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
513
|
+
): Promise<ContractTransaction>;
|
|
514
|
+
|
|
489
515
|
upgradeTo(
|
|
490
516
|
newImplementation: string,
|
|
491
517
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
@@ -532,6 +558,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
532
558
|
|
|
533
559
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
534
560
|
|
|
561
|
+
gd(overrides?: CallOverrides): Promise<string>;
|
|
562
|
+
|
|
535
563
|
genericCall(
|
|
536
564
|
_contract: string,
|
|
537
565
|
_data: BytesLike,
|
|
@@ -565,6 +593,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
565
593
|
|
|
566
594
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
|
|
567
595
|
|
|
596
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
597
|
+
|
|
568
598
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
569
599
|
|
|
570
600
|
nameService(overrides?: CallOverrides): Promise<string>;
|
|
@@ -631,6 +661,10 @@ export interface AdminWallet extends BaseContract {
|
|
|
631
661
|
|
|
632
662
|
toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
|
|
633
663
|
|
|
664
|
+
upgrade(
|
|
665
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
666
|
+
): Promise<ContractTransaction>;
|
|
667
|
+
|
|
634
668
|
upgradeTo(
|
|
635
669
|
newImplementation: string,
|
|
636
670
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
@@ -671,6 +705,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
671
705
|
|
|
672
706
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
673
707
|
|
|
708
|
+
gd(overrides?: CallOverrides): Promise<string>;
|
|
709
|
+
|
|
674
710
|
genericCall(
|
|
675
711
|
_contract: string,
|
|
676
712
|
_data: BytesLike,
|
|
@@ -704,6 +740,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
704
740
|
|
|
705
741
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
|
|
706
742
|
|
|
743
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
744
|
+
|
|
707
745
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
708
746
|
|
|
709
747
|
nameService(overrides?: CallOverrides): Promise<string>;
|
|
@@ -758,6 +796,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
758
796
|
|
|
759
797
|
toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
|
|
760
798
|
|
|
799
|
+
upgrade(overrides?: CallOverrides): Promise<void>;
|
|
800
|
+
|
|
761
801
|
upgradeTo(
|
|
762
802
|
newImplementation: string,
|
|
763
803
|
overrides?: CallOverrides
|
|
@@ -887,6 +927,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
887
927
|
|
|
888
928
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
889
929
|
|
|
930
|
+
gd(overrides?: CallOverrides): Promise<BigNumber>;
|
|
931
|
+
|
|
890
932
|
genericCall(
|
|
891
933
|
_contract: string,
|
|
892
934
|
_data: BytesLike,
|
|
@@ -923,6 +965,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
923
965
|
|
|
924
966
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
925
967
|
|
|
968
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
969
|
+
|
|
926
970
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
927
971
|
|
|
928
972
|
nameService(overrides?: CallOverrides): Promise<BigNumber>;
|
|
@@ -989,6 +1033,10 @@ export interface AdminWallet extends BaseContract {
|
|
|
989
1033
|
|
|
990
1034
|
toppingTimes(overrides?: CallOverrides): Promise<BigNumber>;
|
|
991
1035
|
|
|
1036
|
+
upgrade(
|
|
1037
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1038
|
+
): Promise<BigNumber>;
|
|
1039
|
+
|
|
992
1040
|
upgradeTo(
|
|
993
1041
|
newImplementation: string,
|
|
994
1042
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
@@ -1040,6 +1088,8 @@ export interface AdminWallet extends BaseContract {
|
|
|
1040
1088
|
|
|
1041
1089
|
gasPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1042
1090
|
|
|
1091
|
+
gd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1092
|
+
|
|
1043
1093
|
genericCall(
|
|
1044
1094
|
_contract: string,
|
|
1045
1095
|
_data: BytesLike,
|
|
@@ -1079,6 +1129,11 @@ export interface AdminWallet extends BaseContract {
|
|
|
1079
1129
|
overrides?: CallOverrides
|
|
1080
1130
|
): Promise<PopulatedTransaction>;
|
|
1081
1131
|
|
|
1132
|
+
lastGdBalance(
|
|
1133
|
+
arg0: string,
|
|
1134
|
+
overrides?: CallOverrides
|
|
1135
|
+
): Promise<PopulatedTransaction>;
|
|
1136
|
+
|
|
1082
1137
|
maxDailyNewWallets(
|
|
1083
1138
|
overrides?: CallOverrides
|
|
1084
1139
|
): Promise<PopulatedTransaction>;
|
|
@@ -1147,6 +1202,10 @@ export interface AdminWallet extends BaseContract {
|
|
|
1147
1202
|
|
|
1148
1203
|
toppingTimes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1149
1204
|
|
|
1205
|
+
upgrade(
|
|
1206
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1207
|
+
): Promise<PopulatedTransaction>;
|
|
1208
|
+
|
|
1150
1209
|
upgradeTo(
|
|
1151
1210
|
newImplementation: string,
|
|
1152
1211
|
overrides?: Overrides & { from?: string | Promise<string> }
|
package/types/AdminWalletFuse.ts
CHANGED
|
@@ -34,6 +34,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
34
34
|
"blacklist(address)": FunctionFragment;
|
|
35
35
|
"day()": FunctionFragment;
|
|
36
36
|
"gasPrice()": FunctionFragment;
|
|
37
|
+
"gd()": FunctionFragment;
|
|
37
38
|
"genericCall(address,bytes,uint256)": FunctionFragment;
|
|
38
39
|
"getIdentity()": FunctionFragment;
|
|
39
40
|
"getRoleAdmin(bytes32)": FunctionFragment;
|
|
@@ -41,6 +42,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
41
42
|
"hasRole(bytes32,address)": FunctionFragment;
|
|
42
43
|
"initialize(address[],address,address,uint256)": FunctionFragment;
|
|
43
44
|
"isAdmin(address)": FunctionFragment;
|
|
45
|
+
"lastGdBalance(address)": FunctionFragment;
|
|
44
46
|
"maxDailyNewWallets()": FunctionFragment;
|
|
45
47
|
"nameService()": FunctionFragment;
|
|
46
48
|
"owner()": FunctionFragment;
|
|
@@ -58,7 +60,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
58
60
|
"toppingAmount()": FunctionFragment;
|
|
59
61
|
"toppingTimes()": FunctionFragment;
|
|
60
62
|
"transferOwnership(address)": FunctionFragment;
|
|
61
|
-
"upgrade(
|
|
63
|
+
"upgrade()": FunctionFragment;
|
|
62
64
|
"upgradeTo(address)": FunctionFragment;
|
|
63
65
|
"upgradeToAndCall(address,bytes)": FunctionFragment;
|
|
64
66
|
"version()": FunctionFragment;
|
|
@@ -81,6 +83,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
81
83
|
encodeFunctionData(functionFragment: "blacklist", values: [string]): string;
|
|
82
84
|
encodeFunctionData(functionFragment: "day", values?: undefined): string;
|
|
83
85
|
encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
|
|
86
|
+
encodeFunctionData(functionFragment: "gd", values?: undefined): string;
|
|
84
87
|
encodeFunctionData(
|
|
85
88
|
functionFragment: "genericCall",
|
|
86
89
|
values: [string, BytesLike, BigNumberish]
|
|
@@ -106,6 +109,10 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
106
109
|
values: [string[], string, string, BigNumberish]
|
|
107
110
|
): string;
|
|
108
111
|
encodeFunctionData(functionFragment: "isAdmin", values: [string]): string;
|
|
112
|
+
encodeFunctionData(
|
|
113
|
+
functionFragment: "lastGdBalance",
|
|
114
|
+
values: [string]
|
|
115
|
+
): string;
|
|
109
116
|
encodeFunctionData(
|
|
110
117
|
functionFragment: "maxDailyNewWallets",
|
|
111
118
|
values?: undefined
|
|
@@ -168,7 +175,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
168
175
|
functionFragment: "transferOwnership",
|
|
169
176
|
values: [string]
|
|
170
177
|
): string;
|
|
171
|
-
encodeFunctionData(functionFragment: "upgrade", values
|
|
178
|
+
encodeFunctionData(functionFragment: "upgrade", values?: undefined): string;
|
|
172
179
|
encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
|
|
173
180
|
encodeFunctionData(
|
|
174
181
|
functionFragment: "upgradeToAndCall",
|
|
@@ -196,6 +203,7 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
196
203
|
decodeFunctionResult(functionFragment: "blacklist", data: BytesLike): Result;
|
|
197
204
|
decodeFunctionResult(functionFragment: "day", data: BytesLike): Result;
|
|
198
205
|
decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
|
|
206
|
+
decodeFunctionResult(functionFragment: "gd", data: BytesLike): Result;
|
|
199
207
|
decodeFunctionResult(
|
|
200
208
|
functionFragment: "genericCall",
|
|
201
209
|
data: BytesLike
|
|
@@ -212,6 +220,10 @@ export interface AdminWalletFuseInterface extends ethers.utils.Interface {
|
|
|
212
220
|
decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
|
|
213
221
|
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
|
|
214
222
|
decodeFunctionResult(functionFragment: "isAdmin", data: BytesLike): Result;
|
|
223
|
+
decodeFunctionResult(
|
|
224
|
+
functionFragment: "lastGdBalance",
|
|
225
|
+
data: BytesLike
|
|
226
|
+
): Result;
|
|
215
227
|
decodeFunctionResult(
|
|
216
228
|
functionFragment: "maxDailyNewWallets",
|
|
217
229
|
data: BytesLike
|
|
@@ -424,6 +436,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
424
436
|
|
|
425
437
|
gasPrice(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
426
438
|
|
|
439
|
+
gd(overrides?: CallOverrides): Promise<[string]>;
|
|
440
|
+
|
|
427
441
|
genericCall(
|
|
428
442
|
_contract: string,
|
|
429
443
|
_data: BytesLike,
|
|
@@ -457,6 +471,11 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
457
471
|
|
|
458
472
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<[boolean]>;
|
|
459
473
|
|
|
474
|
+
lastGdBalance(
|
|
475
|
+
arg0: string,
|
|
476
|
+
overrides?: CallOverrides
|
|
477
|
+
): Promise<[BigNumber]>;
|
|
478
|
+
|
|
460
479
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
461
480
|
|
|
462
481
|
nameService(overrides?: CallOverrides): Promise<[string]>;
|
|
@@ -535,7 +554,6 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
535
554
|
): Promise<ContractTransaction>;
|
|
536
555
|
|
|
537
556
|
upgrade(
|
|
538
|
-
_ns: string,
|
|
539
557
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
540
558
|
): Promise<ContractTransaction>;
|
|
541
559
|
|
|
@@ -587,6 +605,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
587
605
|
|
|
588
606
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
589
607
|
|
|
608
|
+
gd(overrides?: CallOverrides): Promise<string>;
|
|
609
|
+
|
|
590
610
|
genericCall(
|
|
591
611
|
_contract: string,
|
|
592
612
|
_data: BytesLike,
|
|
@@ -620,6 +640,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
620
640
|
|
|
621
641
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
|
|
622
642
|
|
|
643
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
644
|
+
|
|
623
645
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
624
646
|
|
|
625
647
|
nameService(overrides?: CallOverrides): Promise<string>;
|
|
@@ -698,7 +720,6 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
698
720
|
): Promise<ContractTransaction>;
|
|
699
721
|
|
|
700
722
|
upgrade(
|
|
701
|
-
_ns: string,
|
|
702
723
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
703
724
|
): Promise<ContractTransaction>;
|
|
704
725
|
|
|
@@ -744,6 +765,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
744
765
|
|
|
745
766
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
746
767
|
|
|
768
|
+
gd(overrides?: CallOverrides): Promise<string>;
|
|
769
|
+
|
|
747
770
|
genericCall(
|
|
748
771
|
_contract: string,
|
|
749
772
|
_data: BytesLike,
|
|
@@ -777,6 +800,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
777
800
|
|
|
778
801
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<boolean>;
|
|
779
802
|
|
|
803
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
804
|
+
|
|
780
805
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
781
806
|
|
|
782
807
|
nameService(overrides?: CallOverrides): Promise<string>;
|
|
@@ -840,7 +865,7 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
840
865
|
overrides?: CallOverrides
|
|
841
866
|
): Promise<void>;
|
|
842
867
|
|
|
843
|
-
upgrade(
|
|
868
|
+
upgrade(overrides?: CallOverrides): Promise<void>;
|
|
844
869
|
|
|
845
870
|
upgradeTo(
|
|
846
871
|
newImplementation: string,
|
|
@@ -982,6 +1007,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
982
1007
|
|
|
983
1008
|
gasPrice(overrides?: CallOverrides): Promise<BigNumber>;
|
|
984
1009
|
|
|
1010
|
+
gd(overrides?: CallOverrides): Promise<BigNumber>;
|
|
1011
|
+
|
|
985
1012
|
genericCall(
|
|
986
1013
|
_contract: string,
|
|
987
1014
|
_data: BytesLike,
|
|
@@ -1018,6 +1045,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
1018
1045
|
|
|
1019
1046
|
isAdmin(_user: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
1020
1047
|
|
|
1048
|
+
lastGdBalance(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
1049
|
+
|
|
1021
1050
|
maxDailyNewWallets(overrides?: CallOverrides): Promise<BigNumber>;
|
|
1022
1051
|
|
|
1023
1052
|
nameService(overrides?: CallOverrides): Promise<BigNumber>;
|
|
@@ -1096,7 +1125,6 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
1096
1125
|
): Promise<BigNumber>;
|
|
1097
1126
|
|
|
1098
1127
|
upgrade(
|
|
1099
|
-
_ns: string,
|
|
1100
1128
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1101
1129
|
): Promise<BigNumber>;
|
|
1102
1130
|
|
|
@@ -1153,6 +1181,8 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
1153
1181
|
|
|
1154
1182
|
gasPrice(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1155
1183
|
|
|
1184
|
+
gd(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
1185
|
+
|
|
1156
1186
|
genericCall(
|
|
1157
1187
|
_contract: string,
|
|
1158
1188
|
_data: BytesLike,
|
|
@@ -1192,6 +1222,11 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
1192
1222
|
overrides?: CallOverrides
|
|
1193
1223
|
): Promise<PopulatedTransaction>;
|
|
1194
1224
|
|
|
1225
|
+
lastGdBalance(
|
|
1226
|
+
arg0: string,
|
|
1227
|
+
overrides?: CallOverrides
|
|
1228
|
+
): Promise<PopulatedTransaction>;
|
|
1229
|
+
|
|
1195
1230
|
maxDailyNewWallets(
|
|
1196
1231
|
overrides?: CallOverrides
|
|
1197
1232
|
): Promise<PopulatedTransaction>;
|
|
@@ -1272,7 +1307,6 @@ export interface AdminWalletFuse extends BaseContract {
|
|
|
1272
1307
|
): Promise<PopulatedTransaction>;
|
|
1273
1308
|
|
|
1274
1309
|
upgrade(
|
|
1275
|
-
_ns: string,
|
|
1276
1310
|
overrides?: Overrides & { from?: string | Promise<string> }
|
|
1277
1311
|
): Promise<PopulatedTransaction>;
|
|
1278
1312
|
|