From dcbf41d819616b9967ea78f8dc0b12c568cc463f Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 16:04:04 +0800 Subject: [PATCH 01/30] upgrade contracts --- contracts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts b/contracts index 01f2474..f5f2db1 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 01f24749f9f6539e7c5d932888344a04f86a0023 +Subproject commit f5f2db16736887f448b9240d2fe93c715a60fe07 From 357feef72f8a969cc2f4619c57ac107eb43263c9 Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 16:06:00 +0800 Subject: [PATCH 02/30] upgrade blockscout --- blockscout | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blockscout b/blockscout index 8a2d64e..e14a260 160000 --- a/blockscout +++ b/blockscout @@ -1 +1 @@ -Subproject commit 8a2d64e33161ed30ba1558551df02d9e8eac7b2d +Subproject commit e14a26082698f21cae4ec03d38095b0b44fc81e4 From e2adb75fd19e4101228defddfe55fada3c72d627 Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 16:09:16 +0800 Subject: [PATCH 03/30] upgrade regnbue-bridge --- regnbue-bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regnbue-bridge b/regnbue-bridge index f9ad977..faf91bf 160000 --- a/regnbue-bridge +++ b/regnbue-bridge @@ -1 +1 @@ -Subproject commit f9ad9777eaa2fdcdda7ff894e79a8dab2ddcf5b9 +Subproject commit faf91bf7bb2e0736dad88681f9ce0664bb845539 From bef187d9fd7700d9aaba3c4bfe1c3dffb9024e55 Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 16:14:21 +0800 Subject: [PATCH 04/30] add faucet as submodule --- .gitmodules | 3 +++ faucet | 1 + 2 files changed, 4 insertions(+) create mode 160000 faucet diff --git a/.gitmodules b/.gitmodules index 5790cac..f5ccfe0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,6 @@ [submodule "blockscout"] path = blockscout url = git@github.com:fluidex/blockscout.git +[submodule "faucet"] + path = faucet + url = git@github.com:fluidex/faucet.git diff --git a/faucet b/faucet new file mode 160000 index 0000000..a7e2365 --- /dev/null +++ b/faucet @@ -0,0 +1 @@ +Subproject commit a7e2365d429c71349df8b3dea6b3150a1ad46525 From 15de4dd9fc23e32de0576820e24d869d4d5486a4 Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 19:01:03 +0800 Subject: [PATCH 05/30] upgrade contracts and faucet --- contracts | 2 +- faucet | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contracts b/contracts index f5f2db1..003c16d 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit f5f2db16736887f448b9240d2fe93c715a60fe07 +Subproject commit 003c16d7ff17612458a30321cffbaf9bd7271e5b diff --git a/faucet b/faucet index a7e2365..434b802 160000 --- a/faucet +++ b/faucet @@ -1 +1 @@ -Subproject commit a7e2365d429c71349df8b3dea6b3150a1ad46525 +Subproject commit 434b802f84cf989f2290d9dfc32a4af782f81739 From b6bf5de3a720ef6404c19480fa5f82357e7178a5 Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 16 Nov 2021 19:02:34 +0800 Subject: [PATCH 06/30] deploy tokens and minor changes --- run.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/run.sh b/run.sh index 70de1d0..dda0bab 100755 --- a/run.sh +++ b/run.sh @@ -22,7 +22,8 @@ BLOCKSCOUT_DIR=$DIR/blockscout TARGET_CIRCUIT_DIR=$CIRCUITS_DIR/testdata/Block_$NTXS"_"$BALANCELEVELS"_"$ORDERLEVELS"_"$ACCOUNTLEVELS PROVER_DIR=$DIR/prover-cluster EXCHANGE_DIR=$DIR/dingir-exchange -FAUCET_DIR=$DIR/regnbue-bridge +REGNBUE_DIR=$DIR/regnbue-bridge +FAUCET_DIR=$DIR/faucet CONTRACTS_DIR=$DIR/contracts ORCHESTRA_DIR=$DIR/orchestra @@ -69,7 +70,8 @@ function prepare_contracts() { rm -f $CONTRACTS_DIR/contracts/Verifier.sol plonkit generate-verifier -v $TARGET_CIRCUIT_DIR/vk.bin -s $CONTRACTS_DIR/contracts/Verifier.sol cd $CONTRACTS_DIR/ - git update-index --assume-unchanged $CONTRACTS_DIR/contracts/Verifier.sol + # no need for this + # git update-index --assume-unchanged $CONTRACTS_DIR/contracts/Verifier.sol yarn install npx hardhat compile } @@ -86,13 +88,15 @@ function config_prover_cluster() { function start_docker_compose() { dir=$1 name=$2 - docker-compose --file $dir/docker/docker-compose.yaml --project-name $name up --force-recreate --detach + cd $dir + docker-compose --file docker/docker-compose.yaml --project-name $name up --build --force-recreate --detach + cd - } function run_docker_compose() { start_docker_compose $ORCHESTRA_DIR orchestra - start_docker_compose $FAUCET_DIR faucet - start_docker_compose $BLOCKSCOUT_DIR blockscout # ganache node & blockscout stuff + start_docker_compose $REGNBUE_DIR faucet + start_docker_compose $BLOCKSCOUT_DIR blockscout # geth node & blockscout stuff sleep 10 } @@ -141,16 +145,20 @@ function run_prove_workers() { } function boostrap_contract() { - # a mainnet like 50 Gwei gas price - # base on 21,000 units limit from mainnet (21,000 units * 50 Gwei) cd $CONTRACTS_DIR yarn install } +function deploy_tokens() { + cd $FAUCET_DIR/layer1/contracts + yarn install + npx hardhat run scripts/deploy.js --network geth +} + function deploy_contracts() { cd $CONTRACTS_DIR export GENESIS_ROOT=$(cat $STATE_MNGR_DIR/rollup_state_manager.$CURRENTDATE.log | grep "genesis root" | tail -n1 | awk '{print $9}' | sed 's/Fr(//' | sed 's/)//') - export CONTRACT_ADDR=$(retry_cmd_until_ok npx hardhat run scripts/deploy.js --network localhost | grep "FluiDex deployed to:" | awk '{print $4}') + export CONTRACT_ADDR=$(retry_cmd_until_ok npx hardhat run scripts/deploy.ts --network geth | grep "FluiDexDelegate deployed to:" | awk '{print $4}') echo "export CONTRACT_ADDR=$CONTRACT_ADDR" > $CONTRACTS_DIR/contract-deployed.env } @@ -158,22 +166,18 @@ function restore_contracts() { source $CONTRACTS_DIR/contract-deployed.env } -function post_contracts() { - nohup npx hardhat run scripts/tick.js --network localhost >> $CONTRACTS_DIR/ticker.$CURRENTDATE.log 2>&1 & -} - function run_faucet() { - cd $FAUCET_DIR + cd $REGNBUE_DIR cargo build --release --bin faucet - nohup "$FAUCET_DIR/target/release/faucet" >> $FAUCET_DIR/faucet.$CURRENTDATE.log 2>&1 & + nohup "$REGNBUE_DIR/target/release/faucet" >> $REGNBUE_DIR/faucet.$CURRENTDATE.log 2>&1 & } # TODO: need to fix task_fetcher, gitignore, comfig template & example, contracts... function run_block_submitter() { - cd $FAUCET_DIR + cd $REGNBUE_DIR cargo build --release --bin block_submitter - DB=$ROLLUP_DB CONTRACTS_DIR=$CONTRACTS_DIR CONTRACT_ADDR=$CONTRACT_ADDR $ENVSUB < $FAUCET_DIR/config/block_submitter.yaml.template > $FAUCET_DIR/config/block_submitter.yaml - nohup "$FAUCET_DIR/target/release/block_submitter" >> $FAUCET_DIR/block_submitter.$CURRENTDATE.log 2>&1 & + DB=$ROLLUP_DB CONTRACTS_DIR=$CONTRACTS_DIR CONTRACT_ADDR=$CONTRACT_ADDR $ENVSUB < $REGNBUE_DIR/config/block_submitter.yaml.template > $REGNBUE_DIR/config/block_submitter.yaml + nohup "$REGNBUE_DIR/target/release/block_submitter" >> $REGNBUE_DIR/block_submitter.$CURRENTDATE.log 2>&1 & } function run_bin() { @@ -182,19 +186,19 @@ function run_bin() { run_prove_workers run_rollup sleep 10 + deploy_tokens boostrap_contract if [ $DX_CLEAN == 'TRUE' ]; then deploy_contracts else restore_contracts fi - post_contracts run_faucet run_block_submitter } function setup() { - handle_submodule + #handle_submodule prepare_circuit prepare_contracts } From 8027cc06e123c95d348d2277993d3a595fe1ea59 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 17 Nov 2021 10:53:55 +0800 Subject: [PATCH 07/30] add exchange migration sql generation --- faucet | 2 +- run.sh | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/faucet b/faucet index 434b802..c595612 160000 --- a/faucet +++ b/faucet @@ -1 +1 @@ -Subproject commit 434b802f84cf989f2290d9dfc32a4af782f81739 +Subproject commit c5956129cea63b5f0761a15b04ec8da8a45de9e4 diff --git a/run.sh b/run.sh index dda0bab..745db10 100755 --- a/run.sh +++ b/run.sh @@ -102,6 +102,8 @@ function run_docker_compose() { function run_matchengine() { cd $EXCHANGE_DIR + cp /tmp/markets_preset.sql migrations/20210223072038_markets_preset.sql + git update-index --assume-unchanged migrations/20210223072038_markets_preset.sql make startall #cargo build --bin matchengine #nohup $EXCHANGE_DIR/target/debug/matchengine >> $EXCHANGE_DIR/matchengine.$CURRENTDATE.log 2>&1 & @@ -181,18 +183,20 @@ function run_block_submitter() { } function run_bin() { - run_matchengine - run_prove_master - run_prove_workers - run_rollup - sleep 10 deploy_tokens + sleep 10 boostrap_contract if [ $DX_CLEAN == 'TRUE' ]; then deploy_contracts else restore_contracts fi + + run_matchengine + run_prove_master + run_prove_workers + run_rollup + run_faucet run_block_submitter } From 948740d31cb1421fc2104d1a61506580c554c80d Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 17 Nov 2021 11:00:15 +0800 Subject: [PATCH 08/30] update blockscout --- blockscout | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blockscout b/blockscout index e14a260..5dae140 160000 --- a/blockscout +++ b/blockscout @@ -1 +1 @@ -Subproject commit e14a26082698f21cae4ec03d38095b0b44fc81e4 +Subproject commit 5dae140d64c059046416f2e238dde2d0c6d1c1b6 From 87ca771a08857d2f1e7102178392439bf4ad08a1 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 17 Nov 2021 17:44:03 +0800 Subject: [PATCH 09/30] reorder startup seq --- run.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/run.sh b/run.sh index 745db10..a016022 100755 --- a/run.sh +++ b/run.sh @@ -184,6 +184,12 @@ function run_block_submitter() { function run_bin() { deploy_tokens + + run_matchengine + run_prove_master + run_prove_workers + run_rollup + sleep 10 boostrap_contract if [ $DX_CLEAN == 'TRUE' ]; then @@ -191,18 +197,13 @@ function run_bin() { else restore_contracts fi - - run_matchengine - run_prove_master - run_prove_workers - run_rollup run_faucet run_block_submitter } function setup() { - #handle_submodule + handle_submodule prepare_circuit prepare_contracts } From 0faae150f281e901cfa55ecf64daf8dddf3cdd3d Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 18 Nov 2021 18:26:49 +0800 Subject: [PATCH 10/30] add goerli deploy --- contracts | 2 +- run.sh | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/contracts b/contracts index 003c16d..8a583fa 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 003c16d7ff17612458a30321cffbaf9bd7271e5b +Subproject commit 8a583fab0e56e7664f0a6da2ea72f140e0a2b45b diff --git a/run.sh b/run.sh index a016022..169286f 100755 --- a/run.sh +++ b/run.sh @@ -15,6 +15,9 @@ fi export DIRTY=true +DX_NETWORK=${DX_NETWORK:-geth} +WEB3_URL=${WEB3_URL:-http://localhost:8545} + DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null 2>&1 && pwd)" STATE_MNGR_DIR=$DIR/rollup-state-manager CIRCUITS_DIR=$DIR/circuits @@ -96,7 +99,9 @@ function start_docker_compose() { function run_docker_compose() { start_docker_compose $ORCHESTRA_DIR orchestra start_docker_compose $REGNBUE_DIR faucet - start_docker_compose $BLOCKSCOUT_DIR blockscout # geth node & blockscout stuff + if [ $DX_NETWORK == 'geth' ]; then + start_docker_compose $BLOCKSCOUT_DIR blockscout # geth node & blockscout stuff + fi sleep 10 } @@ -154,13 +159,13 @@ function boostrap_contract() { function deploy_tokens() { cd $FAUCET_DIR/layer1/contracts yarn install - npx hardhat run scripts/deploy.js --network geth + npx hardhat run scripts/deploy.js --network $DX_NETWORK } function deploy_contracts() { cd $CONTRACTS_DIR export GENESIS_ROOT=$(cat $STATE_MNGR_DIR/rollup_state_manager.$CURRENTDATE.log | grep "genesis root" | tail -n1 | awk '{print $9}' | sed 's/Fr(//' | sed 's/)//') - export CONTRACT_ADDR=$(retry_cmd_until_ok npx hardhat run scripts/deploy.ts --network geth | grep "FluiDexDelegate deployed to:" | awk '{print $4}') + export CONTRACT_ADDR=$(retry_cmd_until_ok npx hardhat run scripts/deploy.ts --network $DX_NETWORK | grep "FluiDexDelegate deployed to:" | awk '{print $4}') echo "export CONTRACT_ADDR=$CONTRACT_ADDR" > $CONTRACTS_DIR/contract-deployed.env } @@ -178,7 +183,7 @@ function run_faucet() { function run_block_submitter() { cd $REGNBUE_DIR cargo build --release --bin block_submitter - DB=$ROLLUP_DB CONTRACTS_DIR=$CONTRACTS_DIR CONTRACT_ADDR=$CONTRACT_ADDR $ENVSUB < $REGNBUE_DIR/config/block_submitter.yaml.template > $REGNBUE_DIR/config/block_submitter.yaml + DB=$ROLLUP_DB CONTRACTS_DIR=$CONTRACTS_DIR CONTRACT_ADDR=$CONTRACT_ADDR WEB3_URL=$WEB3_URL $ENVSUB < $REGNBUE_DIR/config/block_submitter.yaml.template > $REGNBUE_DIR/config/block_submitter.yaml nohup "$REGNBUE_DIR/target/release/block_submitter" >> $REGNBUE_DIR/block_submitter.$CURRENTDATE.log 2>&1 & } From ee45d18f6c78bca9266ebe360a268bc573bb2a99 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 24 Nov 2021 00:47:24 +0800 Subject: [PATCH 11/30] add misc scripts --- misc/.gitignore | 1 + misc/accounts.jsonl | 20 + misc/accounts.ts | 13 + misc/index.ts | 52 ++ misc/package.json | 18 + misc/tsconfig.json | 6 + misc/yarn.lock | 1487 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 1597 insertions(+) create mode 100644 misc/.gitignore create mode 100644 misc/accounts.jsonl create mode 100644 misc/accounts.ts create mode 100644 misc/index.ts create mode 100644 misc/package.json create mode 100644 misc/tsconfig.json create mode 100644 misc/yarn.lock diff --git a/misc/.gitignore b/misc/.gitignore new file mode 100644 index 0000000..30bc162 --- /dev/null +++ b/misc/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/misc/accounts.jsonl b/misc/accounts.jsonl new file mode 100644 index 0000000..4ad89e0 --- /dev/null +++ b/misc/accounts.jsonl @@ -0,0 +1,20 @@ +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} +{"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"} diff --git a/misc/accounts.ts b/misc/accounts.ts new file mode 100644 index 0000000..128e9ec --- /dev/null +++ b/misc/accounts.ts @@ -0,0 +1,13 @@ +let accounts = require("fs").readFileSync("./accounts.jsonl", "utf-8").split("\n").filter(Boolean).map(JSON.parse); + +interface Account { + account_id: number, + mnemonic: string, + priv_key: string, + eth_addr: string, +} + +export function getTestAccount(id: number): Account { + let a = accounts[id]; + return a; +} diff --git a/misc/index.ts b/misc/index.ts new file mode 100644 index 0000000..7ee48e6 --- /dev/null +++ b/misc/index.ts @@ -0,0 +1,52 @@ +import { assert } from 'console'; +import { ethers } from 'ethers'; +import { Account } from 'fluidex.js'; +import { getTestAccount } from './accounts'; + +import { abi as fluidexAbi } from '../contracts/artifacts/contracts/IFluiDexDelegate.sol/IFluiDexDelegate.json'; +import { abi as tokenAbi } from '../faucet/layer1/contracts/artifacts/contracts/ERC20Token.sol/ERC20Token.json'; +import { infuraApiKey } from '../contracts/secrets.json'; +import tokens from '/tmp/tokens.json'; +import deployed from '/tmp/deployed.json'; + +const amount = 5e11; +const fluidexDelegateAddr = deployed.FluiDexDelegate; +const fluidexAddr = deployed.FluiDexDemo; + +async function main() { + const provider = new ethers.providers.InfuraProvider('goerli', infuraApiKey); + let erc20Txs = new Array(); + for (let i = 0; i < 20; ++i) { + const account = getTestAccount(i); + const bjjPubKey = Account.fromMnemonic(account.mnemonic).bjjPubKey; + const wallet = ethers.Wallet.fromMnemonic(account.mnemonic); + const walletSigner = wallet.connect(provider); + let nonce = await walletSigner.getTransactionCount(); + + for (const token of tokens) { + const tokenContract = new ethers.Contract(token.address, tokenAbi, walletSigner); + const mint = tokenContract.functions.mint; + const increaseAllowance = tokenContract.functions.increaseAllowance; + const mintTx = mint(wallet.address, amount, { nonce: nonce++ }); + const increaseAllowanceTx = increaseAllowance(fluidexAddr, amount, { nonce: nonce++ }); + erc20Txs.push(mintTx); + erc20Txs.push(increaseAllowanceTx); + + const fluidexContract = new ethers.Contract(fluidexDelegateAddr, fluidexAbi, walletSigner); + const depositERC20 = fluidexContract.functions.depositERC20; + const tx = depositERC20(token.address, bjjPubKey, amount, { nonce: nonce++, gasLimit: 2.5e7 }); + erc20Txs.push(tx); + } + console.log('batch send transcations for ', walletSigner.address); + } + console.log('wait for all transcation got 3 confirmations'); + // @ts-ignore + await Promise.all(erc20Txs.map((tx) => tx.then((receipt) => receipt.wait(3)))); +} + +main() + .then(() => process.exit(0)) + .catch(error => { + console.error(error); + process.exit(1); + }); \ No newline at end of file diff --git a/misc/package.json b/misc/package.json new file mode 100644 index 0000000..640a4b9 --- /dev/null +++ b/misc/package.json @@ -0,0 +1,18 @@ +{ + "name": "misc", + "version": "1.0.0", + "main": "index.ts", + "license": "MIT", + "author": "Akase Cho", + "private": true, + "dependencies": { + "ethers": "^5.5.1", + "fluidex.js": "fluidex/fluidex.js.git", + "ts-node": "^10.4.0", + "typescript": "^4.5.2" + }, + "devDependencies": { + "@tsconfig/node16": "^1.0.2", + "@types/node": "^16.11.9" + } +} diff --git a/misc/tsconfig.json b/misc/tsconfig.json new file mode 100644 index 0000000..4709a90 --- /dev/null +++ b/misc/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "@tsconfig/node12/tsconfig.json", + "compilerOptions": { + "resolveJsonModule": true + } +} \ No newline at end of file diff --git a/misc/yarn.lock b/misc/yarn.lock new file mode 100644 index 0000000..0ee9d9c --- /dev/null +++ b/misc/yarn.lock @@ -0,0 +1,1487 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + +"@ethersproject/abi@5.5.0", "@ethersproject/abi@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" + integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" + integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + +"@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" + integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/address@5.5.0", "@ethersproject/address@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" + integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + +"@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" + integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + +"@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" + integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" + integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + bn.js "^4.11.9" + +"@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" + integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" + integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + +"@ethersproject/contracts@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" + integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + +"@ethersproject/hash@5.5.0", "@ethersproject/hash@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" + integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.2.0", "@ethersproject/hdnode@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" + integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" + integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" + integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" + integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== + +"@ethersproject/networks@5.5.0", "@ethersproject/networks@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.0.tgz#babec47cab892c51f8dd652ce7f2e3e14283981a" + integrity sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" + integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + +"@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" + integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/providers@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.0.tgz#bc2876a8fe5e0053ed9828b1f3767ae46e43758b" + integrity sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.5.0", "@ethersproject/random@^5.2.0", "@ethersproject/random@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.0.tgz#305ed9e033ca537735365ac12eed88580b0f81f9" + integrity sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" + integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" + integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.2.0", "@ethersproject/signing-key@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" + integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/solidity@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f" + integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" + integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" + integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + +"@ethersproject/units@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e" + integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/wallet@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" + integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/json-wallets" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" + +"@ethersproject/web@5.5.0", "@ethersproject/web@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.0.tgz#0e5bb21a2b58fb4960a705bfc6522a6acf461e28" + integrity sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA== + dependencies: + "@ethersproject/base64" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" + integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@iden3/bigarray@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@iden3/bigarray/-/bigarray-0.0.2.tgz#6fc4ba5be18daf8a26ee393f2fb62b80d98c05e9" + integrity sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g== + +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^16.11.9": + version "16.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.9.tgz#879be3ad7af29f4c1a5c433421bf99fab7047185" + integrity sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1: + version "8.6.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" + integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + +b4a@^1.0.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.1.4.tgz#1fb4a659d2958d2f6929d1e257389f637f94b3ef" + integrity sha512-RIWJsXR22BtG5X15f+MrM9QT3JDTpTKj58Gsuaudeh6Nc8eaNSZxiAwABjiC9tiHwXKSTu7NIBH0zB3kYa0BvA== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +big-integer@^1.6.42, big-integer@^1.6.48: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + +bindings@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +blake-hash@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-1.1.1.tgz#b6251600d7812dd5097f96cb341ceae245bf9d12" + integrity sha512-V93H+FEJuXXZi1eEsMtbcBFP9oL5Ept7SLw3cbXYlPC3nocm9Fr4m18ZhbhdJrZVS9J/Z0oNE4L3oDZvmorHNA== + dependencies: + bindings "^1.2.1" + inherits "^2.0.3" + nan "^2.2.1" + +blake2b-wasm@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz#9115649111edbbd87eb24ce7c04b427e4e2be5be" + integrity sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w== + dependencies: + b4a "^1.0.1" + nanoassert "^2.0.0" + +blake2b@^2.1.3: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake2b/-/blake2b-2.1.4.tgz#817d278526ddb4cd673bfb1af16d1ad61e393ba3" + integrity sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A== + dependencies: + blake2b-wasm "^2.4.0" + nanoassert "^2.0.0" + +blakejs@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" + integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +chai@^4.2.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.1" + type-detect "^4.0.5" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circom@0.5.33: + version "0.5.33" + resolved "https://registry.yarnpkg.com/circom/-/circom-0.5.33.tgz#6943d5799adf5388989bfbb3ef8f502fb1b4f662" + integrity sha512-UdL8fr6GckhQ4VoWjIvuYwCHneJe8z/AyJpDxgKLyuaX51ijd4gBP6jlwHDbQJsha2aU2GR9qgDsxd0jfari1Q== + dependencies: + chai "^4.2.0" + circom_runtime "0.1.8" + fastfile "0.0.18" + ffiasm "0.1.1" + ffjavascript "0.2.22" + ffwasm "0.0.7" + fnv-plus "^1.3.1" + r1csfile "0.0.16" + tmp-promise "^2.0.2" + wasmbuilder "0.0.10" + +circom_runtime@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/circom_runtime/-/circom_runtime-0.1.8.tgz#d967a1618fe5290849f9c0bbffb6b97b95c0f1c8" + integrity sha512-5ZmzCyidkNPb1zZsJGRXTuWcJ6kW6+gRBtHgf2tFqTh5dUyWVVPH0Zg7AsU2ijPr1AmYZUlme0yORUZK5HrjOA== + dependencies: + ffjavascript "0.2.10" + fnv-plus "^1.3.1" + +circomlib@^0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/circomlib/-/circomlib-0.5.5.tgz#aa2f91100b2bbc5208201f381e2c04b843f73890" + integrity sha512-5FUw6AnEw+65suAgEQCucVepxOm96wnIo89vBldeX1DjeSV8zpP88Tje3BLBTLz0C1U6SkRnwqULrtiA5IVtZQ== + dependencies: + blake-hash "^1.1.0" + blake2b "^2.1.3" + circom "0.5.33" + ffjavascript "0.2.38" + web3-utils "^1.3.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +ejs@^3.0.1: + version "3.1.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== + dependencies: + jake "^10.6.1" + +elliptic@6.5.4, elliptic@^6.5.2: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@^7.1.0: + version "7.1.3" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" + integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@^5.2.0, ethers@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.1.tgz#d3259a95a42557844aa543906c537106c0406fbf" + integrity sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw== + dependencies: + "@ethersproject/abi" "5.5.0" + "@ethersproject/abstract-provider" "5.5.1" + "@ethersproject/abstract-signer" "5.5.0" + "@ethersproject/address" "5.5.0" + "@ethersproject/base64" "5.5.0" + "@ethersproject/basex" "5.5.0" + "@ethersproject/bignumber" "5.5.0" + "@ethersproject/bytes" "5.5.0" + "@ethersproject/constants" "5.5.0" + "@ethersproject/contracts" "5.5.0" + "@ethersproject/hash" "5.5.0" + "@ethersproject/hdnode" "5.5.0" + "@ethersproject/json-wallets" "5.5.0" + "@ethersproject/keccak256" "5.5.0" + "@ethersproject/logger" "5.5.0" + "@ethersproject/networks" "5.5.0" + "@ethersproject/pbkdf2" "5.5.0" + "@ethersproject/properties" "5.5.0" + "@ethersproject/providers" "5.5.0" + "@ethersproject/random" "5.5.0" + "@ethersproject/rlp" "5.5.0" + "@ethersproject/sha2" "5.5.0" + "@ethersproject/signing-key" "5.5.0" + "@ethersproject/solidity" "5.5.0" + "@ethersproject/strings" "5.5.0" + "@ethersproject/transactions" "5.5.0" + "@ethersproject/units" "5.5.0" + "@ethersproject/wallet" "5.5.0" + "@ethersproject/web" "5.5.0" + "@ethersproject/wordlists" "5.5.0" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +fastfile@0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/fastfile/-/fastfile-0.0.18.tgz#2b69bbbfd2fcccc9bc8099c27de1379b89756a4b" + integrity sha512-q03PTKc+wptis4WmuFOwPNQx2p5myFUrl/dMgRlW9mymc1Egyc14JPHgiGnWK+sJ0+dBl2Vwtfh5GfSQltYOpw== + +ffiasm@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ffiasm/-/ffiasm-0.1.1.tgz#34ca6a00a875b5a926f66fd46e79530194e9c312" + integrity sha512-irMMHiR9JJ7BVBrAhtliUawxVdPYSdyl81taUYJ4C1mJ0iw2ueThE/qtr0J8B83tsIY8HJvh0lg5F+6ClK4xpA== + dependencies: + big-integer "^1.6.48" + ejs "^3.0.1" + yargs "^15.3.1" + +ffjavascript@0.2.10: + version "0.2.10" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.10.tgz#b0bf88d69be0b51e0bd28e1966c4a6fb29a86682" + integrity sha512-GQI6gHYYG5/iD4Kt3VzezzK7fARJzP0zkc82V/+JAdjfeKBXhDSo5rpKFuK3cDcrdW0Fu2emuYNMEAuFqhEQvQ== + dependencies: + big-integer "^1.6.48" + wasmcurves "0.0.5" + worker-threads "^1.0.0" + +ffjavascript@0.2.22: + version "0.2.22" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.22.tgz#101f33db330b0f6a0c10dec22ebf5725618a8a7d" + integrity sha512-EsVqap2Txm17bKW0z/jXCX3M7rQ++nQUAJY8alWDpyhjRj90xjl6GLeVSKZQ8rOFDQ/SFFXcEB8w9X8Boxid+w== + dependencies: + big-integer "^1.6.48" + wasmcurves "0.0.12" + worker-threads "^1.0.0" + +ffjavascript@0.2.38: + version "0.2.38" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.38.tgz#920832795be1e60a12832da80692b6c86259f3b7" + integrity sha512-b4dobcci6QxxUvNYFCHw2ONhXwtgSHCzqxbH6c7ipWMOzyoG+MPRMZgAqnUREYX8UC6zqA7AiRmiIB76nxt2TQ== + dependencies: + big-integer "^1.6.48" + wasmcurves "0.0.14" + web-worker "^1.0.0" + +ffjavascript@^0.2.36: + version "0.2.45" + resolved "https://registry.yarnpkg.com/ffjavascript/-/ffjavascript-0.2.45.tgz#a5825a0eaa8450966e6ba4f2b8c3a1f3a241f4e0" + integrity sha512-gZcfvXM3yZ1qbvP/pAL9EXrxzi1bKC+zl4aJFhu46gttjZ26dPGfvtbuHnGvDbUgMRaQmgRiIxmFiCHExwiDYw== + dependencies: + big-integer "^1.6.48" + wasmbuilder "^0.0.11" + wasmcurves "0.1.0" + web-worker "^1.2.0" + +ffwasm@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ffwasm/-/ffwasm-0.0.7.tgz#23bb9a3537ecc87c0f24fcfb3a9ddd0e86855fff" + integrity sha512-17cTLzv7HHAKqZbX8MvHxjSrR0yDdn1sh4TVsTbAvO9e6klhFicnyoVXc/sCuViV/M8g65sCmVrAmoPCZp1YkQ== + dependencies: + big-integer "^1.6.48" + wasmbuilder "0.0.10" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filelist@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + dependencies: + minimatch "^3.0.4" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +fluidex.js@fluidex/fluidex.js.git: + version "0.0.1" + resolved "https://codeload.github.com/fluidex/fluidex.js/tar.gz/b9224719013c224445fe8ec06f6a05e800b4469e" + dependencies: + "@ethersproject/hdnode" "^5.2.0" + "@ethersproject/random" "^5.2.0" + "@ethersproject/signing-key" "^5.2.0" + circomlib "^0.5.0" + ethers "^5.2.0" + ffjavascript "^0.2.36" + +fnv-plus@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/fnv-plus/-/fnv-plus-1.3.1.tgz#c34cb4572565434acb08ba257e4044ce2b006d67" + integrity sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +glob@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +nan@^2.2.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanoassert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nanoassert/-/nanoassert-2.0.0.tgz#a05f86de6c7a51618038a620f88878ed1e490c09" + integrity sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-gyp-build@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +r1csfile@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/r1csfile/-/r1csfile-0.0.16.tgz#53c66a79b50eebc2d15a1048e39d548ce9da7ccd" + integrity sha512-A2jRVWzGgmXeG2lVAc0H4suJmzt50it5UvBnycJgBCpMXM3tH/M6RguP7nvs6suY/yYnkN6jX6iTScSiDUF3FA== + dependencies: + "@iden3/bigarray" "0.0.2" + fastfile "0.0.18" + ffjavascript "0.2.22" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +scrypt-js@3.0.1, scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" + integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== + dependencies: + elliptic "^6.5.2" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +tmp-promise@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-2.1.1.tgz#eb97c038995af74efbfe8156f5e07fdd0c935539" + integrity sha512-Z048AOz/w9b6lCbJUpevIJpRpUztENl8zdv1bmAKVHimfqRFl92ROkmT9rp7TVBnrEw2gtMTol/2Cp2S2kJa4Q== + dependencies: + tmp "0.1.0" + +tmp@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" + integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== + dependencies: + rimraf "^2.6.3" + +ts-node@^10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" + integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + yn "3.1.1" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +typescript@^4.5.2: + version "4.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" + integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +wasmbuilder@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.10.tgz#b8298b2095ef9979d32f3881d1feef1705ec868a" + integrity sha512-zQSvZ7d74d9OvN+mCN6ucNne4QS5/cBBYTHldX0Oe+u9gStY21orapvuX1ajisA7RVIpuFhYg+ZgdySsPfeh0A== + dependencies: + big-integer "^1.6.48" + +wasmbuilder@^0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/wasmbuilder/-/wasmbuilder-0.0.11.tgz#f7b621660883be41f8527d027798a2aefb8863c0" + integrity sha512-rly3aPUwDYjNW+g+FhA567l/fsgI3yDE9eUoGAmkgnDlt6NsXA2XIYOwox8TH6IzDoDEHH1k+CQheMm4LDBvUA== + dependencies: + big-integer "^1.6.48" + +wasmcurves@0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.0.12.tgz#1496e2219ac07f9a420f527803ae13b1d7a89246" + integrity sha512-1Jl9mkatyHSNj80ILjf85SZUNuZQBCkTjJlhzqHnZQXUmIimCIWkugaVaYNjozLs1Gun4h/keZe1MBeBN0sRpg== + dependencies: + big-integer "^1.6.42" + blakejs "^1.1.0" + +wasmcurves@0.0.14: + version "0.0.14" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.0.14.tgz#cbe0f19650d9554937154afdbed66b305bd2a348" + integrity sha512-G1iMkxlRaQSdqQ1JrwHcU+awLmwyH6kFKfT8g9obd8MWe+u5oSdFXrODB0zmSI5aGGvJPG+4cAmqCGYv9R+7qg== + dependencies: + big-integer "^1.6.42" + blakejs "^1.1.0" + +wasmcurves@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.0.5.tgz#d0b58e803c0b1c09c966b7dc0fad6dd405d18547" + integrity sha512-BmI4GXLjLawGg2YkvHa8zRsnWec+d1uwoxE+Iov8cqOpDL7GA5XO2pk2yuDbXHMzwIug2exnKot3baRZ86R0pA== + dependencies: + big-integer "^1.6.42" + blakejs "^1.1.0" + +wasmcurves@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/wasmcurves/-/wasmcurves-0.1.0.tgz#0bc3f9d465367fcd8243395cb0094a05577e5609" + integrity sha512-kIlcgbVUAv2uQ6lGsepGz/m5V40+Z6rvTBkqCYn3Y2+OcXst+UaP4filJYLh/xDxjJl62FFjZZeAnpeli1Y5/Q== + dependencies: + big-integer "^1.6.42" + blakejs "^1.1.0" + +web-worker@^1.0.0, web-worker@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web-worker/-/web-worker-1.2.0.tgz#5d85a04a7fbc1e7db58f66595d7a3ac7c9c180da" + integrity sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA== + +web3-utils@^1.3.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca" + integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +worker-threads@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/worker-threads/-/worker-threads-1.0.0.tgz#2b49ea7c9692ba737d9148f2c9b2be65e14e3470" + integrity sha512-vK6Hhvph8oLxocEJIlc3YfGAZhm210uGzjZsXSu+JYLAQ/s/w4Tqgl60JrdH58hW8NSGP4m3bp8a92qPXgX05w== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== From a4f628283f225ffaad67bc9508f242618e6aa5b2 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 24 Nov 2021 01:24:07 +0800 Subject: [PATCH 12/30] add eth_listener --- .gitmodules | 3 +++ eth_listener | 1 + 2 files changed, 4 insertions(+) create mode 160000 eth_listener diff --git a/.gitmodules b/.gitmodules index f5ccfe0..cf8d015 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,3 +25,6 @@ [submodule "faucet"] path = faucet url = git@github.com:fluidex/faucet.git +[submodule "eth_listener"] + path = eth_listener + url = https://github.com/fluidex/eth_listener diff --git a/eth_listener b/eth_listener new file mode 160000 index 0000000..a4779a1 --- /dev/null +++ b/eth_listener @@ -0,0 +1 @@ +Subproject commit a4779a18285e8ebf96451c3437fac63e29c81b7f From 5c43ea335b98575928d078604027df8128813845 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 24 Nov 2021 01:25:01 +0800 Subject: [PATCH 13/30] upgrade contracts --- contracts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts b/contracts index 8a583fa..7941396 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 8a583fab0e56e7664f0a6da2ea72f140e0a2b45b +Subproject commit 79413964d55ac24ecb4fbab20b422c62b139dbc7 From ba5484ff20fa2177f873e839136d4095baebd54c Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 24 Nov 2021 01:25:26 +0800 Subject: [PATCH 14/30] upgrade listener --- eth_listener | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_listener b/eth_listener index a4779a1..51f7c75 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit a4779a18285e8ebf96451c3437fac63e29c81b7f +Subproject commit 51f7c75f5b2a3ae9afbf2521b2b762474defb349 From c9f00e691d414c5c137f07c8b7f20925b9dbe0ff Mon Sep 17 00:00:00 2001 From: lightsing Date: Tue, 30 Nov 2021 09:20:15 +0800 Subject: [PATCH 15/30] update submodule --- eth_listener | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_listener b/eth_listener index 51f7c75..e16ab65 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit 51f7c75f5b2a3ae9afbf2521b2b762474defb349 +Subproject commit e16ab65d5f9d12d54e43a28884ccc46f4dc07eb0 From 49641bc7ebb4707609a67455a8b2bfc3de42505f Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 8 Dec 2021 08:26:54 +0800 Subject: [PATCH 16/30] increaseAllowance --- misc/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/misc/index.ts b/misc/index.ts index 7ee48e6..a21abe7 100644 --- a/misc/index.ts +++ b/misc/index.ts @@ -11,12 +11,12 @@ import deployed from '/tmp/deployed.json'; const amount = 5e11; const fluidexDelegateAddr = deployed.FluiDexDelegate; -const fluidexAddr = deployed.FluiDexDemo; +// const fluidexAddr = deployed.FluiDexDemo; async function main() { const provider = new ethers.providers.InfuraProvider('goerli', infuraApiKey); let erc20Txs = new Array(); - for (let i = 0; i < 20; ++i) { + for (let i = 0; i < 4; ++i) { const account = getTestAccount(i); const bjjPubKey = Account.fromMnemonic(account.mnemonic).bjjPubKey; const wallet = ethers.Wallet.fromMnemonic(account.mnemonic); @@ -28,7 +28,7 @@ async function main() { const mint = tokenContract.functions.mint; const increaseAllowance = tokenContract.functions.increaseAllowance; const mintTx = mint(wallet.address, amount, { nonce: nonce++ }); - const increaseAllowanceTx = increaseAllowance(fluidexAddr, amount, { nonce: nonce++ }); + const increaseAllowanceTx = increaseAllowance(fluidexDelegateAddr, amount, { nonce: nonce++ }); erc20Txs.push(mintTx); erc20Txs.push(increaseAllowanceTx); @@ -39,9 +39,9 @@ async function main() { } console.log('batch send transcations for ', walletSigner.address); } - console.log('wait for all transcation got 3 confirmations'); + console.log('wait for all transcation got 1 confirmations'); // @ts-ignore - await Promise.all(erc20Txs.map((tx) => tx.then((receipt) => receipt.wait(3)))); + await Promise.all(erc20Txs.map((tx) => tx.then((receipt) => receipt.wait(1)).catch((e) => console.log('error occurs: %s\nwait for all transcations for clean shutdown')))); } main() From 68856717651f07a74b220b923a115d8fc1a12317 Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 8 Dec 2021 08:28:31 +0800 Subject: [PATCH 17/30] run misc --- run.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/run.sh b/run.sh index 169286f..33127d9 100755 --- a/run.sh +++ b/run.sh @@ -28,6 +28,8 @@ EXCHANGE_DIR=$DIR/dingir-exchange REGNBUE_DIR=$DIR/regnbue-bridge FAUCET_DIR=$DIR/faucet CONTRACTS_DIR=$DIR/contracts +MISC_DIR=$DIR/misc +LISTENER_DIR=$DIR/eth_listener ORCHESTRA_DIR=$DIR/orchestra ROLLUP_DB="postgres://rollup:rollup_AA9944@127.0.0.1:5433/rollup" @@ -169,10 +171,23 @@ function deploy_contracts() { echo "export CONTRACT_ADDR=$CONTRACT_ADDR" > $CONTRACTS_DIR/contract-deployed.env } +function run_misc_scripts() { + cd $MISC_DIR + yarn install + npx ts-node index.ts # todo: local network +} + function restore_contracts() { source $CONTRACTS_DIR/contract-deployed.env } +# function run_listener { +# cd $LISTENER_DIR +# CONTRACT_FILE=$CONTRACTS_DIR/artifacts/contracts/FluiDex.sol/FluiDexDemo.json $ENVSUB < $LISTENER_DIR/build-config.toml.template > $LISTENER_DIR/build-config.toml +# cargo build --release +# WEB3_URL=$WEB3_URL CONTRACT_ADDRESS=CONTRACT_ADDR +# } + function run_faucet() { cd $REGNBUE_DIR cargo build --release --bin faucet @@ -199,6 +214,8 @@ function run_bin() { boostrap_contract if [ $DX_CLEAN == 'TRUE' ]; then deploy_contracts + sleep 30 + run_misc_scripts else restore_contracts fi From 60ef9cd6f0c3a6642f35388b6214deb3dcb3839e Mon Sep 17 00:00:00 2001 From: lightsing Date: Mon, 13 Dec 2021 10:41:31 +0800 Subject: [PATCH 18/30] update eth_listener --- eth_listener | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_listener b/eth_listener index e16ab65..9d39378 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit e16ab65d5f9d12d54e43a28884ccc46f4dc07eb0 +Subproject commit 9d3937890c8c49753ba88a8c46ec314e2cff12bb From edcb6aeaa7daeb7c5569c025960613cf255d478a Mon Sep 17 00:00:00 2001 From: lightsing Date: Wed, 15 Dec 2021 14:29:22 +0800 Subject: [PATCH 19/30] update --- eth_listener | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_listener b/eth_listener index 9d39378..1fce2c7 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit 9d3937890c8c49753ba88a8c46ec314e2cff12bb +Subproject commit 1fce2c7892f1918977d627e4702e83bce5626067 From 8fdcf72702f39302c9f798d23df40ee4837dce5d Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 13:49:42 +0800 Subject: [PATCH 20/30] update --- eth_listener | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth_listener b/eth_listener index 1fce2c7..7f50a15 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit 1fce2c7892f1918977d627e4702e83bce5626067 +Subproject commit 7f50a1575ac7cd78bf9c1b08524c9d69d6acd107 From 751dd39d9afd1e3e86245dc4c33e5eb495c7278f Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 13:54:04 +0800 Subject: [PATCH 21/30] add gen_config --- misc/gen_config.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 misc/gen_config.ts diff --git a/misc/gen_config.ts b/misc/gen_config.ts new file mode 100644 index 0000000..ca6ce36 --- /dev/null +++ b/misc/gen_config.ts @@ -0,0 +1,21 @@ +import * as fs from 'fs'; +import secrets from '../contracts/secrets.json'; +import tokens from '/tmp/tokens.json'; +import deployed from '/tmp/deployed.json'; + +async function main() { + const listener_template = fs.readFileSync('../eth_listener/config.toml.template', 'utf-8'); + const NETWORK = process.env.NETWORK ?? "geth"; + const INFRUA_API_KEY = secrets.infuraApiKey; + const CONTRACT_ADDRESS = deployed.FluiDexDelegate; + const INNER_CONTRACT_ADDRESS = deployed.FluiDexDemo; + const BASE_BLOCK = deployed.baseBlock; + console.log(eval("`" + listener_template + "`")); +} + +main() + .then(() => process.exit(0)) + .catch(error => { + console.error(error); + process.exit(1); + }); From fdeadc0bcc604737b032b4dd80baca473cb3d43c Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 17:12:12 +0800 Subject: [PATCH 22/30] write back --- misc/gen_config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/gen_config.ts b/misc/gen_config.ts index ca6ce36..1e40b85 100644 --- a/misc/gen_config.ts +++ b/misc/gen_config.ts @@ -10,7 +10,7 @@ async function main() { const CONTRACT_ADDRESS = deployed.FluiDexDelegate; const INNER_CONTRACT_ADDRESS = deployed.FluiDexDemo; const BASE_BLOCK = deployed.baseBlock; - console.log(eval("`" + listener_template + "`")); + fs.writeFileSync("../eth_listener/config.toml", eval("`" + listener_template + "`")); } main() From b323b9bf675b56f7d78221577ae4f320ed167b7a Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 18:50:29 +0800 Subject: [PATCH 23/30] add into run.sh --- eth_listener | 2 +- run.sh | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/eth_listener b/eth_listener index 7f50a15..1ea8fe4 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit 7f50a1575ac7cd78bf9c1b08524c9d69d6acd107 +Subproject commit 1ea8fe452c65ff9bc14dd5c0740d9b6626b66126 diff --git a/run.sh b/run.sh index 33127d9..638f909 100755 --- a/run.sh +++ b/run.sh @@ -33,6 +33,7 @@ LISTENER_DIR=$DIR/eth_listener ORCHESTRA_DIR=$DIR/orchestra ROLLUP_DB="postgres://rollup:rollup_AA9944@127.0.0.1:5433/rollup" +LISTENER_DB="postgresql://listener:listener_AA9944@0.0.0.0:5437/eth_listener" CURRENTDATE=$(date +"%Y-%m-%d") @@ -175,18 +176,20 @@ function run_misc_scripts() { cd $MISC_DIR yarn install npx ts-node index.ts # todo: local network + npx ts-node gen_config.ts # generate listener config } function restore_contracts() { source $CONTRACTS_DIR/contract-deployed.env } -# function run_listener { -# cd $LISTENER_DIR -# CONTRACT_FILE=$CONTRACTS_DIR/artifacts/contracts/FluiDex.sol/FluiDexDemo.json $ENVSUB < $LISTENER_DIR/build-config.toml.template > $LISTENER_DIR/build-config.toml -# cargo build --release -# WEB3_URL=$WEB3_URL CONTRACT_ADDRESS=CONTRACT_ADDR -# } +function run_listener { + cd $LISTENER_DIR + CONTRACT_FILE=$CONTRACTS_DIR/artifacts/contracts/FluiDex.sol/FluiDexDemo.json DELEGATE_CONTRACT_FILE=$CONTRACTS_DIR/artifacts/contracts/FluiDexDelegate.sol/FluiDexDelegate.json $ENVSUB < $LISTENER_DIR/build-config.toml.template > $LISTENER_DIR/build-config.toml + cargo build --release + psql $LISTENER_DB < init.sql + nohup "$LISTENER_DIR/target/release/eth_listener" >> $LISTENER_DIR/eth_listener.$CURRENTDATE.log 2>&1 & +} function run_faucet() { cd $REGNBUE_DIR @@ -220,6 +223,7 @@ function run_bin() { restore_contracts fi + run_listener run_faucet run_block_submitter } From 56deec4861812eb5ae51581dafa657c05bcac639 Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 18:50:51 +0800 Subject: [PATCH 24/30] fix typo --- misc/gen_config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/gen_config.ts b/misc/gen_config.ts index 1e40b85..29a77c2 100644 --- a/misc/gen_config.ts +++ b/misc/gen_config.ts @@ -5,7 +5,7 @@ import deployed from '/tmp/deployed.json'; async function main() { const listener_template = fs.readFileSync('../eth_listener/config.toml.template', 'utf-8'); - const NETWORK = process.env.NETWORK ?? "geth"; + const NETWORK = process.env.DX_NETWORK ?? "geth"; const INFRUA_API_KEY = secrets.infuraApiKey; const CONTRACT_ADDRESS = deployed.FluiDexDelegate; const INNER_CONTRACT_ADDRESS = deployed.FluiDexDemo; From edaa1b05df3feec045fcc0e6698b51dc5797ecc0 Mon Sep 17 00:00:00 2001 From: lightsing Date: Thu, 16 Dec 2021 18:51:14 +0800 Subject: [PATCH 25/30] disable conurrent transcation --- misc/index.ts | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/misc/index.ts b/misc/index.ts index a21abe7..25c4e77 100644 --- a/misc/index.ts +++ b/misc/index.ts @@ -21,27 +21,34 @@ async function main() { const bjjPubKey = Account.fromMnemonic(account.mnemonic).bjjPubKey; const wallet = ethers.Wallet.fromMnemonic(account.mnemonic); const walletSigner = wallet.connect(provider); - let nonce = await walletSigner.getTransactionCount(); + // let nonce = await walletSigner.getTransactionCount(); for (const token of tokens) { const tokenContract = new ethers.Contract(token.address, tokenAbi, walletSigner); const mint = tokenContract.functions.mint; const increaseAllowance = tokenContract.functions.increaseAllowance; - const mintTx = mint(wallet.address, amount, { nonce: nonce++ }); - const increaseAllowanceTx = increaseAllowance(fluidexDelegateAddr, amount, { nonce: nonce++ }); - erc20Txs.push(mintTx); - erc20Txs.push(increaseAllowanceTx); + // const mintTx = mint(wallet.address, amount, { nonce: nonce++ }); + const mintTx = await mint(wallet.address, amount); + await mintTx.wait(1); + // const increaseAllowanceTx = increaseAllowance(fluidexDelegateAddr, amount, { nonce: nonce++ }); + const increaseAllowanceTx = await increaseAllowance(fluidexDelegateAddr, amount); + await increaseAllowanceTx.wait(1); + // erc20Txs.push(mintTx); + // erc20Txs.push(increaseAllowanceTx); const fluidexContract = new ethers.Contract(fluidexDelegateAddr, fluidexAbi, walletSigner); const depositERC20 = fluidexContract.functions.depositERC20; - const tx = depositERC20(token.address, bjjPubKey, amount, { nonce: nonce++, gasLimit: 2.5e7 }); - erc20Txs.push(tx); + // const tx = depositERC20(token.address, bjjPubKey, amount, { nonce: nonce++, gasLimit: 2.5e7 }); + const tx = await depositERC20(token.address, bjjPubKey, amount, { gasLimit: 2.5e7 }); + await tx.wait(1); + // erc20Txs.push(tx); } + // console.log('batch send transcations for ', walletSigner.address); console.log('batch send transcations for ', walletSigner.address); } - console.log('wait for all transcation got 1 confirmations'); + // console.log('wait for all transcation got 1 confirmations'); // @ts-ignore - await Promise.all(erc20Txs.map((tx) => tx.then((receipt) => receipt.wait(1)).catch((e) => console.log('error occurs: %s\nwait for all transcations for clean shutdown')))); + // await Promise.all(erc20Txs.map((tx) => tx.then((receipt) => receipt.wait(1)).catch((e) => console.log('error occurs: %s\nwait for all transcations for clean shutdown')))); } main() From 9ba557938990d3b7fa7602a61b7ef52d7a1e4f11 Mon Sep 17 00:00:00 2001 From: lightsing Date: Fri, 24 Dec 2021 01:22:04 +0800 Subject: [PATCH 26/30] re-point to master --- contracts | 2 +- eth_listener | 2 +- faucet | 2 +- regnbue-bridge | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts b/contracts index 7941396..44b4853 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 79413964d55ac24ecb4fbab20b422c62b139dbc7 +Subproject commit 44b485319857fdd7f2b083e8c5d9ac016fb3d7ae diff --git a/eth_listener b/eth_listener index 1ea8fe4..afc3c1c 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit 1ea8fe452c65ff9bc14dd5c0740d9b6626b66126 +Subproject commit afc3c1c6b9304f014f9497a37161d80eae506278 diff --git a/faucet b/faucet index c595612..d13fbe7 160000 --- a/faucet +++ b/faucet @@ -1 +1 @@ -Subproject commit c5956129cea63b5f0761a15b04ec8da8a45de9e4 +Subproject commit d13fbe7b97b00f0402ac50dab212cf909b1675ed diff --git a/regnbue-bridge b/regnbue-bridge index faf91bf..dc739c0 160000 --- a/regnbue-bridge +++ b/regnbue-bridge @@ -1 +1 @@ -Subproject commit faf91bf7bb2e0736dad88681f9ce0664bb845539 +Subproject commit dc739c05b2089d81287f1f0681fbadb2279ee171 From f40ca6ae7496273850259ae23e4b6c5bc618f389 Mon Sep 17 00:00:00 2001 From: lightsing Date: Fri, 24 Dec 2021 01:25:52 +0800 Subject: [PATCH 27/30] update regnbue-bridge --- regnbue-bridge | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regnbue-bridge b/regnbue-bridge index dc739c0..fbf7368 160000 --- a/regnbue-bridge +++ b/regnbue-bridge @@ -1 +1 @@ -Subproject commit dc739c05b2089d81287f1f0681fbadb2279ee171 +Subproject commit fbf736865ad3e63ae50a5b230d343352c50ae564 From a0628b3846647330682e178e6d4b60906fc7cf1c Mon Sep 17 00:00:00 2001 From: lightsing Date: Fri, 24 Dec 2021 01:35:23 +0800 Subject: [PATCH 28/30] add env preset --- goerli.env | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 goerli.env diff --git a/goerli.env b/goerli.env new file mode 100644 index 0000000..5a64480 --- /dev/null +++ b/goerli.env @@ -0,0 +1,5 @@ +export WEB3_URL='https://goerli.infura.io/v3/591481dbcf78432fa0786256ff0ef929' +export DX_NETWORK=goerli +export CHAIN_ID=5 +export KEYSTORE_PATH='' +export KEYSTORE_PASSWORD='' \ No newline at end of file From 94db465ef7a745e4d76894a1f289586bb7696176 Mon Sep 17 00:00:00 2001 From: lightsing Date: Fri, 24 Dec 2021 02:30:16 +0800 Subject: [PATCH 29/30] update README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a0ad469..7145b01 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,9 @@ Ubuntu 20.04 is the only supported environment currently. You could speed up the # including rust / docker / docker-compose / nodejs etc. $ bash scripts/install_all.sh +# set the keystore path and password env in `goerli.env` to test on goerli +$ source goerli.env + # compile zk circuits and setup circuits locally # start databases and message queue with docker compose # and launch all the services @@ -71,6 +74,7 @@ set env `DX_CLEAN` with `false` (case insensitive) to skip data purging stage wh # TODOs * Data availability. And change original inputs as private, then use their hash as the (single) public input. +* Local dev-net might be broken cause by recent changes (move to goerli). # Known Issues From 44bb51eb11886d3a3fd435f66dad3951fafdd445 Mon Sep 17 00:00:00 2001 From: HAOYUatHZ Date: Fri, 24 Dec 2021 13:57:27 +0800 Subject: [PATCH 30/30] change rev --- contracts | 2 +- eth_listener | 2 +- faucet | 2 +- regnbue-bridge | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts b/contracts index 44b4853..43f1f1b 160000 --- a/contracts +++ b/contracts @@ -1 +1 @@ -Subproject commit 44b485319857fdd7f2b083e8c5d9ac016fb3d7ae +Subproject commit 43f1f1b2b6601a8fe165152af09fa83c709a7c29 diff --git a/eth_listener b/eth_listener index afc3c1c..7fc77c8 160000 --- a/eth_listener +++ b/eth_listener @@ -1 +1 @@ -Subproject commit afc3c1c6b9304f014f9497a37161d80eae506278 +Subproject commit 7fc77c811f8c95cb771fc34d34b2f1f2a65e57ef diff --git a/faucet b/faucet index d13fbe7..e281c06 160000 --- a/faucet +++ b/faucet @@ -1 +1 @@ -Subproject commit d13fbe7b97b00f0402ac50dab212cf909b1675ed +Subproject commit e281c06dda8ad12329988f748d6942983b8f540e diff --git a/regnbue-bridge b/regnbue-bridge index fbf7368..140e40c 160000 --- a/regnbue-bridge +++ b/regnbue-bridge @@ -1 +1 @@ -Subproject commit fbf736865ad3e63ae50a5b230d343352c50ae564 +Subproject commit 140e40c64850a27fd8beb8e37e4416ed8c1a9dfc