mirror of
https://github.com/tornadocash/tornado-core.git
synced 2024-12-25 22:39:22 -05:00
Merge branch 'master' into phase2
This commit is contained in:
commit
6d383235bb
@ -11,4 +11,4 @@ install:
|
|||||||
script:
|
script:
|
||||||
- npm run test
|
- npm run test
|
||||||
- npm run eslint
|
- npm run eslint
|
||||||
- ./cli.js test
|
- node cli.js test
|
||||||
|
@ -50,6 +50,18 @@ template Withdraw(levels) {
|
|||||||
tree.pathElements[i] <== pathElements[i];
|
tree.pathElements[i] <== pathElements[i];
|
||||||
tree.pathIndices[i] <== pathIndices[i];
|
tree.pathIndices[i] <== pathIndices[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add hidden signals to make sure that tampering with recipient or fee will invalidate the snark proof
|
||||||
|
// Most likely it is not required, but it's better to stay on the safe side and it only takes 2 constraints
|
||||||
|
// Squares are used to prevent optimizer from removing those constraints
|
||||||
|
signal recipientSquare;
|
||||||
|
signal feeSquare;
|
||||||
|
signal relayerSquare;
|
||||||
|
signal refundSquare;
|
||||||
|
recipientSquare <== recipient * recipient;
|
||||||
|
feeSquare <== fee * fee;
|
||||||
|
relayerSquare <== relayer * relayer;
|
||||||
|
refundSquare <== refund * refund;
|
||||||
}
|
}
|
||||||
|
|
||||||
component main = Withdraw(20);
|
component main = Withdraw(20);
|
||||||
|
12
cli.js
12
cli.js
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env NODE_OPTIONS=--no-warnings node
|
#!/usr/bin/env node
|
||||||
// Temporary demo client
|
// Temporary demo client
|
||||||
// Works both in browser and node.js
|
// Works both in browser and node.js
|
||||||
|
|
||||||
@ -515,6 +515,16 @@ async function init({ rpc, noteNetId, currency = 'dai', amount = '100' }) {
|
|||||||
tokenAddress = currency !== 'eth' ? erc20ContractJson.networks[netId].address : null
|
tokenAddress = currency !== 'eth' ? erc20ContractJson.networks[netId].address : null
|
||||||
senderAccount = (await web3.eth.getAccounts())[0]
|
senderAccount = (await web3.eth.getAccounts())[0]
|
||||||
} else {
|
} else {
|
||||||
|
try {
|
||||||
|
const account = web3.eth.accounts.privateKeyToAccount('0x' + PRIVATE_KEY)
|
||||||
|
web3.eth.accounts.wallet.add('0x' + PRIVATE_KEY)
|
||||||
|
// eslint-disable-next-line require-atomic-updates
|
||||||
|
web3.eth.defaultAccount = account.address
|
||||||
|
senderAccount = account.address
|
||||||
|
} catch(e) {
|
||||||
|
console.error('Please provide PRIVATE_KEY in .env file')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
try{
|
try{
|
||||||
tornadoAddress = config.deployments[`netId${netId}`][currency].instanceAddress[amount]
|
tornadoAddress = config.deployments[`netId${netId}`][currency].instanceAddress[amount]
|
||||||
if (!tornadoAddress) {
|
if (!tornadoAddress) {
|
||||||
|
@ -43,7 +43,7 @@ module.exports = {
|
|||||||
// Useful for deploying to a public network.
|
// Useful for deploying to a public network.
|
||||||
// NB: It's important to wrap the provider as a function.
|
// NB: It's important to wrap the provider as a function.
|
||||||
kovan: {
|
kovan: {
|
||||||
provider: () => new HDWalletProvider(process.env.PRIVATE_KEY, 'https://kovan.infura.io/v3/c7463beadf2144e68646ff049917b716'),
|
provider: () => new HDWalletProvider(process.env.PRIVATE_KEY, 'https://kovan.infura.io/v3/97c8bf358b9942a9853fab1ba93dc5b3'),
|
||||||
network_id: 42,
|
network_id: 42,
|
||||||
gas: 6000000,
|
gas: 6000000,
|
||||||
gasPrice: utils.toWei('1', 'gwei'),
|
gasPrice: utils.toWei('1', 'gwei'),
|
||||||
@ -52,7 +52,7 @@ module.exports = {
|
|||||||
skipDryRun: true
|
skipDryRun: true
|
||||||
},
|
},
|
||||||
rinkeby: {
|
rinkeby: {
|
||||||
provider: () => new HDWalletProvider(process.env.PRIVATE_KEY, 'https://rinkeby.infura.io/v3/c7463beadf2144e68646ff049917b716'),
|
provider: () => new HDWalletProvider(process.env.PRIVATE_KEY, 'https://rinkeby.infura.io/v3/97c8bf358b9942a9853fab1ba93dc5b3'),
|
||||||
network_id: 4,
|
network_id: 4,
|
||||||
gas: 6000000,
|
gas: 6000000,
|
||||||
gasPrice: utils.toWei('1', 'gwei'),
|
gasPrice: utils.toWei('1', 'gwei'),
|
||||||
|
Loading…
Reference in New Issue
Block a user