diff --git a/app/dapp.js b/app/dapp.js index 1a4d43f..033f5b6 100644 --- a/app/dapp.js +++ b/app/dapp.js @@ -4,9 +4,10 @@ import LPVault from 'Embark/contracts/LPVault'; import LiquidPledgingMock from 'Embark/contracts/LiquidPledgingMock'; import web3 from "Embark/web3"; import Divider from '@material-ui/core/Divider'; +import Button from '@material-ui/core/Button'; import AddFunder from './components/AddFunder'; import CreateFunding from './components/CreateFunding'; -import { initVaultAndLP, vaultPledgingNeedsInit, standardTokenApproval } from './utils/initialize' +import { initVaultAndLP, vaultPledgingNeedsInit, standardTokenApproval, getLpAllowance } from './utils/initialize' const { getNetworkType } = web3.eth.net; @@ -21,21 +22,30 @@ class App extends React.Component { getNetworkType().then(async network => { const { environment } = EmbarkJS const needsInit = await vaultPledgingNeedsInit(); - this.setState({ network, environment }) - - //methods during testing to help setup - if (environment === 'development') standardTokenApproval() - if (!needsInit) initVaultAndLP(LiquidPledgingMock, LPVault) + const lpAllowance = await getLpAllowance(); + this.setState({ + network, + environment, + needsInit: needsInit === 0, + lpAllowance + }) }); }); } render() { + const { needsInit, lpAllowance } = this.state; return (
+ {needsInit && } +
) } diff --git a/app/utils/currencies.js b/app/utils/currencies.js index ac44797..71f2759 100644 --- a/app/utils/currencies.js +++ b/app/utils/currencies.js @@ -1,3 +1,5 @@ +import StandardToken from 'Embark/contracts/StandardToken' + export const TOKEN_ICON_API = 'https://raw.githubusercontent.com/TrustWallet/tokens/master/images' export const TOKEN_COIN_API = 'https://raw.githubusercontent.com/TrustWallet/tokens/master/coins' export const currencies = [ @@ -15,7 +17,7 @@ export const currencies = [ label: 'DAI', }, { - value: '0xd8a512EBD6fd82f44dFFD968EEB0835265497d20', + value: StandardToken._address, label: 'Standard Token', icon: '🤔', } diff --git a/app/utils/initialize.js b/app/utils/initialize.js index 9db6b32..dcb157e 100644 --- a/app/utils/initialize.js +++ b/app/utils/initialize.js @@ -3,10 +3,10 @@ import LiquidPledgingMock from 'Embark/contracts/LiquidPledgingMock' import StandardToken from 'Embark/contracts/StandardToken' import web3 from "Embark/web3" -export const initVaultAndLP = async (lp, vault) => { - const vaultInit = await vault.methods.initialize(lp._address).send() +export const initVaultAndLP = async () => { + const vaultInit = await LPVault.methods.initialize(LiquidPledgingMock._address).send() console.log(vaultInit) - const lpInit = await lp.methods.initialize(vault._address).send() + const lpInit = await LiquidPledgingMock.methods.initialize(LPVault._address).send() console.log(lpInit) } @@ -17,14 +17,18 @@ export const vaultPledgingNeedsInit = async () => { } export const standardTokenApproval = async () => { - const { approve, allowance } = StandardToken.methods + const { approve } = StandardToken.methods + const spender = LiquidPledgingMock._address + return await approve( + spender, + web3.utils.toWei('10000000', 'tether') + ).send() +} + +export const getLpAllowance = async () => { + const { allowance } = StandardToken.methods const account = await web3.eth.getCoinbase() const spender = LiquidPledgingMock._address const allowanceAmt = Number(await allowance(account, spender).call()) - if (allowanceAmt < 1000) { - return await approve( - spender, - web3.utils.toWei('10000000', 'tether') - ).send() - } + return allowanceAmt }