Skip to content

Commit db46709

Browse files
committed
Test uninstall behavior using EtherRouter
1 parent 2ef4ba3 commit db46709

11 files changed

+72
-66
lines changed

test/extensions/coin-machine.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ const {
1616
currentBlockTime,
1717
forwardTimeTo,
1818
expectEvent,
19-
web3GetStorageAt,
2019
} = require("../../helpers/test-helper");
2120

2221
const { setupRandomToken, setupRandomColony, setupColony, getMetaTransactionParameters } = require("../../helpers/test-data-generator");
@@ -98,17 +97,18 @@ contract("Coin Machine", (accounts) => {
9897
({ colony } = await setupRandomColony(colonyNetwork));
9998
await colony.installExtension(COIN_MACHINE, version, { from: USER0 });
10099

101-
const coinMachineAddress = await colonyNetwork.getExtensionInstallation(COIN_MACHINE, colony.address);
102-
let resolverAddress = await web3GetStorageAt(coinMachineAddress, 2);
103-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
100+
const extensionAddress = await colonyNetwork.getExtensionInstallation(COIN_MACHINE, colony.address);
101+
const etherRouter = await EtherRouter.at(extensionAddress);
102+
let resolverAddress = await etherRouter.resolver();
103+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
104104

105105
await checkErrorRevert(colony.installExtension(COIN_MACHINE, version, { from: USER0 }), "colony-network-extension-already-installed");
106106
await checkErrorRevert(colony.uninstallExtension(COIN_MACHINE, { from: USER1 }), "ds-auth-unauthorized");
107107

108108
await colony.uninstallExtension(COIN_MACHINE, { from: USER0 });
109109

110-
resolverAddress = await web3GetStorageAt(coinMachineAddress, 2);
111-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
110+
resolverAddress = await etherRouter.resolver();
111+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
112112
});
113113

