Skip to content

Commit 641c50f

Browse files
authored
Merge pull request #40 from fluidex/fix_deploy
Need this fix to make master work again
2 parents 2d004fd + 9b39b02 commit 641c50f

File tree

6 files changed

+812
-6
lines changed

6 files changed

+812
-6
lines changed

accounts.jsonl

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{"account_id":0,"mnemonic":"ready relief cabbage liar nation leisure genuine wolf juice logic scale bridge drill word leader leader gossip shrug enough kangaroo knock educate merry secret","priv_key":"0x46e2acccb36d276fd357b2928c95210ada30e551a0e7791302d8e9735dc4a779","eth_addr":"0x452aC94C662F4Bc2b29f3689E38D8E45884b35ee"}
2+
{"account_id":1,"mnemonic":"olympic comfort palm large heavy verb acid lion attract vast dash memory olympic syrup announce sure body cruise flip merge fabric frame question result","priv_key":"0x977e9bb2a7c13351c149b26784081882673741d8616c79feeb472b6378fed81d","eth_addr":"0x6286d0A2FC1d4C12a4ACc274018b401c68157Fdb"}
3+
{"account_id":2,"mnemonic":"mixture latin cage defense recipe mention rather pledge fix sea casino start fluid final place exhibit enroll clarify salad mobile recipe ask buyer assume","priv_key":"0xa2ef80f6d150a3f7e64a4f2fe3193a84fed24f932f0e59a50f990ece39679135","eth_addr":"0xf40e08F651f2f7f96f5602114E5A77F1A7BEeA5d"}
4+
{"account_id":3,"mnemonic":"zone steel market aunt chimney galaxy imitate sibling divide sister until front tail blush source maze equal globe include weather any reason fault awful","priv_key":"0x4434f4547080599945b6b171739e754f7a5ae93855ba933b991c4e7b3ef57339","eth_addr":"0xeD94298D30812327f22fA01cA9fAABAead2440Af"}
5+
{"account_id":4,"mnemonic":"also sausage kite amused mercy joke genius pioneer trash woman blush never afraid trim laptop maid bike museum reform spring pretty brand retreat shaft","priv_key":"0x940cdded1e7c8a2284c68fe75586564e956144dbb7cf0ee198ad120bbf997168","eth_addr":"0xc79030AFa00571BdA193846ff5B1F10bC1cf9a1E"}
6+
{"account_id":5,"mnemonic":"space boy neck venue govern flag prefer busy convince uncle gold figure chief degree park hand dose vintage tide scare exotic distance february wash","priv_key":"0x160276a92fce4c44039c24471f4c3ca7cacab358094ecd1b4863897eb2bcdba7","eth_addr":"0xec9C8B21a9f8e5Eb22373eDf7D0860Df0b98EBa5"}
7+
{"account_id":6,"mnemonic":"mention notable lady spin meadow fiber rare member comic drastic dwarf phone prevent dizzy lesson noise post butter pilot case virus animal entire safe","priv_key":"0xd33e3c7db96471ad4b3a34504a43cbed773dc5a6a21bd5acdcac7cba5aa06cce","eth_addr":"0x92f9a57b427Ee5D7599D12CeBae3f3F4f89C7392"}
8+
{"account_id":7,"mnemonic":"boost route aisle brother disorder squeeze tuna bridge purchase aunt acid liberty pen topple end lunch suffer favorite wear essence donkey scatter unaware taste","priv_key":"0x81946fe3c8c92e3f8b3b15ded2ec94bd227493c81240a773d2866d46ba34d79d","eth_addr":"0xB0660beF4DBF9e28eB422D46F3844CB41cc24717"}
9+
{"account_id":8,"mnemonic":"embark music govern stick clarify settle tent adapt dragon rubber keep few fashion casino eagle text denial mule survey fitness wonder wonder basic upset","priv_key":"0xce1489b4675348244d15e0369f7a848befb1257f6d51196d9e9d9b1209c19a7e","eth_addr":"0x94c8C37116Df235bF56A3F9C4cbdd1b6a43F3af0"}
10+
{"account_id":9,"mnemonic":"bread regret similar crack hero exercise day then corn verify vocal refuse spy endless second split canoe horse slice trip soccer bench sausage candy","priv_key":"0xbc66c297a75dba2e94790145fbc11b8aca5506ee6189f4733f50d8435a96e4e1","eth_addr":"0x3705EE1c0BcaEBd05c1FC971A2e3931a8D1BE77A"}
11+
{"account_id":10,"mnemonic":"artefact wood town zoo tiny isolate typical salad always choice mesh tool explain sign fence ghost peasant dragon rebel chef payment must real sadness","priv_key":"0x005c149d49d661b95c4e5ba042cdd8b8e9e5593842c3d317a2f46568b3afcf02","eth_addr":"0xe9206889b78E5b339853a1F08bE7E5295aAf9Db3"}
12+
{"account_id":11,"mnemonic":"whisper mountain upset upper tragic elegant grace veteran increase indoor copy teach antenna glue gauge fury concert cream swear clay fetch safe van hawk","priv_key":"0x709efe9f80cb5196cb0485c52b4df52d3467e03e1b1a1efd6d0c29d38b5fad95","eth_addr":"0x550df4b307884A751a6c60947126D3EB3D36D476"}
13+
{"account_id":12,"mnemonic":"worth program ostrich fame one track shoot eternal grunt transfer broccoli oval legal more member tenant cheap barrel idea tuna live kit detail husband","priv_key":"0x262ac634a06fe4bdf28093d9cd330efa661f0e323663923ab5464f66d127156f","eth_addr":"0xfD2F21Af21bd9901A55F95f53911F99B0f4d961D"}
14+
{"account_id":13,"mnemonic":"degree cabin section turtle history aspect credit subway vicious erase tip meadow remove salute fine welcome drum share speed era patrol stock right vicious","priv_key":"0x6477d1fbdc97591c2d2c54541ae3a09dd1b19ad20921c91c5ddcfbc0f53c9b8d","eth_addr":"0x9ddB77695AB6F5289f71889F8A1FcfF3Bb881769"}
15+
{"account_id":14,"mnemonic":"tiger base process wealth depend suggest horse above expose forget oak basic leave hope curious stuff engine praise moon road endless arch mesh interest","priv_key":"0x4e0c4cebc1456ef8cf20d93edc757c6d3c973cee924582b1580d698dcecc06dc","eth_addr":"0x616B71Cbcd8006F577673960700CB1811C2C4775"}
16+
{"account_id":15,"mnemonic":"verb anchor host hand actor pull patrol wear gossip enough bamboo horn cycle festival picture unfair target vault reduce eyebrow miss lucky orange guide","priv_key":"0x7105836e5d903f273075ab50429c36c08afb0b786986c3612b522bf59bcecc20","eth_addr":"0xfD4f6976e084CbBC8Dee5956B09bF32f94786eb9"}
17+
{"account_id":16,"mnemonic":"sound select report rug run cave provide index grief foster bar someone garage donate nominee crew once oil sausage flight tail holiday style afford","priv_key":"0xcd73077a9bb493ada626df70a3ebcd6a4df420be1870524b7ae4176596884aba","eth_addr":"0x7e99AE2709D761FBc3B3a23e0c0874Ba4aBBF229"}
18+
{"account_id":17,"mnemonic":"extra glove demise parade space april fashion mixture section barrel prize emerge flip sight pride swift beyond fresh check never scene ring anchor hazard","priv_key":"0x4976112050d262bfa62f56a12892590eb912f78c9b6a2df5098070940c72288e","eth_addr":"0x63C8C465dC4bb57723b2EC78Cb2aD50a2C804b1a"}
19+
{"account_id":18,"mnemonic":"camp awful sand include refuse cash reveal mystery pupil salad length plunge square admit vocal draft found side same clock hurt length say figure","priv_key":"0x8d3aa186bd7ff3a72dd7f7367b4f893dc7758c5154596a9b2a7b1c10bf8750b7","eth_addr":"0x09C4Ad711EfB0B9c4D3D9133b56c5Ab6DD1B4CD0"}
20+
{"account_id":19,"mnemonic":"chat cabin first fit zero avoid engine screen guitar young wool later occur element enroll amount brush melody seminar believe gossip alpha pool inch","priv_key":"0x5ee6b5badcda025167c8bccb0044d0df416dbae910b8bea5726145de3e9cf3ad","eth_addr":"0xd889eec15E43E9FfD49ae05fC131a8B374D3BDEb"}

