site-activity-chain/src/controllers/token.controllers.ts
2023-05-31 14:04:47 +08:00

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