liquid-funding/app/utils/initialize.js

44 lines
1.3 KiB
JavaScript
Raw Normal View History

2018-12-01 20:32:00 +00:00
import LPVault from 'Embark/contracts/LPVault'
import LiquidPledging from 'Embark/contracts/LiquidPledging'
import SNT from 'Embark/contracts/SNT'
2018-12-08 17:52:22 +00:00
import web3 from 'Embark/web3'
2018-12-01 20:32:00 +00:00
2018-12-01 22:16:58 +00:00
export const initVaultAndLP = async () => {
2018-12-10 19:04:31 +00:00
let estimateGas;
let toSend;
toSend = LiquidPledging.methods.initialize(LPVault._address);
2018-12-10 19:04:31 +00:00
estimateGas = await toSend.estimateGas();
const lpInit = await toSend.send({gas: estimateGas + 1000})
2018-12-01 14:31:04 +00:00
console.log(lpInit)
2018-12-10 19:04:31 +00:00
toSend = LPVault.methods.initialize(LiquidPledging._address);
2018-12-10 19:04:31 +00:00
estimateGas = await toSend.estimateGas();
const vaultInit = await toSend.send({gas: estimateGas + 1000})
2018-12-08 17:52:22 +00:00
console.log(vaultInit)
2018-12-01 14:31:04 +00:00
}
2018-12-01 20:32:00 +00:00
export const vaultPledgingNeedsInit = async () => {
const needsInit = !!Number(await LiquidPledging.methods.getInitializationBlock().call())
2018-12-08 17:52:22 +00:00
&& !!Number(await LPVault.methods.getInitializationBlock().call())
2018-12-01 20:32:00 +00:00
return needsInit
}
export const standardTokenApproval = async () => {
const { approve } = SNT.methods
const spender = LiquidPledging._address
2018-12-01 22:16:58 +00:00
return await approve(
spender,
web3.utils.toWei('10000000', 'tether')
).send()
}
export const getLpAllowance = async () => {
const { allowance } = SNT.methods
2018-12-01 20:32:00 +00:00
const account = await web3.eth.getCoinbase()
const spender = LiquidPledging._address
2018-12-01 20:32:00 +00:00
const allowanceAmt = Number(await allowance(account, spender).call())
2018-12-01 22:16:58 +00:00
return allowanceAmt
2018-12-01 20:32:00 +00:00
}