增加发送eth的流程

This commit is contained in:
zhl 2023-06-08 18:01:35 +08:00
parent fd860f6dad
commit c22af27f48
2 changed files with 20 additions and 0 deletions

View File

@ -111,6 +111,21 @@ export class BlockChain {
return abi return abi
} }
public async sendEth({ from, to, amount }: { from: string; to: string; amount: number }) {
const amountToSend = this.web3.utils.toWei(amount + '', 'ether')
let gas = await this.web3.eth.estimateGas({
from,
to,
value: '0',
})
return this.web3.eth.sendTransaction({
from,
to,
gas: 21000,
value: amountToSend,
})
}
public async generateGasShow(gas: any): Promise<IPriceData> { public async generateGasShow(gas: any): Promise<IPriceData> {
let price = await new PriceSvr().refreshGasPrice() let price = await new PriceSvr().refreshGasPrice()
let ehtBN = safeNumberToBN(price).mul(safeNumberToBN(gas)) let ehtBN = safeNumberToBN(price).mul(safeNumberToBN(gas))

View File

@ -11,6 +11,7 @@ export enum TaskType {
TRANSFER_FT = 3, TRANSFER_FT = 3,
TRANSFER_NFT = 4, TRANSFER_NFT = 4,
PUBLISH_AIRDROP_LIST = 5, PUBLISH_AIRDROP_LIST = 5,
TRANSFER_ETH = 6,
} }
export const TaskTypeMap = new Map([ export const TaskTypeMap = new Map([
@ -20,6 +21,7 @@ export const TaskTypeMap = new Map([
[TaskType.TRANSFER_FT, 'Ft转账'], [TaskType.TRANSFER_FT, 'Ft转账'],
[TaskType.TRANSFER_NFT, 'NFT转账'], [TaskType.TRANSFER_NFT, 'NFT转账'],
[TaskType.PUBLISH_AIRDROP_LIST, '公布空投名单'], [TaskType.PUBLISH_AIRDROP_LIST, '公布空投名单'],
[TaskType.TRANSFER_ETH, 'ETH转账'],
]) ])
export enum ReqTaskStatus { export enum ReqTaskStatus {
@ -110,6 +112,9 @@ export class RequestTaskClass extends BaseModule {
case TaskType.PUBLISH_AIRDROP_LIST: case TaskType.PUBLISH_AIRDROP_LIST:
result = await new BlockChain().distributorReactor.mintNft(self.reqData) result = await new BlockChain().distributorReactor.mintNft(self.reqData)
break break
case TaskType.TRANSFER_ETH:
result = await new BlockChain().sendEth(self.reqData)
break
} }
logger.info(result) logger.info(result)
let { transactionHash, gasUsed } = result let { transactionHash, gasUsed } = result