Skip to content

Commit 2de77e2

Browse files
committed
mega truffle upgrade
1 parent 66c79d3 commit 2de77e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2286
-1958
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
FROM trufflesuite/ganache-cli:v6.4.2
1+
FROM trufflesuite/ganache-cli:v6.10.2
22
COPY ["localchaindb", "dockerLocalchaindb"]

migrations/1000_initialSetup.js

+44-21
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const SafeMathTester = artifacts.require("./test/SafeMathTester.sol");
1212

1313
const localTest_initialSetup = artifacts.require("./SB_scripts/localTest/localTest_initialSetup.sol");
1414

15-
module.exports = function(deployer) {
15+
module.exports = function (deployer) {
1616
deployer
1717
.deploy(
1818
localTest_initialSetup,
@@ -27,31 +27,54 @@ module.exports = function(deployer) {
2727
Exchange.address,
2828
SafeMathTester.address
2929
)
30-
.then(async initialSetupScript => {
30+
.then(async (initialSetupScript) => {
3131
// StabilityBoard permissions
32-
const rates = Rates.at(Rates.address);
33-
const feeAccount = FeeAccount.at(FeeAccount.address);
34-
const interestEarnedAccount = InterestEarnedAccount.at(InterestEarnedAccount.address);
35-
const tokenAEur = TokenAEur.at(TokenAEur.address);
36-
const augmintReserves = AugmintReserves.at(AugmintReserves.address);
37-
const monetarySupervisor = MonetarySupervisor.at(MonetarySupervisor.address);
38-
const loanManager = LoanManager.at(LoanManager.address);
39-
const locker = Locker.at(Locker.address);
40-
const exchange = Exchange.at(Exchange.address);
32+
const [
33+
rates,
34+
feeAccount,
35+
interestEarnedAccount,
36+
tokenAEur,
37+
augmintReserves,
38+
monetarySupervisor,
39+
loanManager,
40+
locker,
41+
exchange,
42+
stabilityBoardProxy,
43+
] = await Promise.all([
44+
Rates.at(Rates.address),
45+
FeeAccount.at(FeeAccount.address),
46+
InterestEarnedAccount.at(InterestEarnedAccount.address),
47+
TokenAEur.at(TokenAEur.address),
48+
AugmintReserves.at(AugmintReserves.address),
49+
MonetarySupervisor.at(MonetarySupervisor.address),
50+
LoanManager.at(LoanManager.address),
51+
Locker.at(Locker.address),
52+
Exchange.at(Exchange.address),
53+
StabilityBoardProxy.at(StabilityBoardProxy.address),
54+
]);
55+
4156
await Promise.all([
42-
rates.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
43-
feeAccount.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
44-
interestEarnedAccount.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
45-
tokenAEur.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
46-
augmintReserves.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
47-
monetarySupervisor.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
48-
loanManager.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
49-
locker.grantPermission(StabilityBoardProxy.address, "PermissionGranter"),
50-
exchange.grantPermission(StabilityBoardProxy.address, "PermissionGranter")
57+
rates.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
58+
feeAccount.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
59+
interestEarnedAccount.grantPermission(
60+
StabilityBoardProxy.address,
61+
web3.utils.asciiToHex("PermissionGranter")
62+
),
63+
tokenAEur.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
64+
augmintReserves.grantPermission(
65+
StabilityBoardProxy.address,
66+
web3.utils.asciiToHex("PermissionGranter")
67+
),
68+
monetarySupervisor.grantPermission(
69+
StabilityBoardProxy.address,
70+
web3.utils.asciiToHex("PermissionGranter")
71+
),
72+
loanManager.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
73+
locker.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
74+
exchange.grantPermission(StabilityBoardProxy.address, web3.utils.asciiToHex("PermissionGranter")),
5175
]);
5276

5377
// run initial setup script
54-
const stabilityBoardProxy = StabilityBoardProxy.at(StabilityBoardProxy.address);
5578
await stabilityBoardProxy.sign(initialSetupScript.address);
5679
const tx = await stabilityBoardProxy.execute(initialSetupScript.address);
5780

migrations/1001_topup_interestEarnedAccount.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ const TokenAEur = artifacts.require("./TokenAEur.sol");
33
const LoanManager = artifacts.require("./LoanManager.sol");
44
const InterestEarnedAccount = artifacts.require("./InterestEarnedAccount.sol");
55

6-
module.exports = function(deployer) {
6+
module.exports = function (deployer) {
77
deployer.then(async () => {
8-
const tokenAEur = TokenAEur.at(TokenAEur.address);
9-
const loanManager = LoanManager.at(LoanManager.address);
8+
const [tokenAEur, loanManager] = await Promise.all([
9+
TokenAEur.at(TokenAEur.address),
10+
LoanManager.at(LoanManager.address),
11+
]);
1012

11-
await loanManager.newEthBackedLoan(0, 0, { value: web3.toWei(0.10845) }); // = 50 A-EUR
13+
await loanManager.newEthBackedLoan(0, 0, { value: web3.utils.toWei("0.10845") }); // = 50 A-EUR
1214

1315
await tokenAEur.transferWithNarrative(
1416
InterestEarnedAccount.address,

migrations/1002_authorise_StabilityBoard.js

+29-18
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,39 @@ const LoanManager = artifacts.require("./LoanManager.sol");
1111
const Locker = artifacts.require("./Locker.sol");
1212
const Exchange = artifacts.require("./Exchange.sol");
1313

14-
module.exports = function(deployer, network, accounts) {
14+
module.exports = function (deployer, network, accounts) {
1515
deployer.then(async () => {
1616
const stabilityBoardAccounts = [accounts[0]];
1717

18-
const feeAccount = FeeAccount.at(FeeAccount.address);
19-
const augmintReserves = AugmintReserves.at(AugmintReserves.address);
20-
const tokenAEur = TokenAEur.at(TokenAEur.address);
21-
const interestEarnedAccount = InterestEarnedAccount.at(InterestEarnedAccount.address);
22-
const monetarySupervisor = MonetarySupervisor.at(MonetarySupervisor.address);
23-
const loanManager = LoanManager.at(LoanManager.address);
24-
const locker = Locker.at(Locker.address);
25-
const exchange = Exchange.at(Exchange.address);
18+
const [
19+
feeAccount,
20+
augmintReserves,
21+
tokenAEur,
22+
interestEarnedAccount,
23+
monetarySupervisor,
24+
loanManager,
25+
locker,
26+
exchange,
27+
] = await Promise.all([
28+
FeeAccount.at(FeeAccount.address),
29+
AugmintReserves.at(AugmintReserves.address),
30+
TokenAEur.at(TokenAEur.address),
31+
InterestEarnedAccount.at(InterestEarnedAccount.address),
32+
MonetarySupervisor.at(MonetarySupervisor.address),
33+
LoanManager.at(LoanManager.address),
34+
Locker.at(Locker.address),
35+
Exchange.at(Exchange.address),
36+
]);
2637

27-
const grantTxs = stabilityBoardAccounts.map(acc => [
28-
feeAccount.grantPermission(acc, "StabilityBoard"),
29-
augmintReserves.grantPermission(acc, "StabilityBoard"),
30-
tokenAEur.grantPermission(acc, "StabilityBoard"),
31-
interestEarnedAccount.grantPermission(acc, "StabilityBoard"),
32-
monetarySupervisor.grantPermission(acc, "StabilityBoard"),
33-
locker.grantPermission(acc, "StabilityBoard"),
34-
loanManager.grantPermission(acc, "StabilityBoard"),
35-
exchange.grantPermission(acc, "StabilityBoard")
38+
const grantTxs = stabilityBoardAccounts.map((acc) => [
39+
feeAccount.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
40+
augmintReserves.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
41+
tokenAEur.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
42+
interestEarnedAccount.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
43+
monetarySupervisor.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
44+
locker.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
45+
loanManager.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
46+
exchange.grantPermission(acc, web3.utils.asciiToHex("StabilityBoard")),
3647
]);
3748

3849
await Promise.all(grantTxs);

migrations/1003_add_legacyContracts.js

+19-17
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ const Locker = artifacts.require("./Locker.sol");
88
const LoanManager_1_0_12 = artifacts.require("./legacy/1.0.12/LoanManager_1_0_12.sol");
99
const Exchange = artifacts.require("./Exchange.sol");
1010

11-
module.exports = async function(deployer, network, accounts) {
11+
module.exports = async function (deployer, network, accounts) {
1212
deployer.then(async () => {
13-
const monetarySupervisor = MonetarySupervisor.at(MonetarySupervisor.address);
14-
const feeAccount = FeeAccount.at(FeeAccount.address);
13+
const [monetarySupervisor, feeAccount] = await Promise.all([
14+
MonetarySupervisor.at(MonetarySupervisor.address),
15+
FeeAccount.at(FeeAccount.address),
16+
]);
1517

1618
const oldToken = await TokenAEur.new(accounts[0], FeeAccount.address);
1719

@@ -25,32 +27,32 @@ module.exports = async function(deployer, network, accounts) {
2527
const oldExchange = await Exchange.new(accounts[0], oldToken.address, Rates.address);
2628

2729
await Promise.all([
28-
oldLoanManager.grantPermission(accounts[0], "StabilityBoard"),
29-
oldLocker.grantPermission(accounts[0], "StabilityBoard"),
30-
oldExchange.grantPermission(accounts[0], "StabilityBoard")
30+
oldLoanManager.grantPermission(accounts[0], web3.utils.asciiToHex("StabilityBoard")),
31+
oldLocker.grantPermission(accounts[0], web3.utils.asciiToHex("StabilityBoard")),
32+
oldExchange.grantPermission(accounts[0], web3.utils.asciiToHex("StabilityBoard")),
3133
]);
3234

3335
await Promise.all([
34-
oldToken.grantPermission(MonetarySupervisor.address, "MonetarySupervisor"),
36+
oldToken.grantPermission(MonetarySupervisor.address, web3.utils.asciiToHex("MonetarySupervisor")),
3537

3638
monetarySupervisor.setAcceptedLegacyAugmintToken(oldToken.address, true),
3739

38-
oldToken.grantPermission(accounts[0], "MonetarySupervisor"), // "hack" for test to issue
40+
oldToken.grantPermission(accounts[0], web3.utils.asciiToHex("MonetarySupervisor")), // "hack" for test to issue
3941

4042
/* Locker permissions & products */
41-
monetarySupervisor.grantPermission(oldLocker.address, "Locker"),
42-
feeAccount.grantPermission(oldLocker.address, "NoTransferFee"),
43+
monetarySupervisor.grantPermission(oldLocker.address, web3.utils.asciiToHex("Locker")),
44+
feeAccount.grantPermission(oldLocker.address, web3.utils.asciiToHex("NoTransferFee")),
4345
oldLocker.addLockProduct(80001, 31536000, 1000, true), // 365 days, 8% p.a.
4446
oldLocker.addLockProduct(1, 60, 1000, true), // 1 minute for testing, ~69.15% p.a.
4547

4648
/* LoanManager permissions & products */
47-
monetarySupervisor.grantPermission(oldLoanManager.address, "LoanManager"),
48-
feeAccount.grantPermission(oldLoanManager.address, "NoTransferFee"),
49+
monetarySupervisor.grantPermission(oldLoanManager.address, web3.utils.asciiToHex("LoanManager")),
50+
feeAccount.grantPermission(oldLoanManager.address, web3.utils.asciiToHex("NoTransferFee")),
4951
oldLoanManager.addLoanProduct(1, 999999, 990000, 1000, 50000, true), // defaults in 1 secs for testing ? p.a.
5052
oldLoanManager.addLoanProduct(3600, 999989, 980000, 1000, 50000, true), // due in 1hr for testing repayments ? p.a.
5153
oldLoanManager.addLoanProduct(31536000, 860000, 550000, 1000, 50000, true), // 365d, 14% p.a.
5254
/* Exchange permissions */
53-
feeAccount.grantPermission(oldExchange.address, "NoTransferFee")
55+
feeAccount.grantPermission(oldExchange.address, web3.utils.asciiToHex("NoTransferFee")),
5456
]);
5557

5658
await oldToken.issueTo(accounts[0], 20000); // issue some to account 0
@@ -59,12 +61,12 @@ module.exports = async function(deployer, network, accounts) {
5961
oldToken.transferAndNotify(oldLocker.address, 1500, 0),
6062
oldToken.transferAndNotify(oldLocker.address, 1600, 1),
6163

62-
oldLoanManager.newEthBackedLoan(0, { value: web3.toWei(0.1) }),
63-
oldLoanManager.newEthBackedLoan(2, { value: web3.toWei(0.2) }),
64+
oldLoanManager.newEthBackedLoan(0, { value: web3.utils.toWei("0.1") }),
65+
oldLoanManager.newEthBackedLoan(2, { value: web3.utils.toWei("0.2") }),
6466
oldToken.transferAndNotify(oldExchange.address, 2000, 1010000),
6567
oldToken.transferAndNotify(oldExchange.address, 1100, 980000),
66-
oldExchange.placeBuyTokenOrder(990000, { value: web3.toWei(0.01) }),
67-
oldExchange.placeBuyTokenOrder(1020000, { value: web3.toWei(0.011) })
68+
oldExchange.placeBuyTokenOrder(990000, { value: web3.utils.toWei("0.01") }),
69+
oldExchange.placeBuyTokenOrder(1020000, { value: web3.utils.toWei("0.011") }),
6870
]);
6971

7072
console.log(

migrations/1004_add_test_preTokens.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@
33
\ */
44
const PreToken = artifacts.require("./PreToken.sol");
55

6-
module.exports = function(deployer, network, accounts) {
6+
module.exports = function (deployer, network, accounts) {
77
deployer.then(async () => {
8-
const preToken = PreToken.at(PreToken.address);
9-
await preToken.grantPermission(accounts[0], "PreTokenSigner"); // only on local test to allow issuance w/o MultiSig
8+
const preToken = await PreToken.at(PreToken.address);
9+
await preToken.grantPermission(accounts[0], web3.utils.asciiToHex("PreTokenSigner")); // only on local test to allow issuance w/o MultiSig
1010
const AC0_AGREEMENT = "0xa100000000000000000000000000000000000000000000000000000000000001";
1111
const AC1_AGREEMENT = "0xa200000000000000000000000000000000000000000000000000000000000002";
1212
await Promise.all([
1313
// addAgreement(owner, agreementHash, discount, valuationCap)
1414
preToken.addAgreement(accounts[0], AC0_AGREEMENT, 800000, 30000000),
15-
preToken.addAgreement(accounts[1], AC1_AGREEMENT, 850000, 40000000)
15+
preToken.addAgreement(accounts[1], AC1_AGREEMENT, 850000, 40000000),
1616
]);
1717

1818
await Promise.all([
1919
preToken.issueTo(AC0_AGREEMENT, 10000),
2020
preToken.issueTo(AC0_AGREEMENT, 9000),
2121
preToken.issueTo(AC0_AGREEMENT, 8000),
22-
preToken.issueTo(AC1_AGREEMENT, 7000)
22+
preToken.issueTo(AC1_AGREEMENT, 7000),
2323
]);
2424

2525
await Promise.all([
2626
preToken.transfer(accounts[2], 7000, { from: accounts[1] }),
27-
preToken.burnFrom(AC0_AGREEMENT, 1000)
27+
preToken.burnFrom(AC0_AGREEMENT, 1000),
2828
]);
2929
});
3030
};

migrations/2000_setRateDefault.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// run it with: "truffle migrate -f 2000 --to 2000" or "setrate:default"
33

44
const Rates = artifacts.require("./Rates.sol");
5-
const newRate = 99800;
5+
const newRate = "99800";
66

7-
module.exports = function(deployer) {
7+
module.exports = function (deployer) {
88
deployer.then(async () => {
9-
const rates = Rates.at(Rates.address);
10-
await rates.setRate("EUR", newRate);
9+
const rates = await Rates.at(Rates.address);
10+
await rates.setRate(web3.utils.asciiToHex("EUR"), newRate);
1111
});
1212
};

migrations/2001_setRateLow.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// run it with: "truffle migrate -f 2001 --to 2001" or "setrate:low"
33

44
const Rates = artifacts.require("./Rates.sol");
5-
const newRate = 42500;
5+
const newRate = "42500";
66

7-
module.exports = function(deployer) {
7+
module.exports = function (deployer) {
88
deployer.then(async () => {
9-
const rates = Rates.at(Rates.address);
10-
await rates.setRate("EUR", newRate);
9+
const rates = await Rates.at(Rates.address);
10+
await rates.setRate(web3.utils.asciiToHex("EUR"), newRate);
1111
});
1212
};

migrations/2002_setRateHigh.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// run it with: "truffle migrate -f 2002 --to 2002" or "setrate:high"
33

44
const Rates = artifacts.require("./Rates.sol");
5-
const newRate = 225000;
5+
const newRate = "225000";
66

7-
module.exports = function(deployer) {
7+
module.exports = function (deployer) {
88
deployer.then(async () => {
9-
const rates = Rates.at(Rates.address);
10-
await rates.setRate("EUR", newRate);
9+
const rates = await Rates.at(Rates.address);
10+
await rates.setRate(web3.utils.asciiToHex("EUR"), newRate);
1111
});
1212
};

migrations_null/.eslintrc

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"extends": ['eslint:recommended'],
3+
"parserOptions": {
4+
"ecmaVersion": 2017,
5+
},
6+
"env": {
7+
"mocha": true,
8+
"node": true,
9+
"es6": true
10+
},
11+
"rules": {
12+
"indent": ["warn", 4],
13+
max-len: "off",
14+
radix: "off",
15+
no-unused-vars: "warn",
16+
"no-console": "off"
17+
},
18+
"globals": {
19+
"web3": false,
20+
"assert": false,
21+
"artifacts": false,
22+
"contract": false
23+
}
24+
}

migrations_null/.prettierrc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"printWidth": 120,
3+
"tabWidth": 4
4+
}

migrations_null/.readme

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
An empty dir to speed up test by avoiding migrations running unnecessarily again
2-
when yarn test runing on ganache docker container which already have all contracts
2+
when ganache has all the contracts already (eg. yarn test running on ganache docker container)
3+
This dir is set by default in truffle-config.js and --migrations_directory flag is used to override it
4+
in packages.json scripts
35
see: https://ethereum.stackexchange.com/a/62918/7866

migrations_null/1_no_migration.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = function (deployer) {
2+
console.log("Skipping truffle migrations (migrations_null directory set)");
3+
};

0 commit comments

Comments
 (0)