@kaiachain/web3js-ext
Version:
web3.js extension for kaiachain blockchain
50 lines (49 loc) • 2.52 kB
JavaScript
;
// Analogous to https://github.com/web3/web3.js/blob/v4.3.0/packages/web3-eth/src/web3_eth.ts
// Create web3.eth.* functions bound to the given Web3Context.
Object.defineProperty(exports, "__esModule", { value: true });
exports.context_getProtocolVersion = context_getProtocolVersion;
exports.context_sendTransaction = context_sendTransaction;
exports.context_sendSignedTransaction = context_sendSignedTransaction;
exports.context_signTransaction = context_signTransaction;
const web3_types_1 = require("web3-types");
const rpc_js_1 = require("./rpc.js");
const send_js_1 = require("./send.js");
const sign_js_1 = require("./sign.js");
// Analogous to: web3-eth/src/web3_eth.ts:Web3Eth.getProtocolVersion()
// Replaces: web3.eth.getProtocolVersion()
// Because: eth_getProtocolVersion is not supported in Klaytn node.
function context_getProtocolVersion(context) {
return async () => {
return (0, rpc_js_1.getProtocolVersion)(context.requestManager);
};
}
// Analogous to: web3-eth/src/web3_eth.ts:Web3Eth.sendTransaction()
// Replaces: web3.eth.sendTransaction()
// Because: eth_sendTransaction cannot accept Klaytn TxTypes.
// For Klaytn TxTypes, call klay_sendTransaction instead.
// Optionally converts tx.type field to Kaikas-friendly.
function context_sendTransaction(context) {
return function (transaction, returnFormat = web3_types_1.DEFAULT_RETURN_FORMAT, options) {
return (0, send_js_1.sendTransaction)(context, transaction, returnFormat, options);
};
}
// Analogous to: web3-eth/src/web3_eth.ts:Web3Eth.sendSignedTransaction()
// Replaces: web3.eth.sendSignedTransaction()
// Because: eth_sendRawTransaction cannot accept Klaytn TxTypes.
// For Klaytn TxTypes, call klay_sendRawTransaction instead.
function context_sendSignedTransaction(context) {
return function (transaction, returnFormat = web3_types_1.DEFAULT_RETURN_FORMAT, options) {
return (0, send_js_1.sendSignedTransaction)(context, transaction, returnFormat, options);
};
}
// Analogous to: web3-eth/src/web3_eth.ts:Web3Eth.signTransaction()
// Replaces: web3.eth.signTransaction()
// Because: eth_signTransaction cannot accept Klaytn TxTypes.
// For Klaytn TxTypes, call klay_signTransaction instead.
// Optionally converts tx.type field to Kaikas-friendly.
function context_signTransaction(context) {
return function (transaction, returnFormat = web3_types_1.DEFAULT_RETURN_FORMAT) {
return (0, sign_js_1.signTransaction)(context, transaction, returnFormat);
};
}