44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
const path = require('path')
|
|
const { user } = require('../constants.json')
|
|
const contractsPath = '../../contracts'
|
|
require('dotenv').config({
|
|
path: path.join(__dirname, contractsPath, '/deploy/.env')
|
|
})
|
|
|
|
const { deployContract, sendRawTxHome, privateKeyToAddress } = require(`${contractsPath}/deploy/src/deploymentUtils`)
|
|
const { web3Home, deploymentPrivateKey } = require(`${contractsPath}/deploy/src/web3`)
|
|
const ERC677BridgeTokenRewardable = require(`${contractsPath}/build/contracts/ERC677BridgeTokenRewardable.json`)
|
|
|
|
const { DEPLOYMENT_ACCOUNT_PRIVATE_KEY } = process.env
|
|
const DEPLOYMENT_ACCOUNT_ADDRESS = privateKeyToAddress(DEPLOYMENT_ACCOUNT_PRIVATE_KEY)
|
|
|
|
async function deployBridgeTokenRewardable() {
|
|
try {
|
|
let homeNonce = await web3Home.eth.getTransactionCount(DEPLOYMENT_ACCOUNT_ADDRESS)
|
|
console.log('\n[Home] Deploying ERC677BridgeTokenRewardable Test token')
|
|
const stakeToken = await deployContract(ERC677BridgeTokenRewardable, ['STAKE', 'STAKE', '18', '77'], {
|
|
from: DEPLOYMENT_ACCOUNT_ADDRESS,
|
|
network: 'home',
|
|
nonce: homeNonce
|
|
})
|
|
homeNonce++
|
|
console.log('[Home] Stake Token: ', stakeToken.options.address)
|
|
|
|
const mintData = await stakeToken.methods
|
|
.mint(user.address, '500000000000000000000')
|
|
.encodeABI({ from: DEPLOYMENT_ACCOUNT_ADDRESS })
|
|
await sendRawTxHome({
|
|
data: mintData,
|
|
nonce: homeNonce,
|
|
to: stakeToken.options.address,
|
|
privateKey: deploymentPrivateKey,
|
|
url: process.env.HOME_RPC_URL
|
|
})
|
|
} catch (e) {
|
|
console.log(e)
|
|
throw e
|
|
}
|
|
}
|
|
|
|
deployBridgeTokenRewardable()
|