diff --git a/server/web3sign/controllers/erc.js b/server/web3sign/controllers/erc.js index d2a7ab3..132778d 100644 --- a/server/web3sign/controllers/erc.js +++ b/server/web3sign/controllers/erc.js @@ -11,6 +11,7 @@ async function approveErc20(session) { const netId = session.request('net_id'); const spender = bcutils.toNormalAddress(session.request('spender')); const value = session.request('value'); + const currencyName = session.request('currency_name'); const bc = serviceFactory.create('BlockChain'); { const ret = await bc.init(netId); @@ -31,6 +32,24 @@ async function approveErc20(session) { return; } } + + const instance = bc.getInstanceByName(currencyName); + if (!instance) { + session.rspErr(500, 'currency error'); + return; + } + let data = instance.methods.approve + ( + spender, + value).encodeABI(); + + session.rspData({ + 'trans_id' : '', + 'trans_req': { + 'to': '', + 'data': data + } + }); } catch (e) { session.rspErr(1, 1); utils.safeDumpErrStack(e); diff --git a/server/web3sign/controllers/factory.js b/server/web3sign/controllers/factory.js index df3f67a..5d88699 100644 --- a/server/web3sign/controllers/factory.js +++ b/server/web3sign/controllers/factory.js @@ -9,7 +9,7 @@ async function init() { add('activate721nft'); add('nftunlock'); add('minthero'); - add('erc20'); + add('erc'); } exports.init = init;