UNPKG

@trezor/connect

Version:

High-level javascript interface for Trezor hardware wallet.

45 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const BlockchainLink_1 = require("../backend/BlockchainLink"); const constants_1 = require("../constants"); const AbstractMethod_1 = require("../core/AbstractMethod"); const paramsValidator_1 = require("./common/paramsValidator"); const coinInfo_1 = require("../data/coinInfo"); class BlockchainEvmRpcCall extends AbstractMethod_1.AbstractMethod { init() { this.useDevice = false; this.useUi = false; const { payload } = this; (0, paramsValidator_1.validateParams)(payload, [ { name: 'coin', type: 'string', required: true }, { name: 'identity', type: 'string' }, { name: 'from', type: 'string' }, { name: 'to', type: 'string', required: true }, { name: 'data', type: 'string', required: true }, ]); const coinInfo = (0, coinInfo_1.getCoinInfo)(payload.coin); if (!coinInfo) { throw constants_1.ERRORS.TypedError('Method_UnknownCoin'); } (0, BlockchainLink_1.isBackendSupported)(coinInfo); this.params = { coinInfo, identity: payload.identity, request: { from: payload.from, to: payload.to, data: payload.data, }, }; } get info() { return 'Blockchain Evm Rpc Call'; } async run() { const backend = await (0, BlockchainLink_1.initBlockchain)(this.params.coinInfo, this.postMessage, this.params.identity); const response = await backend.rpcCall(this.params.request); return response; } } exports.default = BlockchainEvmRpcCall; //# sourceMappingURL=blockchainEvmRpcCall.js.map