fix tests, ci

This commit is contained in:
poma 2021-02-11 10:00:53 +03:00
parent 346ffcee3c
commit a359e86f85
No known key found for this signature in database
GPG Key ID: BA20CB01FE165657
13 changed files with 309 additions and 79 deletions

33
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: build
on:
push:
branches: ['*']
tags: ['v[0-9]+.[0-9]+.[0-9]+']
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
- run: yarn install
- run: yarn download
- run: cp .env.example .env
- run: npx ganache-cli > /dev/null &
- run: npm run migrate:dev
- run: yarn test
- run: node cli.js test
- run: yarn lint
- name: Telegram Failure Notification
uses: appleboy/telegram-action@0.0.7
if: failure()
with:
message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }}
format: markdown
to: ${{ secrets.TELEGRAM_CHAT_ID }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}

View File

@ -19,7 +19,7 @@ contract ERC20Tornado is Tornado {
constructor( constructor(
IVerifier _verifier, IVerifier _verifier,
Hasher _hasher, IHasher _hasher,
uint256 _denomination, uint256 _denomination,
uint32 _merkleTreeHeight, uint32 _merkleTreeHeight,
address _token address _token

View File

@ -17,7 +17,7 @@ import "./Tornado.sol";
contract ETHTornado is Tornado { contract ETHTornado is Tornado {
constructor( constructor(
IVerifier _verifier, IVerifier _verifier,
Hasher _hasher, IHasher _hasher,
uint256 _denomination, uint256 _denomination,
uint32 _merkleTreeHeight uint32 _merkleTreeHeight
) public Tornado(_verifier, _hasher, _denomination, _merkleTreeHeight) {} ) public Tornado(_verifier, _hasher, _denomination, _merkleTreeHeight) {}

View File

@ -12,7 +12,7 @@
// SPDX-License-Identifier: MIT // SPDX-License-Identifier: MIT
pragma solidity ^0.6.0; pragma solidity ^0.6.0;
interface Hasher { interface IHasher {
function MiMCSponge(uint256 in_xL, uint256 in_xR) external pure returns (uint256 xL, uint256 xR); function MiMCSponge(uint256 in_xL, uint256 in_xR) external pure returns (uint256 xL, uint256 xR);
} }
@ -30,9 +30,9 @@ contract MerkleTreeWithHistory {
uint32 public nextIndex = 0; uint32 public nextIndex = 0;
uint32 public constant ROOT_HISTORY_SIZE = 100; uint32 public constant ROOT_HISTORY_SIZE = 100;
bytes32[ROOT_HISTORY_SIZE] public roots; bytes32[ROOT_HISTORY_SIZE] public roots;
Hasher public immutable hasher; IHasher public immutable hasher;
constructor(uint32 _treeLevels, Hasher _hasher) public { constructor(uint32 _treeLevels, IHasher _hasher) public {
require(_treeLevels > 0, "_treeLevels should be greater than zero"); require(_treeLevels > 0, "_treeLevels should be greater than zero");
require(_treeLevels < 32, "_treeLevels should be less than 32"); require(_treeLevels < 32, "_treeLevels should be less than 32");
levels = _treeLevels; levels = _treeLevels;
@ -56,7 +56,7 @@ contract MerkleTreeWithHistory {
@dev Hash 2 tree leaves, returns MiMC(_left, _right) @dev Hash 2 tree leaves, returns MiMC(_left, _right)
*/ */
function hashLeftRight( function hashLeftRight(
Hasher _hasher, IHasher _hasher,
bytes32 _left, bytes32 _left,
bytes32 _right bytes32 _right
) public pure returns (bytes32) { ) public pure returns (bytes32) {

View File

@ -3,4 +3,8 @@ pragma solidity ^0.6.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract ERC20Mock is ERC20("DAIMock", "DAIM") {} contract ERC20Mock is ERC20("DAIMock", "DAIM") {
function mint(address account, uint256 amount) public {
_mint(account, amount);
}
}

View File

@ -4,7 +4,7 @@ pragma solidity ^0.6.0;
import "../MerkleTreeWithHistory.sol"; import "../MerkleTreeWithHistory.sol";
contract MerkleTreeWithHistoryMock is MerkleTreeWithHistory { contract MerkleTreeWithHistoryMock is MerkleTreeWithHistory {
constructor(uint32 _treeLevels, Hasher _hasher) public MerkleTreeWithHistory(_treeLevels, _hasher) {} constructor(uint32 _treeLevels, IHasher _hasher) public MerkleTreeWithHistory(_treeLevels, _hasher) {}
function insert(bytes32 _leaf) public { function insert(bytes32 _leaf) public {
_insert(_leaf); _insert(_leaf);

View File

@ -46,7 +46,7 @@ abstract contract Tornado is MerkleTreeWithHistory, ReentrancyGuard {
*/ */
constructor( constructor(
IVerifier _verifier, IVerifier _verifier,
Hasher _hasher, IHasher _hasher,
uint256 _denomination, uint256 _denomination,
uint32 _merkleTreeHeight uint32 _merkleTreeHeight
) public MerkleTreeWithHistory(_merkleTreeHeight, _hasher) { ) public MerkleTreeWithHistory(_merkleTreeHeight, _hasher) {

View File

@ -2,21 +2,20 @@
require('dotenv').config({ path: '../.env' }) require('dotenv').config({ path: '../.env' })
const ETHTornado = artifacts.require('ETHTornado') const ETHTornado = artifacts.require('ETHTornado')
const Verifier = artifacts.require('Verifier') const Verifier = artifacts.require('Verifier')
const hasherContract = artifacts.require('Hasher') const Hasher = artifacts.require('Hasher')
module.exports = function (deployer, network, accounts) { module.exports = function (deployer, network, accounts) {
return deployer.then(async () => { return deployer.then(async () => {
const { MERKLE_TREE_HEIGHT, ETH_AMOUNT } = process.env const { MERKLE_TREE_HEIGHT, ETH_AMOUNT } = process.env
const verifier = await Verifier.deployed() const verifier = await Verifier.deployed()
const hasherInstance = await hasherContract.deployed() const hasher = await Hasher.deployed()
await ETHTornado.link(hasherContract, hasherInstance.address)
const tornado = await deployer.deploy( const tornado = await deployer.deploy(
ETHTornado, ETHTornado,
verifier.address, verifier.address,
hasher.address,
ETH_AMOUNT, ETH_AMOUNT,
MERKLE_TREE_HEIGHT, MERKLE_TREE_HEIGHT,
accounts[0],
) )
console.log('ETHTornado address ', tornado.address) console.log('ETHTornado address', tornado.address)
}) })
} }

View File

@ -2,15 +2,14 @@
require('dotenv').config({ path: '../.env' }) require('dotenv').config({ path: '../.env' })
const ERC20Tornado = artifacts.require('ERC20Tornado') const ERC20Tornado = artifacts.require('ERC20Tornado')
const Verifier = artifacts.require('Verifier') const Verifier = artifacts.require('Verifier')
const hasherContract = artifacts.require('Hasher') const Hasher = artifacts.require('Hasher')
const ERC20Mock = artifacts.require('ERC20Mock') const ERC20Mock = artifacts.require('ERC20Mock')
module.exports = function (deployer, network, accounts) { module.exports = function (deployer, network, accounts) {
return deployer.then(async () => { return deployer.then(async () => {
const { MERKLE_TREE_HEIGHT, ERC20_TOKEN, TOKEN_AMOUNT } = process.env const { MERKLE_TREE_HEIGHT, ERC20_TOKEN, TOKEN_AMOUNT } = process.env
const verifier = await Verifier.deployed() const verifier = await Verifier.deployed()
const hasherInstance = await hasherContract.deployed() const hasher = await Hasher.deployed()
await ERC20Tornado.link(hasherContract, hasherInstance.address)
let token = ERC20_TOKEN let token = ERC20_TOKEN
if (token === '') { if (token === '') {
const tokenInstance = await deployer.deploy(ERC20Mock) const tokenInstance = await deployer.deploy(ERC20Mock)
@ -19,11 +18,11 @@ module.exports = function (deployer, network, accounts) {
const tornado = await deployer.deploy( const tornado = await deployer.deploy(
ERC20Tornado, ERC20Tornado,
verifier.address, verifier.address,
hasher.address,
TOKEN_AMOUNT, TOKEN_AMOUNT,
MERKLE_TREE_HEIGHT, MERKLE_TREE_HEIGHT,
accounts[0],
token, token,
) )
console.log('ERC20Tornado address ', tornado.address) console.log('ERC20Tornado address', tornado.address)
}) })
} }

View File

@ -52,10 +52,10 @@
"prettier-plugin-solidity": "^1.0.0-beta.3", "prettier-plugin-solidity": "^1.0.0-beta.3",
"snarkjs": "git+https://github.com/tornadocash/snarkjs.git#869181cfaf7526fe8972073d31655493a04326d5", "snarkjs": "git+https://github.com/tornadocash/snarkjs.git#869181cfaf7526fe8972073d31655493a04326d5",
"solhint-plugin-prettier": "^0.0.5", "solhint-plugin-prettier": "^0.0.5",
"truffle": "^5.0.44", "truffle": "^5.1.65",
"truffle-flattener": "^1.4.2", "truffle-flattener": "^1.4.2",
"web3": "^1.2.2", "web3": "^1.3.4",
"web3-utils": "^1.2.2", "web3-utils": "^1.3.4",
"websnark": "git+https://github.com/tornadocash/websnark.git#2041cfa5fa0b71cd5cca9022a4eeea4afe28c9f7" "websnark": "git+https://github.com/tornadocash/websnark.git#4c0af6a8b65aabea3c09f377f63c44e7a58afa6d"
} }
} }

View File

@ -299,7 +299,7 @@ contract('ETHTornado', (accounts) => {
toFixedHex(input.refund), toFixedHex(input.refund),
] ]
const error = await tornado.withdraw(proof, ...args, { from: relayer }).should.be.rejected const error = await tornado.withdraw(proof, ...args, { from: relayer }).should.be.rejected
error.reason.should.be.equal('verifier-gte-snark-scalar-field') error.reason.should.be.equal('verifier-input-gte-snark-scalar-field')
}) })
it('fee should be less or equal transfer value', async () => { it('fee should be less or equal transfer value', async () => {
@ -483,50 +483,6 @@ contract('ETHTornado', (accounts) => {
}) })
}) })
describe('#changeOperator', () => {
it('should work', async () => {
let operator = await tornado.operator()
operator.should.be.equal(sender)
const newOperator = accounts[7]
await tornado.changeOperator(newOperator).should.be.fulfilled
operator = await tornado.operator()
operator.should.be.equal(newOperator)
})
it('cannot change from different address', async () => {
let operator = await tornado.operator()
operator.should.be.equal(sender)
const newOperator = accounts[7]
const error = await tornado.changeOperator(newOperator, { from: accounts[7] }).should.be.rejected
error.reason.should.be.equal('Only operator can call this function.')
})
})
describe('#updateVerifier', () => {
it('should work', async () => {
let operator = await tornado.operator()
operator.should.be.equal(sender)
const newVerifier = accounts[7]
await tornado.updateVerifier(newVerifier).should.be.fulfilled
const verifier = await tornado.verifier()
verifier.should.be.equal(newVerifier)
})
it('cannot change from different address', async () => {
let operator = await tornado.operator()
operator.should.be.equal(sender)
const newVerifier = accounts[7]
const error = await tornado.updateVerifier(newVerifier, { from: accounts[7] }).should.be.rejected
error.reason.should.be.equal('Only operator can call this function.')
})
})
describe('#isSpent', () => { describe('#isSpent', () => {
it('should work', async () => { it('should work', async () => {
const deposit1 = generateDeposit() const deposit1 = generateDeposit()

View File

@ -45,8 +45,7 @@ contract('MerkleTreeWithHistory', (accounts) => {
before(async () => { before(async () => {
tree = new MerkleTree(levels, null, prefix) tree = new MerkleTree(levels, null, prefix)
hasherInstance = await hasherContract.deployed() hasherInstance = await hasherContract.deployed()
await MerkleTreeWithHistory.link(hasherContract, hasherInstance.address) merkleTreeWithHistory = await MerkleTreeWithHistory.new(levels, hasherInstance.address)
merkleTreeWithHistory = await MerkleTreeWithHistory.new(levels)
snapshotId = await takeSnapshot() snapshotId = await takeSnapshot()
}) })
@ -153,7 +152,7 @@ contract('MerkleTreeWithHistory', (accounts) => {
it('should reject if tree is full', async () => { it('should reject if tree is full', async () => {
const levels = 6 const levels = 6
const merkleTreeWithHistory = await MerkleTreeWithHistory.new(levels) const merkleTreeWithHistory = await MerkleTreeWithHistory.new(levels, hasherInstance.address)
for (let i = 0; i < 2 ** levels; i++) { for (let i = 0; i < 2 ** levels; i++) {
await merkleTreeWithHistory.insert(toFixedHex(i + 42)).should.be.fulfilled await merkleTreeWithHistory.insert(toFixedHex(i + 42)).should.be.fulfilled

256
yarn.lock
View File

@ -5862,10 +5862,10 @@ truffle-flattener@^1.4.2:
mkdirp "^1.0.4" mkdirp "^1.0.4"
tsort "0.0.1" tsort "0.0.1"
truffle@^5.0.44: truffle@^5.1.65:
version "5.1.62" version "5.1.65"
resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.62.tgz#819b8280615345bf42bbba7967f2dc9d39347869" resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.65.tgz#2f31dc9481c74d04c4d72cfb3085f6ee9752d0d2"
integrity sha512-TWgZ3xSSb8us4ZkHEHRghJWivfewjEy7yd8nARd7EHvoOi5lcUmKnbsunP+G7u/AO47gRoEqwFdPuGPdXrBM1A== integrity sha512-MT7kTrMP1tleqwEzGWj/4wKU3pIOR63cVGsrP0MgEDrXOrpM5XNHnCAp9YBrYsDXqiVPZiEK38385qoJdTk6yA==
dependencies: dependencies:
app-module-path "^2.2.0" app-module-path "^2.2.0"
mocha "8.1.2" mocha "8.1.2"
@ -6144,6 +6144,16 @@ web3-bzz@1.3.1:
swarm-js "^0.1.40" swarm-js "^0.1.40"
underscore "1.9.1" underscore "1.9.1"
web3-bzz@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.3.4.tgz#9be529353c4063bc68395370cb5d8e414c6b6c87"
integrity sha512-DBRVQB8FAgoAtZCpp2GAGPCJjgBgsuwOKEasjV044AAZiONpXcKHbkO6G1SgItIixnrJsRJpoGLGw52Byr6FKw==
dependencies:
"@types/node" "^12.12.6"
got "9.6.0"
swarm-js "^0.1.40"
underscore "1.9.1"
web3-core-helpers@1.2.9: web3-core-helpers@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.9.tgz#6381077c3e01c127018cb9e9e3d1422697123315" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.9.tgz#6381077c3e01c127018cb9e9e3d1422697123315"
@ -6162,6 +6172,15 @@ web3-core-helpers@1.3.1:
web3-eth-iban "1.3.1" web3-eth-iban "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-core-helpers@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.3.4.tgz#b8549740bf24d5c71688d89c3cdd802d8d36b4e4"
integrity sha512-n7BqDalcTa1stncHMmrnFtyTgDhX5Fy+avNaHCf6qcOP2lwTQC8+mdHVBONWRJ6Yddvln+c8oY/TAaB6PzWK0A==
dependencies:
underscore "1.9.1"
web3-eth-iban "1.3.4"
web3-utils "1.3.4"
web3-core-method@1.2.9: web3-core-method@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.9.tgz#3fb538751029bea570e4f86731e2fa5e4945e462" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.9.tgz#3fb538751029bea570e4f86731e2fa5e4945e462"
@ -6186,6 +6205,18 @@ web3-core-method@1.3.1:
web3-core-subscriptions "1.3.1" web3-core-subscriptions "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-core-method@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.3.4.tgz#6c2812d96dd6c811b9e6c8a5d25050d2c22b9527"
integrity sha512-JxmQrujsAWYRRN77P/RY7XuZDCzxSiiQJrgX/60Lfyf7FF1Y0le4L/UMCi7vUJnuYkbU1Kfl9E0udnqwyPqlvQ==
dependencies:
"@ethersproject/transactions" "^5.0.0-beta.135"
underscore "1.9.1"
web3-core-helpers "1.3.4"
web3-core-promievent "1.3.4"
web3-core-subscriptions "1.3.4"
web3-utils "1.3.4"
web3-core-promievent@1.2.9: web3-core-promievent@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.9.tgz#bb1c56aa6fac2f4b3c598510f06554d25c11c553" resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.9.tgz#bb1c56aa6fac2f4b3c598510f06554d25c11c553"
@ -6200,6 +6231,13 @@ web3-core-promievent@1.3.1:
dependencies: dependencies:
eventemitter3 "4.0.4" eventemitter3 "4.0.4"
web3-core-promievent@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.3.4.tgz#d166239012d91496cdcbe91d5d54071ea818bc73"
integrity sha512-V61dZIeBwogg6hhZZUt0qL9hTp1WDhnsdjP++9fhTDr4vy/Gz8T5vibqT2LLg6lQC8i+Py33yOpMeMNjztaUaw==
dependencies:
eventemitter3 "4.0.4"
web3-core-requestmanager@1.2.9: web3-core-requestmanager@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.9.tgz#dd6d855256c4dd681434fe0867f8cd742fe10503" resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.9.tgz#dd6d855256c4dd681434fe0867f8cd742fe10503"
@ -6223,6 +6261,18 @@ web3-core-requestmanager@1.3.1:
web3-providers-ipc "1.3.1" web3-providers-ipc "1.3.1"
web3-providers-ws "1.3.1" web3-providers-ws "1.3.1"
web3-core-requestmanager@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.3.4.tgz#e105ced735c2b5fcedd5771e0ecf9879ae9c373f"
integrity sha512-xriouCrhVnVDYQ04TZXdEREZm0OOJzkSEsoN5bu4JYsA6e/HzROeU+RjDpMUxFMzN4wxmFZ+HWbpPndS3QwMag==
dependencies:
underscore "1.9.1"
util "^0.12.0"
web3-core-helpers "1.3.4"
web3-providers-http "1.3.4"
web3-providers-ipc "1.3.4"
web3-providers-ws "1.3.4"
web3-core-subscriptions@1.2.9: web3-core-subscriptions@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.9.tgz#335fd7d15dfce5d78b4b7bef05ce4b3d7237b0e4" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.9.tgz#335fd7d15dfce5d78b4b7bef05ce4b3d7237b0e4"
@ -6241,6 +6291,15 @@ web3-core-subscriptions@1.3.1:
underscore "1.9.1" underscore "1.9.1"
web3-core-helpers "1.3.1" web3-core-helpers "1.3.1"
web3-core-subscriptions@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.3.4.tgz#7b00e92bde21f792620cd02e6e508fcf4f4c31d3"
integrity sha512-drVHVDxh54hv7xmjIm44g4IXjfGj022fGw4/meB5R2D8UATFI40F73CdiBlyqk3DysP9njDOLTJFSQvEkLFUOg==
dependencies:
eventemitter3 "4.0.4"
underscore "1.9.1"
web3-core-helpers "1.3.4"
web3-core@1.2.9: web3-core@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.9.tgz#2cba57aa259b6409db532d21bdf57db8d504fd3e" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.9.tgz#2cba57aa259b6409db532d21bdf57db8d504fd3e"
@ -6267,6 +6326,19 @@ web3-core@1.3.1:
web3-core-requestmanager "1.3.1" web3-core-requestmanager "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-core@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.3.4.tgz#2cc7ba7f35cc167f7a0a46fd5855f86e51d34ce8"
integrity sha512-7OJu46RpCEfTerl+gPvHXANR2RkLqAfW7l2DAvQ7wN0pnCzl9nEfdgW6tMhr31k3TR2fWucwKzCyyxMGzMHeSA==
dependencies:
"@types/bn.js" "^4.11.5"
"@types/node" "^12.12.6"
bignumber.js "^9.0.0"
web3-core-helpers "1.3.4"
web3-core-method "1.3.4"
web3-core-requestmanager "1.3.4"
web3-utils "1.3.4"
web3-eth-abi@1.2.9: web3-eth-abi@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.9.tgz#14bedd7e4be04fcca35b2ac84af1400574cd8280" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.9.tgz#14bedd7e4be04fcca35b2ac84af1400574cd8280"
@ -6285,6 +6357,15 @@ web3-eth-abi@1.3.1:
underscore "1.9.1" underscore "1.9.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-abi@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.3.4.tgz#10f5d8b6080dbb6cbaa1bcef7e0c70573da6566f"
integrity sha512-PVSLXJ2dzdXsC+R24llIIEOS6S1KhG5qwNznJjJvXZFe3sqgdSe47eNvwUamZtCBjcrdR/HQr+L/FTxqJSf80Q==
dependencies:
"@ethersproject/abi" "5.0.7"
underscore "1.9.1"
web3-utils "1.3.4"
web3-eth-accounts@1.2.9: web3-eth-accounts@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.9.tgz#7ec422df90fecb5243603ea49dc28726db7bdab6" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.9.tgz#7ec422df90fecb5243603ea49dc28726db7bdab6"
@ -6319,6 +6400,23 @@ web3-eth-accounts@1.3.1:
web3-core-method "1.3.1" web3-core-method "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-accounts@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.3.4.tgz#cf513d78531c13ce079a5e7862820570350e79a5"
integrity sha512-gz9ReSmQEjqbYAjpmAx+UZF4CVMbyS4pfjSYWGAnNNI+Xz0f0u0kCIYXQ1UEaE+YeLcYiE+ZlZdgg6YoatO5nA==
dependencies:
crypto-browserify "3.12.0"
eth-lib "0.2.8"
ethereumjs-common "^1.3.2"
ethereumjs-tx "^2.1.1"
scrypt-js "^3.0.1"
underscore "1.9.1"
uuid "3.3.2"
web3-core "1.3.4"
web3-core-helpers "1.3.4"
web3-core-method "1.3.4"
web3-utils "1.3.4"
web3-eth-contract@1.2.9: web3-eth-contract@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.9.tgz#713d9c6d502d8c8f22b696b7ffd8e254444e6bfd" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.9.tgz#713d9c6d502d8c8f22b696b7ffd8e254444e6bfd"
@ -6349,6 +6447,21 @@ web3-eth-contract@1.3.1:
web3-eth-abi "1.3.1" web3-eth-abi "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-contract@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.3.4.tgz#1ea2dd71be0c4a9cf4772d4f75dbb2fa99751472"
integrity sha512-Fvy8ZxUksQY2ePt+XynFfOiSqxgQtMn4m2NJs6VXRl2Inl17qyRi/nIJJVKTcENLocm+GmZ/mxq2eOE5u02nPg==
dependencies:
"@types/bn.js" "^4.11.5"
underscore "1.9.1"
web3-core "1.3.4"
web3-core-helpers "1.3.4"
web3-core-method "1.3.4"
web3-core-promievent "1.3.4"
web3-core-subscriptions "1.3.4"
web3-eth-abi "1.3.4"
web3-utils "1.3.4"
web3-eth-ens@1.2.9: web3-eth-ens@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.9.tgz#577b9358c036337833fb2bdc59c11be7f6f731b6" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.9.tgz#577b9358c036337833fb2bdc59c11be7f6f731b6"
@ -6379,6 +6492,21 @@ web3-eth-ens@1.3.1:
web3-eth-contract "1.3.1" web3-eth-contract "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-ens@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.3.4.tgz#a7e4bb18481fb0e2ce5bfb3b3da2fbb0ad78cefe"
integrity sha512-b0580tQyQwpV2wyacwQiBEfQmjCUln5iPhge3IBIMXaI43BUNtH3lsCL9ERFQeOdweB4o+6rYyNYr6xbRcSytg==
dependencies:
content-hash "^2.5.2"
eth-ens-namehash "2.0.8"
underscore "1.9.1"
web3-core "1.3.4"
web3-core-helpers "1.3.4"
web3-core-promievent "1.3.4"
web3-eth-abi "1.3.4"
web3-eth-contract "1.3.4"
web3-utils "1.3.4"
web3-eth-iban@1.2.9: web3-eth-iban@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.9.tgz#4ebf3d8783f34d04c4740dc18938556466399f7a" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.9.tgz#4ebf3d8783f34d04c4740dc18938556466399f7a"
@ -6395,6 +6523,14 @@ web3-eth-iban@1.3.1:
bn.js "^4.11.9" bn.js "^4.11.9"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-iban@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.3.4.tgz#5eb7a564e0dcf68730d68f48f95dd207cd173d81"
integrity sha512-Y7/hLjVvIN/OhaAyZ8L/hxbTqVX6AFTl2RwUXR6EEU9oaLydPcMjAx/Fr8mghUvQS3QJSr+UGubP3W4SkyNiYw==
dependencies:
bn.js "^4.11.9"
web3-utils "1.3.4"
web3-eth-personal@1.2.9: web3-eth-personal@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.9.tgz#9b95eb159b950b83cd8ae15873e1d57711b7a368" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.9.tgz#9b95eb159b950b83cd8ae15873e1d57711b7a368"
@ -6419,6 +6555,18 @@ web3-eth-personal@1.3.1:
web3-net "1.3.1" web3-net "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth-personal@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.3.4.tgz#0d0e0abea3447283d7ee5658ed312990c9bf48dd"
integrity sha512-JiTbaktYVk1j+S2EDooXAhw5j/VsdvZfKRmHtXUe/HizPM9ETXmj1+ne4RT6m+950jQ7DJwUF3XU1FKYNtEDwQ==
dependencies:
"@types/node" "^12.12.6"
web3-core "1.3.4"
web3-core-helpers "1.3.4"
web3-core-method "1.3.4"
web3-net "1.3.4"
web3-utils "1.3.4"
web3-eth@1.2.9: web3-eth@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.9.tgz#e40e7b88baffc9b487193211c8b424dc944977b3" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.9.tgz#e40e7b88baffc9b487193211c8b424dc944977b3"
@ -6457,6 +6605,25 @@ web3-eth@1.3.1:
web3-net "1.3.1" web3-net "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-eth@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.3.4.tgz#7c4607685e66a1c43e3e315e526c959f24f96907"
integrity sha512-8OIVMLbvmx+LB5RZ4tDhXuFGWSdNMrCZ4HM0+PywQ08uEcmAcqTMFAn4vdPii+J8gCatZR501r1KdzX3SDLoPw==
dependencies:
underscore "1.9.1"
web3-core "1.3.4"
web3-core-helpers "1.3.4"
web3-core-method "1.3.4"
web3-core-subscriptions "1.3.4"
web3-eth-abi "1.3.4"
web3-eth-accounts "1.3.4"
web3-eth-contract "1.3.4"
web3-eth-ens "1.3.4"
web3-eth-iban "1.3.4"
web3-eth-personal "1.3.4"
web3-net "1.3.4"
web3-utils "1.3.4"
web3-net@1.2.9: web3-net@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.9.tgz#51d248ed1bc5c37713c4ac40c0073d9beacd87d3" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.9.tgz#51d248ed1bc5c37713c4ac40c0073d9beacd87d3"
@ -6475,6 +6642,15 @@ web3-net@1.3.1:
web3-core-method "1.3.1" web3-core-method "1.3.1"
web3-utils "1.3.1" web3-utils "1.3.1"
web3-net@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.3.4.tgz#d76158bf0b4a7b3b14352b4f95472db9efc57a2a"
integrity sha512-wVyqgVC3Zt/0uGnBiR3GpnsS8lvOFTDgWZMxAk9C6Guh8aJD9MUc7pbsw5rHrPUVe6S6RUfFJvh/Xq8oMIQgSw==
dependencies:
web3-core "1.3.4"
web3-core-method "1.3.4"
web3-utils "1.3.4"
web3-providers-http@1.2.9: web3-providers-http@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.9.tgz#e698aa5377e2019c24c5a1e6efa0f51018728934" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.9.tgz#e698aa5377e2019c24c5a1e6efa0f51018728934"
@ -6491,6 +6667,14 @@ web3-providers-http@1.3.1:
web3-core-helpers "1.3.1" web3-core-helpers "1.3.1"
xhr2-cookies "1.1.0" xhr2-cookies "1.1.0"
web3-providers-http@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.3.4.tgz#89389e18e27148faa2fef58842740ffadbdda8cc"
integrity sha512-aIg/xHXvxpqpFU70sqfp+JC3sGkLfAimRKTUhG4oJZ7U+tTcYTHoxBJj+4A3Id4JAoKiiv0k1/qeyQ8f3rMC3g==
dependencies:
web3-core-helpers "1.3.4"
xhr2-cookies "1.1.0"
web3-providers-ipc@1.2.9: web3-providers-ipc@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.9.tgz#6159eacfcd7ac31edc470d93ef10814fe874763b" resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.9.tgz#6159eacfcd7ac31edc470d93ef10814fe874763b"
@ -6509,6 +6693,15 @@ web3-providers-ipc@1.3.1:
underscore "1.9.1" underscore "1.9.1"
web3-core-helpers "1.3.1" web3-core-helpers "1.3.1"
web3-providers-ipc@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.3.4.tgz#b963518989b1b7847063cdd461ff73b83855834a"
integrity sha512-E0CvXEJElr/TIlG1YfJeO3Le5NI/4JZM+1SsEdiPIfBUAJN18oOoum138EBGKv5+YaLKZUtUuJSXWjIIOR/0Ig==
dependencies:
oboe "2.1.5"
underscore "1.9.1"
web3-core-helpers "1.3.4"
web3-providers-ws@1.2.9: web3-providers-ws@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.9.tgz#22c2006655ec44b4ad2b41acae62741a6ae7a88c" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.9.tgz#22c2006655ec44b4ad2b41acae62741a6ae7a88c"
@ -6529,6 +6722,16 @@ web3-providers-ws@1.3.1:
web3-core-helpers "1.3.1" web3-core-helpers "1.3.1"
websocket "^1.0.32" websocket "^1.0.32"
web3-providers-ws@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.3.4.tgz#b94c2e0ec51a0c472abdec53a472b5bf8176bec1"
integrity sha512-WBd9hk2fUAdrbA3kUyUk94ZeILtE6txLeoVVvIKAw2bPegx+RjkLyxC1Du0oceKgQ/qQWod8CCzl1E/GgTP+MQ==
dependencies:
eventemitter3 "4.0.4"
underscore "1.9.1"
web3-core-helpers "1.3.4"
websocket "^1.0.32"
web3-shh@1.2.9: web3-shh@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.9.tgz#c4ba70d6142cfd61341a50752d8cace9a0370911" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.9.tgz#c4ba70d6142cfd61341a50752d8cace9a0370911"
@ -6549,6 +6752,16 @@ web3-shh@1.3.1:
web3-core-subscriptions "1.3.1" web3-core-subscriptions "1.3.1"
web3-net "1.3.1" web3-net "1.3.1"
web3-shh@1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.3.4.tgz#b7d29e118f26416c1a74575e585be379cc01a77a"
integrity sha512-zoeww5mxLh3xKcqbX85irQbtFe5pc5XwrgjvmdMkhkOdZzPASlWOgqzUFtaPykpLwC3yavVx4jG5RqifweXLUA==
dependencies:
web3-core "1.3.4"
web3-core-method "1.3.4"
web3-core-subscriptions "1.3.4"
web3-net "1.3.4"
web3-utils@1.2.9: web3-utils@1.2.9:
version "1.2.9" version "1.2.9"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.9.tgz#abe11735221627da943971ef1a630868fb9c61f3" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.9.tgz#abe11735221627da943971ef1a630868fb9c61f3"
@ -6563,7 +6776,7 @@ web3-utils@1.2.9:
underscore "1.9.1" underscore "1.9.1"
utf8 "3.0.0" utf8 "3.0.0"
web3-utils@1.3.1, web3-utils@^1.2.2: web3-utils@1.3.1:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.1.tgz#9aa880dd8c9463fe5c099107889f86a085370c2e" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.1.tgz#9aa880dd8c9463fe5c099107889f86a085370c2e"
integrity sha512-9gPwFm8SXtIJuzdrZ37PRlalu40fufXxo+H2PiCwaO6RpKGAvlUlWU0qQbyToFNXg7W2H8djEgoAVac8NLMCKQ== integrity sha512-9gPwFm8SXtIJuzdrZ37PRlalu40fufXxo+H2PiCwaO6RpKGAvlUlWU0qQbyToFNXg7W2H8djEgoAVac8NLMCKQ==
@ -6577,7 +6790,21 @@ web3-utils@1.3.1, web3-utils@^1.2.2:
underscore "1.9.1" underscore "1.9.1"
utf8 "3.0.0" utf8 "3.0.0"
web3@*, web3@^1.0.0-beta.34, web3@^1.0.0-beta.55, web3@^1.2.2: web3-utils@1.3.4, web3-utils@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.4.tgz#9b1aa30d7549f860b573e7bb7e690999e7192198"
integrity sha512-/vC2v0MaZNpWooJfpRw63u0Y3ag2gNjAWiLtMSL6QQLmCqCy4SQIndMt/vRyx0uMoeGt1YTwSXEcHjUzOhLg0A==
dependencies:
bn.js "^4.11.9"
eth-lib "0.2.8"
ethereum-bloom-filters "^1.0.6"
ethjs-unit "0.1.6"
number-to-bn "1.7.0"
randombytes "^2.1.0"
underscore "1.9.1"
utf8 "3.0.0"
web3@*, web3@^1.0.0-beta.34, web3@^1.0.0-beta.55:
version "1.3.1" version "1.3.1"
resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.1.tgz#f780138c92ae3c42ea45e1a3c6ae8844e0aa5054" resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.1.tgz#f780138c92ae3c42ea45e1a3c6ae8844e0aa5054"
integrity sha512-lDJwOLSRWHYwhPy4h5TNgBRJ/lED7lWXyVOXHCHcEC8ai3coBNdgEXWBu/GGYbZMsS89EoUOJ14j3Ufi4dUkog== integrity sha512-lDJwOLSRWHYwhPy4h5TNgBRJ/lED7lWXyVOXHCHcEC8ai3coBNdgEXWBu/GGYbZMsS89EoUOJ14j3Ufi4dUkog==
@ -6603,9 +6830,22 @@ web3@1.2.9:
web3-shh "1.2.9" web3-shh "1.2.9"
web3-utils "1.2.9" web3-utils "1.2.9"
"websnark@git+https://github.com/tornadocash/websnark.git#2041cfa5fa0b71cd5cca9022a4eeea4afe28c9f7": web3@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.4.tgz#31e014873360aa5840eb17f9f171190c967cffb7"
integrity sha512-D6cMb2EtTMLHgdGbkTPGl/Qi7DAfczR+Lp7iFX3bcu/bsD9V8fZW69hA8v5cRPNGzXUwVQebk3bS17WKR4cD2w==
dependencies:
web3-bzz "1.3.4"
web3-core "1.3.4"
web3-eth "1.3.4"
web3-eth-personal "1.3.4"
web3-net "1.3.4"
web3-shh "1.3.4"
web3-utils "1.3.4"
"websnark@git+https://github.com/tornadocash/websnark.git#4c0af6a8b65aabea3c09f377f63c44e7a58afa6d":
version "0.0.4" version "0.0.4"
resolved "git+https://github.com/tornadocash/websnark.git#2041cfa5fa0b71cd5cca9022a4eeea4afe28c9f7" resolved "git+https://github.com/tornadocash/websnark.git#4c0af6a8b65aabea3c09f377f63c44e7a58afa6d"
dependencies: dependencies:
big-integer "^1.6.42" big-integer "^1.6.42"