@kaiachain/web3js-ext
Version:
web3.js extension for kaiachain blockchain
44 lines (43 loc) • 2.17 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.
import { DEFAULT_RETURN_FORMAT, } from "web3-types";
import { getProtocolVersion } from "./rpc.js";
import { sendTransaction, sendSignedTransaction } from "./send.js";
import { signTransaction } from "./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.
export function context_getProtocolVersion(context) {
return async () => {
return 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.
export function context_sendTransaction(context) {
return function (transaction, returnFormat = DEFAULT_RETURN_FORMAT, options) {
return 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.
export function context_sendSignedTransaction(context) {
return function (transaction, returnFormat = DEFAULT_RETURN_FORMAT, options) {
return 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.
export function context_signTransaction(context) {
return function (transaction, returnFormat = DEFAULT_RETURN_FORMAT) {
return signTransaction(context, transaction, returnFormat);
};
}