liquid-funding/app/utils/initialize.js

44 lines
1.4 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 (contract, amount = '10000000') => {
const { methods: { approve } } = contract || SNT
const spender = LiquidPledging._address
2018-12-01 22:16:58 +00:00
return await approve(
spender,
web3.utils.toWei(amount, 'tether')
2018-12-01 22:16:58 +00:00
).send()
}
export const getLpAllowance = async contract => {
const { methods: { allowance } } = contract || SNT
2018-12-01 20:32:00 +00:00
const account = await web3.eth.getCoinbase()
const spender = LiquidPledging._address
const allowanceAmt = await allowance(account, spender).call()
2018-12-01 22:16:58 +00:00
return allowanceAmt
2018-12-01 20:32:00 +00:00
}