35 lines
928 B
TypeScript
35 lines
928 B
TypeScript
import { BlockChain } from 'chain/BlockChain'
|
|
import { ZError } from 'common/ZError'
|
|
import BaseController from 'common/base.controller'
|
|
import { role, router } from 'decorators/router'
|
|
|
|
class TokenController extends BaseController {
|
|
@role('anon')
|
|
@router('post /chain/estimate_transfer_gas')
|
|
async calcTransPrice(req, res) {
|
|
const { address } = req.params
|
|
const bc = new BlockChain()
|
|
const account = bc.currentAccount
|
|
let gas = await bc.erc20Reactor.transfer({
|
|
address: address + '',
|
|
to: account,
|
|
amount: 0,
|
|
estimate: true,
|
|
})
|
|
let data = bc.generateGasShow(gas)
|
|
return data
|
|
}
|
|
|
|
@role('anon')
|
|
@router('post /chain/estimate_gas')
|
|
async calcGasPrice(req, res) {
|
|
let { gas } = req.params
|
|
if (!gas) {
|
|
throw new ZError(10, 'gas is required')
|
|
}
|
|
let data = new BlockChain().generateGasShow(gas)
|
|
return data
|
|
}
|
|
}
|
|
export default TokenController
|