OSDN Git Service

update the font-end version to multiple network.
authorZhiting Lin <zlin035@uottawa.ca>
Tue, 19 Feb 2019 09:08:58 +0000 (17:08 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Tue, 19 Feb 2019 09:08:58 +0000 (17:08 +0800)
src/components/App.js
src/components/bytom.js
src/components/constants.js
src/components/layout/account/action.js
src/components/layout/account/index.jsx
src/components/layout/profit/action.js
src/components/layout/profit/index.jsx
src/components/layout/save/action.js
src/components/layout/save/index.jsx

index 3f7875e..566a2f8 100644 (file)
@@ -9,7 +9,7 @@ import Account from './layout/account'
 import bytomWrap from './layout/bytomWrap'
 
 
-import { assetDeposited, assetBill } from "./constants";
+import GetContractArgs from "./constants";
 
 const App = () => (
   <div>
@@ -33,13 +33,13 @@ const Constants = () =>(
             <td>
               <span className="mr-5">Deposit Asset ID: </span>
             </td>
-            <td>{assetDeposited}</td>
+            <td>{GetContractArgs().assetDeposited}</td>
           </tr>
           <tr>
             <td>
               <span className="mr-5">Bill Asset ID: </span>
             </td>
-            <td>{assetBill}</td>
+            <td>{GetContractArgs().assetBill}</td>
           </tr>
         </tbody>
       </table>
index d9e363c..6b28e71 100644 (file)
@@ -58,56 +58,57 @@ export function listAddress(guid)
 
 export function listDappUTXO(params)
 {
-  const url = "/dapp/list-utxos"
-  return axios({
-    method: 'post',
-    url,
-    data: params
-  }).then(response => {
-    if(response.data.code === 200){
-      return response.data.result.data[0];
-    }
-    else {
-      throw response.data.msg
-    }
-  })
+  let url
+  switch (window.bytom.defaultAccount.net){
+    case "testnet":
+      url = "/dapptestnet/list-utxos"
+      break
+    default:
+      url = "/dapp/list-utxos"
+  }
+  return post(url, params).then(resp => resp.data[0])
 }
 
 export function updateUtxo(params)
 {
-  const url = "/dapp/update-utxo"
-  return axios({
-    method: 'post',
-    url,
-    data: params
-  }).then(response => {
-    if(response.data.code === 200){
-      return response.data.result;
-    }else{
-      throw response.data.msg
-    }
-  })
+  let url
+  switch (window.bytom.defaultAccount.net) {
+    case "testnet":
+      url = "/dapptestnet/update-utxo"
+      break
+    default:
+      url = "/dapp/update-utxo"
+  }
+  return post(url, params)
 }
 
 export function updateBalances(params)
 {
-  const url = "/dapp/update-balance"
-  return axios({
-    method: 'post',
-    url,
-    data: params
-  }).then(response => {
-    if(response.data.code === 200){
-      return response.data.result;
-    }else{
-      throw response.data.msg
-    }
-  })
+  let url
+  switch (window.bytom.defaultAccount.net) {
+    case "testnet":
+      url = "/dapptestnet/update-balance"
+      break
+    default:
+      url = "/dapp/update-balance"
+  }
+  return post(url, params)
 }
 
 export function listBalances(params)
 {
-  const url = "/dapp/list-balances"
+  let url
+  switch (window.bytom.defaultAccount.net) {
+    case "testnet":
+      url = "/dapptestnet/list-balances"
+      break
+    default:
+      url = "/dapp/list-balances"
+  }
+  return post(url, params)
+}
+
+function post(url, params){
   return axios({
     method: 'post',
     url,
index 6d86683..5e20bfa 100644 (file)
@@ -1,17 +1,58 @@
-export const depositProgram = "207d4b5c1f33bbd758ddc74e32c044bbd455b67f8ce90ce4add22def142bb2c5d8160014ed6c9062d3174230d53e916d616f132932c635fd02260202f40102f4010600204aa9d101050010a5d4e8200bb838d531a29dc96114cad8b86aa577fc1b22a683745eba53cde03c6850fba84d4302597a64370200005479cda069c35b790400e1f5059600a05c797ba19a53795579a19a695a790400e1f5059653790400e1f505967800a07800a09a6955797b957c9600a069c35b797c9f9161645b010000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec169515b79c2515d79c16952c35c7994c251005d79895c79895b79895a79895979895879895779895679895579890274787e008901c07ec1696332020000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec16951c3c2515d79c1696343020000547acd9f69587a587aae7cac747800c0"
-export const profitProgram = "207d4b5c1f33bbd758ddc74e32c044bbd455b67f8ce90ce4add22def142bb2c5d8160014ed6c9062d3174230d53e916d616f132932c635fd02260202f4010600204aa9d101050010a5d4e8200d8848b58ba5f5e0143c96af8c83e109fc31cafd1cc5d687fde3f55e68aa89e64ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac747800c0"
+let depositProgram
+let profitProgram
+let assetDeposited
+let assetBill
+let totalAmountBill
+let totalAmountCapital
+let dueBlockHeight
+let expireBlockHeight
+let banker
 
-export const assetDeposited = "0bb838d531a29dc96114cad8b86aa577fc1b22a683745eba53cde03c6850fba8"
-export const assetBill = "0d8848b58ba5f5e0143c96af8c83e109fc31cafd1cc5d687fde3f55e68aa89e6"
+const btm = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+const gas = 0.4
 
-export const totalAmountBill = 10000000000
-export const totalAmountCapital = 20000000000
-export const dueBlockHeight = 500
-export const expireBlockHeight = 550
+const GetContractArgs = function() {
+  let network = window.bytom.defaultAccount.net
 
-export const banker = "0014ed6c9062d3174230d53e916d616f132932c635fd"
+  switch (network) {
+    case 'mainnet':
+      break
+    case 'testnet':
+      depositProgram = "20f39af759065598406ca988f0dd79af9175dd7adcbe019317a2d605578b1597ac1600147211ec12410ce8bd0d71cab0a29be3ea61c71eb103c8260203da240203da2402060080f420e6b50600407a10f35a2000d38a1c946e8cba1a69493240f281cd925002a43b81f516c4391b5fb2ffdacd4d4302597a64370200005479cda069c35b790400e1f5059600a05c797ba19a53795579a19a695a790400e1f5059653790400e1f505967800a07800a09a6955797b957c9600a069c35b797c9f9161645b010000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec169515b79c2515d79c16952c35c7994c251005d79895c79895b79895a79895979895879895779895679895579890274787e008901c07ec1696332020000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec16951c3c2515d79c1696343020000547acd9f69587a587aae7cac747800c0"
+      profitProgram = "20f39af759065598406ca988f0dd79af9175dd7adcbe019317a2d605578b1597ac1600147211ec12410ce8bd0d71cab0a29be3ea61c71eb103c8260203da2402060080f420e6b50600407a10f35a20f855baf98778a892bad0371f5afca845191824dc8584585d566fbbc8ef1f304c4ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac747800c0"
+      assetDeposited = "00d38a1c946e8cba1a69493240f281cd925002a43b81f516c4391b5fb2ffdacd"
+      assetBill = "f855baf98778a892bad0371f5afca845191824dc8584585d566fbbc8ef1f304c"
+      totalAmountBill = 100000000000000
+      totalAmountCapital = 200000000000000
+      dueBlockHeight = 140506
+      expireBlockHeight = 140506
+      banker = "00147211ec12410ce8bd0d71cab0a29be3ea61c71eb1"
+      break
+    default:
+      depositProgram = "207d4b5c1f33bbd758ddc74e32c044bbd455b67f8ce90ce4add22def142bb2c5d8160014ed6c9062d3174230d53e916d616f132932c635fd02260202f40102f4010600204aa9d101050010a5d4e8200bb838d531a29dc96114cad8b86aa577fc1b22a683745eba53cde03c6850fba84d4302597a64370200005479cda069c35b790400e1f5059600a05c797ba19a53795579a19a695a790400e1f5059653790400e1f505967800a07800a09a6955797b957c9600a069c35b797c9f9161645b010000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec169515b79c2515d79c16952c35c7994c251005d79895c79895b79895a79895979895879895779895679895579890274787e008901c07ec1696332020000005b79c2547951005e79895d79895c79895b7989597989587989537a894ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac890274787e008901c07ec16951c3c2515d79c1696343020000547acd9f69587a587aae7cac747800c0"
+      profitProgram = "207d4b5c1f33bbd758ddc74e32c044bbd455b67f8ce90ce4add22def142bb2c5d8160014ed6c9062d3174230d53e916d616f132932c635fd02260202f4010600204aa9d101050010a5d4e8200d8848b58ba5f5e0143c96af8c83e109fc31cafd1cc5d687fde3f55e68aa89e64ca4587a64980000005479cd9f6959790400e1f5059653790400e1f505967800a07800a09a5c7956799f9a6955797b957c967600a069c3787c9f91616481000000005b795479515b79c1695178c2515d79c16952c3527994c251005d79895c79895b79895a79895979895879895779895679890274787e008901c07ec1696393000000005b795479515b79c16951c3c2515d79c16963a4000000557acd9f69577a577aae7cac747800c0"
+      assetDeposited = "0bb838d531a29dc96114cad8b86aa577fc1b22a683745eba53cde03c6850fba8"
+      assetBill = "0d8848b58ba5f5e0143c96af8c83e109fc31cafd1cc5d687fde3f55e68aa89e6"
+      totalAmountBill = 10000000000
+      totalAmountCapital = 20000000000
+      dueBlockHeight = 500
+      expireBlockHeight = 550
+      banker = "0014ed6c9062d3174230d53e916d616f132932c635fd"
+  }
 
+  return {
+      depositProgram,
+      profitProgram,
+      assetDeposited,
+      assetBill,
+      totalAmountBill,
+      totalAmountCapital,
+      dueBlockHeight,
+      expireBlockHeight,
+      banker,
+      btm,
+      gas
+    };
+}
 
-export const btm = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
-export const gas = 0.4
-
+export default GetContractArgs;
\ No newline at end of file
index 5fd8756..fd5241e 100644 (file)
@@ -1,15 +1,15 @@
 import { listAddress } from '../../bytom'
 
 
-import { assetDeposited, assetBill } from "../../constants";
+import GetContractArgs from "../../constants";
 
 const updateBalances = (guid = '') => {
   return (dispatch) => {
     return listAddress(guid)
       .then((resp)=>{
         const balances = resp.balances
-        const billBalance = balances.filter(balance => balance.asset === assetBill)
-        const depositBalance = balances.filter(balance => balance.asset === assetDeposited)
+        const billBalance = balances.filter(balance => balance.asset === GetContractArgs().assetBill)
+        const depositBalance = balances.filter(balance => balance.asset === GetContractArgs().assetDeposited)
         if(billBalance.length === 1){
           dispatch({
             type: "UPDATE_BILL_ASSET_BALANCES",
index 7734d6f..05477d7 100644 (file)
@@ -4,7 +4,7 @@ import React, {
 import { connect } from "react-redux"
 import jdenticon from "jdenticon"
 import action from "./action";
-import {assetDeposited, assetBill} from "../../constants";
+import GetContractArgs from "../../constants";
 import { listBalances } from '../../bytom'
 
 class Account extends Component {
@@ -27,7 +27,7 @@ class Account extends Component {
       this.setState({ account })
       if(account){
         this.props.updateBalances(account.guid)
-        this.listBalance(account, assetDeposited)
+        this.listBalance(account, GetContractArgs().assetDeposited)
       }
     }
   }
@@ -94,11 +94,11 @@ class Account extends Component {
             <ul className="nav nav-pills mb-3" id="pills-tab" role="tablist">
               <li className="nav-item">
                 <a className="nav-link active" id="pills-home-tab" data-toggle="pill"
-                   href="#pills-deposit" onClick={() => this.listBalance(account, assetDeposited)} role="tab" aria-controls="pills-deposit" aria-selected="true">Deposit Asset Record</a>
+                   href="#pills-deposit" onClick={() => this.listBalance(account, GetContractArgs().assetDeposited)} role="tab" aria-controls="pills-deposit" aria-selected="true">Deposit Asset Record</a>
               </li>
               <li className="nav-item">
                 <a className="nav-link" id="pills-profile-tab" data-toggle="pill"
-                   href="#pills-profit" onClick={() => this.listBalance(account, assetBill)} role="tab" aria-controls="pills-profit" aria-selected="false">Bill Asset Record</a>
+                   href="#pills-profit" onClick={() => this.listBalance(account, GetContractArgs().assetBill)} role="tab" aria-controls="pills-profit" aria-selected="false">Bill Asset Record</a>
               </li>
             </ul>
             <div className="tab-content" id="pills-tabContent">
index c6c4c6c..5a382b4 100644 (file)
@@ -2,15 +2,19 @@ import {
   spendUTXOAction, spendWalletAction, controlProgramAction, controlAddressAction,
   updateBalances, updateUtxo, listDappUTXO, contractArguments
 } from '../../bytom'
-import {profitProgram, assetDeposited, assetBill, gas, banker, totalAmountBill, totalAmountCapital} from "../../constants";
+import GetContractArgs from "../../constants";
 
 export function FixedLimitProfit(account, amountBill, saver) {
-  return new Promise((resolve, reject) => {
     return listDappUTXO({
-      "program": profitProgram,
-      "asset": assetDeposited
+      "program": GetContractArgs().profitProgram,
+      "asset": GetContractArgs().assetDeposited
     }).then(resp => {
 
+      if(resp.length === 0) {
+        throw 'cannot load UTXO info.'
+        return
+      }
+
       const capitalAmount = resp.amount
       const capitalAsset = resp.asset
       const utxo = resp.hash
@@ -28,18 +32,18 @@ export function FixedLimitProfit(account, amountBill, saver) {
         const args = contractArguments(amountBill, saver)
 
         input.push(spendUTXOAction(utxo))
-        input.push(spendWalletAction(amountBill, assetBill))
+        input.push(spendWalletAction(amountBill, GetContractArgs().assetBill))
 
         if(amountBill < capitalAmount){
-          output.push(controlProgramAction(amountBill, assetBill, banker ))
+          output.push(controlProgramAction(amountBill, GetContractArgs().assetBill, GetContractArgs().banker ))
           output.push(controlAddressAction(gain, capitalAsset, saver))
-          output.push(controlProgramAction((capitalAmount - gain), capitalAsset, profitProgram))
+          output.push(controlProgramAction((capitalAmount - gain), capitalAsset, GetContractArgs().profitProgram))
         }else{
-          output.push(controlProgramAction(amountBill, assetBill, banker ))
+          output.push(controlProgramAction(amountBill, GetContractArgs().assetBill, GetContractArgs().banker ))
           output.push(controlAddressAction(capitalAmount, capitalAsset, saver))
         }
 
-        window.bytom.advancedTransfer(account, input, output, gas*10000000, args)
+        window.bytom.advancedTransfer(account, input, output, GetContractArgs().gas*10000000, args, 1)
           .then((resp) => {
             if(resp.action === 'reject'){
               reject('user reject the request')
@@ -48,12 +52,12 @@ export function FixedLimitProfit(account, amountBill, saver) {
                 .then(()=>{
                   updateBalances({
                     "address": saver,
-                    "asset": assetDeposited,
-                    "amount": amountBill*totalAmountCapital/totalAmountBill
+                    "asset": GetContractArgs().assetDeposited,
+                    "amount": amountBill*GetContractArgs().totalAmountCapital/GetContractArgs().totalAmountBill
                   }).then(()=>{
                     updateBalances({
                       "address": account.address,
-                      "asset": assetBill,
+                      "asset": GetContractArgs().assetBill,
                       "amount": -amountBill
                     }).then(()=>{
                       resolve()
@@ -63,7 +67,7 @@ export function FixedLimitProfit(account, amountBill, saver) {
                   }).catch(err => {
                     throw err
                   })
-                })
+                  })
                 .catch(err => {
                   throw err
                 })
@@ -76,5 +80,6 @@ export function FixedLimitProfit(account, amountBill, saver) {
     }).catch(err => {
       reject(err)
     })
-  })
 }
+
+
index 56e1950..658ec12 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react'
 import { FixedLimitProfit } from './action'
-import {dueBlockHeight, gas, totalAmountBill, totalAmountCapital} from "../../constants";
+import GetContractArgs from "../../constants";
 
 class Profit extends React.Component {
 
@@ -47,7 +47,7 @@ class Profit extends React.Component {
       .then(()=> {
         this.setState({
           error:'',
-          msg:`Submit success!!! you spent ${amount} bill asset, and gain ${amount*totalAmountCapital/totalAmountBill} deposit asset.`
+          msg:`Submit success!!! you spent ${amount} bill asset, and gain ${amount*GetContractArgs().totalAmountCapital/GetContractArgs().totalAmountBill} deposit asset.`
         })
       }).catch(err => {
       this.setState({
@@ -62,8 +62,8 @@ class Profit extends React.Component {
       <div>
         <h2>Profit</h2>
         <div className="mt-3 mb-4">
-          <p className='lead'>Profit should get above the block height {dueBlockHeight}.</p>
-          <p className='lead'>Send {this.state.amount} Bill Asset from your chrome extension account <b className="font-weight-bolder text-uppercase">{this.state.account && this.state.account.alias}</b>, and the address {this.state.address} will gain {this.state.amount*totalAmountCapital/totalAmountBill || ''} Deposit Asset.</p>
+          <p className='lead'>Profit should get above the block height {GetContractArgs().dueBlockHeight}.</p>
+          <p className='lead'>Send {this.state.amount} Bill Asset from your chrome extension account <b className="font-weight-bolder text-uppercase">{this.state.account && this.state.account.alias}</b>, and the address {this.state.address} will gain {this.state.amount*GetContractArgs().totalAmountCapital/GetContractArgs().totalAmountBill || ''} Deposit Asset.</p>
         </div>
         <form onSubmit={this.handleSubmit}>
           <div className="form-group">
@@ -86,7 +86,7 @@ class Profit extends React.Component {
               value={this.state.address}
               onChange={this.handleInputChange} />
           </div>
-          <p>Fee:  {gas} BTM</p>
+          <p>Fee:  {GetContractArgs().gas} BTM</p>
           <button type="submit" className="btn btn-primary">Profit to address</button>
           {this.state.msg && <div className="alert alert-success mt-4" role="alert">
             {this.state.msg}
index d30122f..e1f6ab5 100644 (file)
@@ -1,17 +1,15 @@
 import {
   spendUTXOAction, spendWalletAction, controlProgramAction,
-  controlAddressAction, listDappUTXO, updateUtxo ,updateBalances,
+  controlAddressAction, listDappUTXO, updateUtxoupdateBalances,
   contractArguments
 } from '../../bytom'
-import {
-  depositProgram, profitProgram, assetDeposited, assetBill, gas
-} from "../../constants";
+import GetContractArgs from "../../constants";
 
 export function FixedLimitDeposit(account, amount, address) {
   return new Promise((resolve, reject) => {
     return listDappUTXO({
-      "program": depositProgram,
-      "asset": assetBill
+      "program": GetContractArgs().depositProgram,
+      "asset": GetContractArgs().assetBill
     }).then(resp => {
       const billAmount = resp.amount
       const billAsset = resp.asset
@@ -26,18 +24,18 @@ export function FixedLimitDeposit(account, amount, address) {
         const args = contractArguments(amount, address)
 
         input.push(spendUTXOAction(utxo))
-        input.push(spendWalletAction(amount, assetDeposited))
+        input.push(spendWalletAction(amount, GetContractArgs().assetDeposited))
 
         if(amount < billAmount){
-          output.push(controlProgramAction(amount, assetDeposited, profitProgram))
+          output.push(controlProgramAction(amount, GetContractArgs().assetDeposited, GetContractArgs().profitProgram))
           output.push(controlAddressAction(amount, billAsset, address))
-          output.push(controlProgramAction((billAmount-amount), billAsset, depositProgram))
+          output.push(controlProgramAction((billAmount-amount), billAsset, GetContractArgs().depositProgram))
         }else{
-          output.push(controlProgramAction(amount, assetDeposited, profitProgram))
+          output.push(controlProgramAction(amount, GetContractArgs().assetDeposited, GetContractArgs().profitProgram))
           output.push(controlAddressAction(billAmount, billAsset, address))
         }
 
-        window.bytom.advancedTransfer(account, input, output, gas*10000000, args)
+        window.bytom.advancedTransfer(account, input, output, GetContractArgs().gas*10000000, args, 1)
           .then((resp) => {
             if(resp.action === 'reject'){
               reject('user reject the request')
@@ -46,12 +44,12 @@ export function FixedLimitDeposit(account, amount, address) {
                 .then(()=>{
                   updateBalances({
                     address,
-                    "asset": assetDeposited,
+                    "asset": GetContractArgs().assetDeposited,
                     "amount": -amount
                   }).then(()=>{
                     updateBalances({
                       address,
-                      "asset": assetBill,
+                      "asset": GetContractArgs().assetBill,
                       "amount": amount
                     }).then(()=>{
                       resolve()
index 46654b9..4362cc5 100644 (file)
@@ -1,6 +1,7 @@
 import React from 'react'
 import { FixedLimitDeposit} from './action'
-import { dueBlockHeight, gas } from '../../constants'
+import GetContractArgs from '../../constants'
+import {transactionOnChain} from '../../bytom'
 
 class Save extends React.Component {
 
@@ -62,7 +63,7 @@ class Save extends React.Component {
       <div>
         <h2>Deposit</h2>
         <div className="mt-3 mb-4">
-          <p className='lead'>Deposit should happen under the block height {dueBlockHeight}.</p>
+          <p className='lead'>Deposit should happen under the block height {GetContractArgs().dueBlockHeight}.</p>
           <p className='lead' >Spend {this.state.amount} Deposit Asset from your current chrome extension account <b className="font-weight-bolder text-uppercase">{this.state.account&&this.state.account.alias}</b> and you will get the relevant {this.state.amount} Bill Asset.</p>
           <p>Please make sure that your account has enough Deposit Asset.</p>
         </div>
@@ -77,7 +78,7 @@ class Save extends React.Component {
               value={this.state.amount}
               onChange={this.handleInputChange} />
           </div>
-          <p>Fee:  {gas} BTM</p>
+          <p>Fee:  {GetContractArgs().gas} BTM</p>
           <button type="submit" className="btn btn-primary">Spend Asset</button>
 
           {this.state.msg && <div className="alert alert-success mt-4" role="alert">