114114
it("can send unsold tokens back to the colony", async () => {

test/extensions/evaluated-expenditure.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const { ethers } = require("ethers");
66
const { soliditySha3 } = require("web3-utils");
77

88
const { UINT256_MAX, WAD, ADDRESS_ZERO, ADDRESS_FULL, SLOT0 } = require("../../helpers/constants");
9-
const { checkErrorRevert, web3GetStorageAt } = require("../../helpers/test-helper");
9+
const { checkErrorRevert } = require("../../helpers/test-helper");
1010
const { setupRandomColony, getMetaTransactionParameters } = require("../../helpers/test-data-generator");
1111

1212
const { expect } = chai;
@@ -73,17 +73,18 @@ contract("EvaluatedExpenditure", (accounts) => {
7373
({ colony } = await setupRandomColony(colonyNetwork));
7474
await colony.installExtension(EVALUATED_EXPENDITURE, version, { from: USER0 });
7575

76-
const evaluatedExpenditureAddress = await colonyNetwork.getExtensionInstallation(EVALUATED_EXPENDITURE, colony.address);
77-
let resolverAddress = await web3GetStorageAt(evaluatedExpenditureAddress, 2);
78-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
76+
const extensionAddress = await colonyNetwork.getExtensionInstallation(EVALUATED_EXPENDITURE, colony.address);
77+
const etherRouter = await EtherRouter.at(extensionAddress);
78+
let resolverAddress = await etherRouter.resolver();
79+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
7980

8081
await checkErrorRevert(colony.installExtension(EVALUATED_EXPENDITURE, version, { from: USER0 }), "colony-network-extension-already-installed");
8182
await checkErrorRevert(colony.uninstallExtension(EVALUATED_EXPENDITURE, { from: USER1 }), "ds-auth-unauthorized");
8283

8384
await colony.uninstallExtension(EVALUATED_EXPENDITURE, { from: USER0 });
8485

85-
resolverAddress = await web3GetStorageAt(evaluatedExpenditureAddress, 2);
86-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
86+
resolverAddress = await etherRouter.resolver();
87+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
8788
});
8889

8990
it("can't use the network-level functions if installed via ColonyNetwork", async () => {

test/extensions/funding-queue.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ const {
2424
forwardTime,
2525
getBlockTime,
2626
removeSubdomainLimit,
27-
web3GetStorageAt,
2827
} = require("../../helpers/test-helper");
2928

3029
const { setupRandomColony, getMetaTransactionParameters } = require("../../helpers/test-data-generator");
@@ -201,17 +200,18 @@ contract("Funding Queues", (accounts) => {
201200
({ colony } = await setupRandomColony(colonyNetwork));
202201
await colony.installExtension(FUNDING_QUEUE, version, { from: USER0 });
203202

204-
const fundingQueueAddress = await colonyNetwork.getExtensionInstallation(FUNDING_QUEUE, colony.address);
205-
let resolverAddress = await web3GetStorageAt(fundingQueueAddress, 2);
206-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
203+
const extensionAddress = await colonyNetwork.getExtensionInstallation(FUNDING_QUEUE, colony.address);
204+
const etherRouter = await EtherRouter.at(extensionAddress);
205+
let resolverAddress = await etherRouter.resolver();
206+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
207207

208208
await checkErrorRevert(colony.installExtension(FUNDING_QUEUE, version, { from: USER0 }), "colony-network-extension-already-installed");
209209
await checkErrorRevert(colony.uninstallExtension(FUNDING_QUEUE, { from: USER1 }), "ds-auth-unauthorized");
210210

211211
await colony.uninstallExtension(FUNDING_QUEUE, { from: USER0 });
212212

213-
resolverAddress = await web3GetStorageAt(fundingQueueAddress, 2);
214-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
213+
resolverAddress = await etherRouter.resolver();
214+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
215215
});
216216

217217
it("can't use the network-level functions if installed via ColonyNetwork", async () => {

test/extensions/one-tx-payment.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const {
1717
SECONDS_PER_DAY,
1818
} = require("../../helpers/constants");
1919

20-
const { checkErrorRevert, rolesToBytes32, expectEvent, upgradeColonyOnceThenToLatest, web3GetStorageAt } = require("../../helpers/test-helper");
20+
const { checkErrorRevert, rolesToBytes32, expectEvent, upgradeColonyOnceThenToLatest } = require("../../helpers/test-helper");
2121
const { setupRandomColony, fundColonyWithTokens, getMetaTransactionParameters, setupColony } = require("../../helpers/test-data-generator");
2222

2323
const { expect } = chai;
@@ -106,17 +106,18 @@ contract("One transaction payments", (accounts) => {
106106
({ colony } = await setupRandomColony(colonyNetwork));
107107
await colony.installExtension(ONE_TX_PAYMENT, version, { from: USER0 });
108108

109-
const oneTxPaymentAddress = await colonyNetwork.getExtensionInstallation(ONE_TX_PAYMENT, colony.address);
110-
let resolverAddress = await web3GetStorageAt(oneTxPaymentAddress, 2);
111-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
109+
const extensionAddress = await colonyNetwork.getExtensionInstallation(ONE_TX_PAYMENT, colony.address);
110+
const etherRouter = await EtherRouter.at(extensionAddress);
111+
let resolverAddress = await etherRouter.resolver();
112+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
112113

113114
await checkErrorRevert(colony.installExtension(ONE_TX_PAYMENT, version, { from: USER0 }), "colony-network-extension-already-installed");
114115
await checkErrorRevert(colony.uninstallExtension(ONE_TX_PAYMENT, { from: USER1 }), "ds-auth-unauthorized");
115116

116117
await colony.uninstallExtension(ONE_TX_PAYMENT, { from: USER0 });
117118

118-
resolverAddress = await web3GetStorageAt(oneTxPaymentAddress, 2);
119-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
119+
resolverAddress = await etherRouter.resolver();
120+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
120121
});
121122

122123
it("can't use the network-level functions if installed via ColonyNetwork", async () => {

test/extensions/reputation-bootstrapper.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const { ethers } = require("ethers");
66
const { soliditySha3 } = require("web3-utils");
77

88
const { WAD, INT128_MAX, ADDRESS_ZERO, ADDRESS_FULL, SECONDS_PER_DAY, SECONDS_PER_HOUR } = require("../../helpers/constants");
9-
const { checkErrorRevert, getBlockTime, forwardTime, web3GetStorageAt } = require("../../helpers/test-helper");
9+
const { checkErrorRevert, getBlockTime, forwardTime } = require("../../helpers/test-helper");
1010
const { setupRandomColony, getMetaTransactionParameters } = require("../../helpers/test-data-generator");
1111

1212
const { expect } = chai;
@@ -82,9 +82,10 @@ contract("Reputation Bootstrapper", (accounts) => {
8282
({ colony } = await setupRandomColony(colonyNetwork));
8383
await colony.installExtension(REPUTATION_BOOTSTRAPPER, version, { from: USER0 });
8484

85-
const reputationBoostrapperAddress = await colonyNetwork.getExtensionInstallation(REPUTATION_BOOTSTRAPPER, colony.address);
86-
let resolverAddress = await web3GetStorageAt(reputationBoostrapperAddress, 2);
87-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
85+
const extensionAddress = await colonyNetwork.getExtensionInstallation(REPUTATION_BOOTSTRAPPER, colony.address);
86+
const etherRouter = await EtherRouter.at(extensionAddress);
87+
let resolverAddress = await etherRouter.resolver();
88+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
8889

8990
await checkErrorRevert(
9091
colony.installExtension(REPUTATION_BOOTSTRAPPER, version, { from: USER0 }),
@@ -94,8 +95,8 @@ contract("Reputation Bootstrapper", (accounts) => {
9495

9596
await colony.uninstallExtension(REPUTATION_BOOTSTRAPPER, { from: USER0 });
9697

97-
resolverAddress = await web3GetStorageAt(reputationBoostrapperAddress, 2);
98-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
98+
resolverAddress = await etherRouter.resolver();
99+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
99100
});
100101

101102
it("can't use the network-level functions if installed via ColonyNetwork", async () => {

test/extensions/staged-expenditure.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ const {
2525
makeReputationValue,
2626
getActiveRepCycle,
2727
forwardTime,
28-
web3GetStorageAt,
2928
} = require("../../helpers/test-helper");
3029

3130
const PatriciaTree = require("../../packages/reputation-miner/patricia");
@@ -107,17 +106,18 @@ contract("Staged Expenditure", (accounts) => {
107106
({ colony } = await setupRandomColony(colonyNetwork));
108107
await colony.installExtension(STAGED_EXPENDITURE, version, { from: USER0 });
109108

110-
const stagedExpenditureAddress = await colonyNetwork.getExtensionInstallation(STAGED_EXPENDITURE, colony.address);
111-
let resolverAddress = await web3GetStorageAt(stagedExpenditureAddress, 2);
112-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
109+
const extensionAddress = await colonyNetwork.getExtensionInstallation(STAGED_EXPENDITURE, colony.address);
110+
const etherRouter = await EtherRouter.at(extensionAddress);
111+
let resolverAddress = await etherRouter.resolver();
112+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
113113

114114
await checkErrorRevert(colony.installExtension(STAGED_EXPENDITURE, version, { from: USER0 }), "colony-network-extension-already-installed");
115115
await checkErrorRevert(colony.uninstallExtension(STAGED_EXPENDITURE, { from: USER1 }), "ds-auth-unauthorized");
116116

117117
await colony.uninstallExtension(STAGED_EXPENDITURE, { from: USER0 });
118118

119-
resolverAddress = await web3GetStorageAt(stagedExpenditureAddress, 2);
120-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
119+
resolverAddress = await etherRouter.resolver();
120+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
121121
});
122122
});
123123

test/extensions/staked-expenditure.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ const {
2222
forwardTime,
2323
expectEvent,
2424
expectNoEvent,
25-
web3GetStorageAt,
2625
} = require("../../helpers/test-helper");
2726

2827
const PatriciaTree = require("../../packages/reputation-miner/patricia");
@@ -153,17 +152,18 @@ contract("StakedExpenditure", (accounts) => {
153152
({ colony } = await setupRandomColony(colonyNetwork));
154153
await colony.installExtension(STAKED_EXPENDITURE, version, { from: USER0 });
155154

156-
const stakedExpenditureAddress = await colonyNetwork.getExtensionInstallation(STAKED_EXPENDITURE, colony.address);
157-
let resolverAddress = await web3GetStorageAt(stakedExpenditureAddress, 2);
158-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
155+
const extensionAddress = await colonyNetwork.getExtensionInstallation(STAKED_EXPENDITURE, colony.address);
156+
const etherRouter = await EtherRouter.at(extensionAddress);
157+
let resolverAddress = await etherRouter.resolver();
158+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
159159

160160
await checkErrorRevert(colony.installExtension(STAKED_EXPENDITURE, version, { from: USER0 }), "colony-network-extension-already-installed");
161161
await checkErrorRevert(colony.uninstallExtension(STAKED_EXPENDITURE, { from: USER1 }), "ds-auth-unauthorized");
162162

163163
await colony.uninstallExtension(STAKED_EXPENDITURE, { from: USER0 });
164164

165-
resolverAddress = await web3GetStorageAt(stakedExpenditureAddress, 2);
166-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
165+
resolverAddress = await etherRouter.resolver();
166+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
167167
});
168168

169169
it("setStakeFraction will emit the correct event if stakeFraction == 0", async () => {

test/extensions/streaming-payments.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const { ethers } = require("ethers");
66
const { soliditySha3 } = require("web3-utils");
77

88
const { UINT256_MAX, WAD, SECONDS_PER_DAY, ADDRESS_ZERO, ADDRESS_FULL } = require("../../helpers/constants");
9-
const { checkErrorRevert, expectEvent, makeTxAtTimestamp, getBlockTime, forwardTime, web3GetStorageAt } = require("../../helpers/test-helper");
9+
const { checkErrorRevert, expectEvent, makeTxAtTimestamp, getBlockTime, forwardTime } = require("../../helpers/test-helper");
1010
const { setupRandomColony, fundColonyWithTokens } = require("../../helpers/test-data-generator");
1111

1212
const { expect } = chai;
@@ -82,17 +82,18 @@ contract("Streaming Payments", (accounts) => {
8282
({ colony } = await setupRandomColony(colonyNetwork));
8383
await colony.installExtension(STREAMING_PAYMENTS, version, { from: USER0 });
8484

85-
const streamingPaymentsAddress = await colonyNetwork.getExtensionInstallation(STREAMING_PAYMENTS, colony.address);
86-
let resolverAddress = await web3GetStorageAt(streamingPaymentsAddress, 2);
87-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
85+
const extensionAddress = await colonyNetwork.getExtensionInstallation(STREAMING_PAYMENTS, colony.address);
86+
const etherRouter = await EtherRouter.at(extensionAddress);
87+
let resolverAddress = await etherRouter.resolver();
88+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
8889

8990
await checkErrorRevert(colony.installExtension(STREAMING_PAYMENTS, version, { from: USER0 }), "colony-network-extension-already-installed");
9091
await checkErrorRevert(colony.uninstallExtension(STREAMING_PAYMENTS, { from: USER1 }), "ds-auth-unauthorized");
9192

9293
await colony.uninstallExtension(STREAMING_PAYMENTS, { from: USER0 });
9394

94-
resolverAddress = await web3GetStorageAt(streamingPaymentsAddress, 2);
95-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
95+
resolverAddress = await etherRouter.resolver();
96+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
9697
});
9798

9899
it("can't use the network-level functions if installed via ColonyNetwork", async () => {

test/extensions/token-supplier.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const { soliditySha3 } = require("web3-utils");
88

99
const { UINT256_MAX, WAD, SECONDS_PER_DAY, ADDRESS_ZERO, ADDRESS_FULL } = require("../../helpers/constants");
1010
const { setupRandomColony, getMetaTransactionParameters } = require("../../helpers/test-data-generator");
11-
const { checkErrorRevert, currentBlockTime, makeTxAtTimestamp, getBlockTime, forwardTime, web3GetStorageAt } = require("../../helpers/test-helper");
11+
const { checkErrorRevert, currentBlockTime, makeTxAtTimestamp, getBlockTime, forwardTime } = require("../../helpers/test-helper");
1212

1313
const { expect } = chai;
1414
chai.use(bnChai(web3.utils.BN));
@@ -77,17 +77,18 @@ contract("Token Supplier", (accounts) => {
7777
({ colony } = await setupRandomColony(colonyNetwork));
7878
await colony.installExtension(TOKEN_SUPPLIER, version, { from: USER0 });
7979

80-
const tokenSupplierAddress = await colonyNetwork.getExtensionInstallation(TOKEN_SUPPLIER, colony.address);
81-
let resolverAddress = await web3GetStorageAt(tokenSupplierAddress, 2);
82-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
80+
const extensionAddress = await colonyNetwork.getExtensionInstallation(TOKEN_SUPPLIER, colony.address);
81+
const etherRouter = await EtherRouter.at(extensionAddress);
82+
let resolverAddress = await etherRouter.resolver();
83+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
8384

8485
await checkErrorRevert(colony.installExtension(TOKEN_SUPPLIER, version, { from: USER0 }), "colony-network-extension-already-installed");
8586
await checkErrorRevert(colony.uninstallExtension(TOKEN_SUPPLIER, { from: USER1 }), "ds-auth-unauthorized");
8687

8788
await colony.uninstallExtension(TOKEN_SUPPLIER, { from: USER0 });
8889

89-
resolverAddress = await web3GetStorageAt(tokenSupplierAddress, 2);
90-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
90+
resolverAddress = await etherRouter.resolver();
91+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
9192
});
9293

9394
it("can initialise", async () => {

test/extensions/voting-rep.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ const {
3434
expectEvent,
3535
getTokenArgs,
3636
getBlockTime,
37-
web3GetStorageAt,
3837
} = require("../../helpers/test-helper");
3938

4039
const { setupRandomColony, getMetaTransactionParameters, fundColonyWithTokens } = require("../../helpers/test-data-generator");
@@ -302,17 +301,18 @@ contract("Voting Reputation", (accounts) => {
302301
({ colony } = await setupRandomColony(colonyNetwork));
303302
await colony.installExtension(VOTING_REPUTATION, version, { from: USER0 });
304303

305-
const votingAddress = await colonyNetwork.getExtensionInstallation(VOTING_REPUTATION, colony.address);
306-
let resolverAddress = await web3GetStorageAt(votingAddress, 2);
307-
expect(resolverAddress).to.not.equal(ethers.constants.HashZero);
304+
const extensionAddress = await colonyNetwork.getExtensionInstallation(VOTING_REPUTATION, colony.address);
305+
const etherRouter = await EtherRouter.at(extensionAddress);
306+
let resolverAddress = await etherRouter.resolver();
307+
expect(resolverAddress).to.not.equal(ethers.constants.AddressZero);
308308

309309
await checkErrorRevert(colony.installExtension(VOTING_REPUTATION, version, { from: USER0 }), "colony-network-extension-already-installed");
310310
await checkErrorRevert(colony.uninstallExtension(VOTING_REPUTATION, { from: USER1 }), "ds-auth-unauthorized");
311311

312312
await colony.uninstallExtension(VOTING_REPUTATION, { from: USER0 });
313313

314-
resolverAddress = await web3GetStorageAt(votingAddress, 2);
315-
expect(resolverAddress).to.equal(ethers.constants.HashZero);
314+
resolverAddress = await etherRouter.resolver();
315+
expect(resolverAddress).to.equal(ethers.constants.AddressZero);
316316
});
317317

318318
it("can deprecate the extension if root", async () => {

0 commit comments

Comments
 (0)