@trezor/connect
Version:
High-level javascript interface for Trezor hardware wallet.
45 lines • 1.76 kB
JavaScript
;
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