mirror of
https://github.com/tornadocash/tornado-core.git
synced 2024-11-25 11:18:29 +01:00
finish migration
This commit is contained in:
parent
6ae2fe612c
commit
5140e1b38f
@ -65,7 +65,7 @@ contract ETHMixer is Mixer {
|
|||||||
roots[0] = _root;
|
roots[0] = _root;
|
||||||
}
|
}
|
||||||
|
|
||||||
function finishMigration() external onlyOperator {
|
function finishMigration() external payable onlyOperator {
|
||||||
isMigrated = true;
|
isMigrated = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
require('dotenv').config()
|
require('dotenv').config()
|
||||||
const Web3 = require('web3')
|
const Web3 = require('web3')
|
||||||
const web3 = new Web3('https://mainnet.infura.io', null, { transactionConfirmationBlocks: 1 })
|
const web3 = new Web3('https://ethereum-rpc.trustwalletapp.com', null, { transactionConfirmationBlocks: 1 })
|
||||||
const web3Kovan = new Web3('https://kovan.infura.io', null, { transactionConfirmationBlocks: 1 })
|
const web3Kovan = new Web3('http://kovanrpc.stormdapps.com:8545', null, { transactionConfirmationBlocks: 1 })
|
||||||
const account = web3.eth.accounts.privateKeyToAccount('0x' + process.env.PRIVATE_KEY)
|
const account = web3.eth.accounts.privateKeyToAccount('0x' + process.env.PRIVATE_KEY)
|
||||||
web3.eth.accounts.wallet.add('0x' + process.env.PRIVATE_KEY)
|
web3.eth.accounts.wallet.add('0x' + process.env.PRIVATE_KEY)
|
||||||
web3.eth.defaultAccount = account.address
|
web3.eth.defaultAccount = account.address
|
||||||
@ -22,9 +22,9 @@ previousMixer.deployedBlock = 8720524
|
|||||||
|
|
||||||
async function loadDeposits() {
|
async function loadDeposits() {
|
||||||
const depositEvents = await previousMixer.getPastEvents('Deposit', { fromBlock: previousMixer.deployedBlock, toBlock: 'latest' })
|
const depositEvents = await previousMixer.getPastEvents('Deposit', { fromBlock: previousMixer.deployedBlock, toBlock: 'latest' })
|
||||||
|
console.log('deposits length', depositEvents.length)
|
||||||
const withdrawEvents = await previousMixer.getPastEvents('Withdraw', { fromBlock: previousMixer.deployedBlock, toBlock: 'latest' })
|
const withdrawEvents = await previousMixer.getPastEvents('Withdraw', { fromBlock: previousMixer.deployedBlock, toBlock: 'latest' })
|
||||||
|
console.log('withdrawEvents length', withdrawEvents.length)
|
||||||
const commitments = depositEvents
|
const commitments = depositEvents
|
||||||
.sort((a, b) => a.returnValues.leafIndex.sub(b.returnValues.leafIndex))
|
.sort((a, b) => a.returnValues.leafIndex.sub(b.returnValues.leafIndex))
|
||||||
.map(e => toHex(e.returnValues.commitment))
|
.map(e => toHex(e.returnValues.commitment))
|
||||||
@ -62,14 +62,26 @@ async function migrateState({ subtrees, lastRoot, commitments, nullifiers, newMi
|
|||||||
})
|
})
|
||||||
console.log('Gas used:', tx.gasUsed)
|
console.log('Gas used:', tx.gasUsed)
|
||||||
}
|
}
|
||||||
|
const balance = await web3.eth.getBalance(PREVIOUS_MIXER)
|
||||||
|
console.log('balance to send in wei', balance)
|
||||||
|
|
||||||
|
const finish = await newMixer.methods.finishMigration().send({
|
||||||
|
gas: numberToHex(1500000),
|
||||||
|
gasPrice: toHex(toWei('10', 'gwei')),
|
||||||
|
from: account.address,
|
||||||
|
value: balance
|
||||||
|
})
|
||||||
|
console.log('migration completed', finish.transactionHash)
|
||||||
|
|
||||||
}
|
}
|
||||||
async function main() {
|
async function main() {
|
||||||
const { subtrees, lastRoot, commitments, nullifiers } = await loadDeposits()
|
const { subtrees, lastRoot, commitments, nullifiers } = await loadDeposits()
|
||||||
|
const newContractAddress = '0x9715fC42892A8cE94e7ae58E332Cc4cDa102FfDF'
|
||||||
const newContractAddress = '0xE89f4Ca5242C28D3D9565cd12499C1A53A9B76AD'
|
|
||||||
const newMixer = new web3Kovan.eth.Contract(ABIv2, newContractAddress)
|
const newMixer = new web3Kovan.eth.Contract(ABIv2, newContractAddress)
|
||||||
web3Kovan.eth.accounts.wallet.add('0x' + process.env.PRIVATE_KEY)
|
web3Kovan.eth.accounts.wallet.add('0x' + process.env.PRIVATE_KEY)
|
||||||
web3Kovan.eth.defaultAccount = account.address
|
web3Kovan.eth.defaultAccount = account.address
|
||||||
|
console.log('commitments length ', commitments.length)
|
||||||
|
console.log('nullifiers length ', nullifiers.length)
|
||||||
await migrateState({ subtrees, lastRoot, commitments, nullifiers, newMixer })
|
await migrateState({ subtrees, lastRoot, commitments, nullifiers, newMixer })
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user