tx-manager/test/TxManager.test.js
2020-10-02 12:14:40 +03:00

71 lines
2.0 KiB
JavaScript

require('dotenv').config()
require('chai').should()
const { toHex, toWei } = require('web3-utils')
const TxManager = require('../src/TxManager')
// const Transaction = require('../src/Transaction')
const { RPC_URL, PRIVATE_KEY } = process.env
describe('TxManager', () => {
const manager = new TxManager({
privateKey: PRIVATE_KEY,
rpcUrl: RPC_URL,
config: {
CONFIRMATIONS: 3,
GAS_BUMP_INTERVAL: 1000 * 15,
},
})
const tx1 = {
value: 1,
gasPrice: toHex(toWei('0.5', 'gwei')),
to: '0xA43Ce8Cc89Eff3AA5593c742fC56A30Ef2427CB0',
}
const tx2 = {
value: 2,
to: '0x0039F22efB07A647557C7C5d17854CFD6D489eF3',
}
describe('#transaction', () => {
it('should work', async () => {
const tx = manager.createTx(tx1)
const receipt = await tx
.send()
.on('transactionHash', (hash) => console.log('hash', hash))
.on('mined', (receipt) => console.log('Mined in block', receipt.blockNumber))
.on('confirmations', (confirmations) => console.log('confirmations', confirmations))
console.log('receipt', receipt)
})
it('should cancel', async () => {
const tx = manager.createTx(tx1)
setTimeout(() => tx.cancel(), 1000)
const receipt = await tx
.send()
.on('transactionHash', (hash) => console.log('hash', hash))
.on('mined', (receipt) => console.log('Mined in block', receipt.blockNumber))
.on('confirmations', (confirmations) => console.log('confirmations', confirmations))
console.log('receipt', receipt)
})
it('should replace', async () => {
const tx = manager.createTx(tx1)
setTimeout(() => tx.replace(tx2), 1000)
const receipt = await tx
.send()
.on('transactionHash', (hash) => console.log('hash', hash))
.on('mined', (receipt) => console.log('Mined in block', receipt.blockNumber))
.on('confirmations', (confirmations) => console.log('confirmations', confirmations))
console.log('receipt', receipt)
})
})
})