2018-12-01 20:32:00 +00:00
|
|
|
import LPVault from 'Embark/contracts/LPVault'
|
2018-12-21 19:31:46 +00:00
|
|
|
import LiquidPledging from 'Embark/contracts/LiquidPledging'
|
2018-12-01 20:32:00 +00:00
|
|
|
import StandardToken from 'Embark/contracts/StandardToken'
|
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;
|
|
|
|
|
|
|
|
|
2018-12-21 19:31:46 +00:00
|
|
|
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
|
|
|
|
2018-12-21 19:31:46 +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 () => {
|
2018-12-21 19:31:46 +00:00
|
|
|
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 () => {
|
2018-12-01 22:16:58 +00:00
|
|
|
const { approve } = StandardToken.methods
|
2018-12-21 19:31:46 +00:00
|
|
|
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 } = StandardToken.methods
|
2018-12-01 20:32:00 +00:00
|
|
|
const account = await web3.eth.getCoinbase()
|
2018-12-21 19:31:46 +00:00
|
|
|
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
|
|
|
}
|