mirror of
https://github.com/tornadocash/tornado-core.git
synced 2024-12-25 06:19:22 -05:00
Merge branch 'master' into phase2
This commit is contained in:
commit
6d383235bb
@ -11,4 +11,4 @@ install:
|
||||
script:
|
||||
- npm run test
|
||||
- npm run eslint
|
||||
- ./cli.js test
|
||||
- node cli.js test
|
||||
|
@ -50,6 +50,18 @@ template Withdraw(levels) {
|
||||
tree.pathElements[i] <== pathElements[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);
|
||||
|
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
|
||||
// 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
|
||||
senderAccount = (await web3.eth.getAccounts())[0]
|
||||
} 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{
|
||||
tornadoAddress = config.deployments[`netId${netId}`][currency].instanceAddress[amount]
|
||||
if (!tornadoAddress) {
|
||||
|
@ -43,7 +43,7 @@ module.exports = {
|
||||
// Useful for deploying to a public network.
|
||||
// NB: It's important to wrap the provider as a function.
|
||||
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,
|
||||
gas: 6000000,
|
||||
gasPrice: utils.toWei('1', 'gwei'),
|
||||
@ -52,7 +52,7 @@ module.exports = {
|
||||
skipDryRun: true
|
||||
},
|
||||
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,
|
||||
gas: 6000000,
|
||||
gasPrice: utils.toWei('1', 'gwei'),
|
||||
|
Loading…
Reference in New Issue
Block a user