contracts/FluiDex.sol

+2-1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ contract FluiDexDemo is
7171
_setRoleAdmin(DELEGATE_ROLE, DEFAULT_ADMIN_ROLE);
7272
grantRole(TOKEN_ADMIN_ROLE, msg.sender);
7373
grantRole(PLUGIN_ADMIN_ROLE, msg.sender);
74+
grantRole(DELEGATE_ROLE, msg.sender);
7475
}
7576

7677
/**
@@ -147,7 +148,7 @@ contract FluiDexDemo is
147148
* @param ethAddr the L1 address
148149
* @param bjjPubkey the L2 address (bjjPubkey)
149150
*/
150-
function registerUser(address ethAddr, bytes32 bjjPubkey) internal {
151+
function registerUser(address ethAddr, bytes32 bjjPubkey) public {
151152
require(userBjjPubkeyToUserId[bjjPubkey] == 0, "user existed");
152153
userNum++;
153154
require(userNum < USER_NUM_LIMIT, "user num limit reached");

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"chai": "^4.2.0",
1212
"ethereum-waffle": "^3.2.1",
1313
"ethers": "^5.0.24",
14+
"fluidex.js": "git+https://github.com/fluidex/fluidex.js.git#b9224719013c224445fe8ec06f6a05e800b4469e",
1415
"hardhat": "^2.0.6",
1516
"prettier": "^2.2.1",
1617
"prettier-plugin-solidity": "^1.0.0-beta.2",

scripts/accounts.ts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
let accounts = require("fs").readFileSync("./accounts.jsonl", "utf-8").split("\n").filter(Boolean).map(JSON.parse);
2+
3+
export function getTestAccount(id: number) {
4+
let a = accounts[id];
5+
return a;
6+
}

scripts/deploy.ts

+21-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
import { Account } from "fluidex.js";
12
import { run, ethers } from "hardhat";
23
import * as hre from "hardhat";
34
import { default as tokens} from "../tokens";
5+
import { getTestAccount } from "./accounts";
6+
7+
const loadAccounts = () => Array.from(botsIds).map((user_id) => Account.fromMnemonic(getTestAccount(user_id).mnemonic));
8+
const botsIds = [1, 2, 3, 4, 5];
9+
const accounts = loadAccounts();
410

511
async function main() {
612
await run('compile');
@@ -16,17 +22,28 @@ async function main() {
1622
const fluiDex = await fluidexFactory.deploy(genesisRoot, verifier.address);
1723
await fluiDex.deployed();
1824
console.log("FluiDex deployed to:", fluiDex.address);
19-
const addToken = fluiDex.functions.addToken;
20-
for (const {name, address} of Array.from(tokens)) {
21-
await addToken(address);
22-
console.log(`add ${name} token at`, address);
25+
26+
const registerUser = fluiDex.functions.registerUser;
27+
for(const account of accounts) {
28+
await registerUser(account.ethAddr, account.bjjPubKey);
29+
console.log(`register user ${account.bjjPubKey}`);
2330
}
2431

2532
const fluiDexDelegateFactory = await ethers.getContractFactory("FluiDexDelegate");
2633
const fluiDexDelegate = await fluiDexDelegateFactory.deploy(fluiDex.address);
2734
await fluiDexDelegate.deployed();
2835
console.log("FluiDexDelegate deployed to:", fluiDexDelegate.address);
2936

37+
const DELEGATE_ROLE = await fluiDex.callStatic.DELEGATE_ROLE();
38+
await fluiDex.functions.grantRole(DELEGATE_ROLE, fluiDexDelegate.address);
39+
console.log("grant DELEGATE_ROLE to FluiDexDelegate");
40+
41+
const addToken = fluiDexDelegate.functions.addToken;
42+
for (const {name, address} of Array.from(tokens)) {
43+
await addToken(address);
44+
console.log(`add ${name} token at`, address);
45+
}
46+
3047
// skip verify on localhost
3148
if (hre.network.name !== "localhost") {
3249
await run('verify', {

0 commit comments

Comments
 (0)