Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

web3-eth

Package Overview
Dependencies
Maintainers
4
Versions
486
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

web3-eth - npm Package Compare versions

Comparing version 4.6.1-dev.de3e8f8.0 to 4.6.1-dev.e0fc158.0

5

lib/commonjs/index.d.ts

@@ -47,3 +47,6 @@ /**

export { detectTransactionType } from './utils/detect_transaction_type.js';
export { transactionBuilder } from './utils/transaction_builder.js';
export { transactionBuilder, getTransactionFromOrToAttr } from './utils/transaction_builder.js';
export { waitForTransactionReceipt } from './utils/wait_for_transaction_receipt.js';
export { trySendTransaction } from './utils/try_send_transaction.js';
export { SendTxHelper } from './utils/send_tx_helper.js';
export default Web3Eth;

9

lib/commonjs/index.js

@@ -33,3 +33,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.transactionBuilder = exports.detectTransactionType = void 0;
exports.SendTxHelper = exports.trySendTransaction = exports.waitForTransactionReceipt = exports.getTransactionFromOrToAttr = exports.transactionBuilder = exports.detectTransactionType = void 0;
/**

@@ -84,3 +84,10 @@ * The `web3-eth` package allows you to interact with an Ethereum blockchain and Ethereum smart contracts.

Object.defineProperty(exports, "transactionBuilder", { enumerable: true, get: function () { return transaction_builder_js_1.transactionBuilder; } });
Object.defineProperty(exports, "getTransactionFromOrToAttr", { enumerable: true, get: function () { return transaction_builder_js_1.getTransactionFromOrToAttr; } });
var wait_for_transaction_receipt_js_1 = require("./utils/wait_for_transaction_receipt.js");
Object.defineProperty(exports, "waitForTransactionReceipt", { enumerable: true, get: function () { return wait_for_transaction_receipt_js_1.waitForTransactionReceipt; } });
var try_send_transaction_js_1 = require("./utils/try_send_transaction.js");
Object.defineProperty(exports, "trySendTransaction", { enumerable: true, get: function () { return try_send_transaction_js_1.trySendTransaction; } });
var send_tx_helper_js_1 = require("./utils/send_tx_helper.js");
Object.defineProperty(exports, "SendTxHelper", { enumerable: true, get: function () { return send_tx_helper_js_1.SendTxHelper; } });
exports.default = web3_eth_js_1.Web3Eth;
//# sourceMappingURL=index.js.map
import { FormatType, DataFormat, EthExecutionAPI, Web3BaseWalletAccount, HexString, TransactionReceipt, Transaction, TransactionCall, TransactionWithFromLocalWalletIndex, TransactionWithToLocalWalletIndex, TransactionWithFromAndToLocalWalletIndex, TransactionHash } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { JsonSchema } from 'web3-validator';
import { SendSignedTransactionEvents, SendTransactionEvents, SendTransactionOptions } from '../types.js';

@@ -33,5 +34,6 @@ export declare class SendTxHelper<ReturnFormat extends DataFormat, ResolveType = FormatType<TransactionReceipt, ReturnFormat>, TxType = Transaction | TransactionWithFromLocalWalletIndex | TransactionWithToLocalWalletIndex | TransactionWithFromAndToLocalWalletIndex> {

}): Promise<unknown>;
emitConfirmation({ receipt, transactionHash, }: {
emitConfirmation({ receipt, transactionHash, customTransactionReceiptSchema, }: {
receipt: ResolveType;
transactionHash: TransactionHash;
customTransactionReceiptSchema?: JsonSchema;
}): void;

@@ -38,0 +40,0 @@ handleResolve({ receipt, tx }: {

@@ -72,3 +72,7 @@ "use strict";

if (this.options.checkRevertBeforeSending !== false) {
const reason = yield (0, get_revert_reason_js_1.getRevertReason)(this.web3Context, tx, this.options.contractAbi);
let formatTx = tx;
if ((0, web3_validator_1.isNullish)(tx.data) && (0, web3_validator_1.isNullish)(tx.input) && (0, web3_validator_1.isNullish)(tx.gas)) { // eth.call runs into error if data isnt filled and gas is not defined, its a simple transaction so we fill it with 21000
formatTx = Object.assign(Object.assign({}, tx), { gas: 21000 });
}
const reason = yield (0, get_revert_reason_js_1.getRevertReason)(this.web3Context, formatTx, this.options.contractAbi);
if (reason !== undefined) {

@@ -147,5 +151,5 @@ throw yield (0, get_transaction_error_js_1.getTransactionError)(this.web3Context, tx, undefined, undefined, this.options.contractAbi, reason);

}
emitConfirmation({ receipt, transactionHash, }) {
emitConfirmation({ receipt, transactionHash, customTransactionReceiptSchema, }) {
if (this.promiEvent.listenerCount('confirmation') > 0) {
(0, watch_transaction_for_confirmations_js_1.watchTransactionForConfirmations)(this.web3Context, this.promiEvent, receipt, transactionHash, this.returnFormat);
(0, watch_transaction_for_confirmations_js_1.watchTransactionForConfirmations)(this.web3Context, this.promiEvent, receipt, transactionHash, this.returnFormat, customTransactionReceiptSchema);
}

@@ -152,0 +156,0 @@ }

import { Web3Context } from 'web3-core';
import { EthExecutionAPI, Bytes, TransactionReceipt, DataFormat } from 'web3-types';
export declare function waitForTransactionReceipt<ReturnFormat extends DataFormat>(web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat): Promise<TransactionReceipt>;
export declare function waitForTransactionReceipt<ReturnFormat extends DataFormat>(web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat, customGetTransactionReceipt?: (web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat) => Promise<TransactionReceipt>): Promise<TransactionReceipt>;

@@ -36,3 +36,3 @@ "use strict";

const rpc_method_wrappers_js_1 = require("../rpc_method_wrappers.js");
function waitForTransactionReceipt(web3Context, transactionHash, returnFormat) {
function waitForTransactionReceipt(web3Context, transactionHash, returnFormat, customGetTransactionReceipt) {
var _a;

@@ -43,3 +43,3 @@ return __awaiter(this, void 0, void 0, function* () {

try {
return (0, rpc_method_wrappers_js_1.getTransactionReceipt)(web3Context, transactionHash, returnFormat);
return (customGetTransactionReceipt !== null && customGetTransactionReceipt !== void 0 ? customGetTransactionReceipt : rpc_method_wrappers_js_1.getTransactionReceipt)(web3Context, transactionHash, returnFormat);
}

@@ -46,0 +46,0 @@ catch (error) {

import { EthExecutionAPI, TransactionReceipt } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { DataFormat } from 'web3-types';
import { JsonSchema } from 'web3-validator';
import { SendSignedTransactionEvents, SendTransactionEvents } from '../types.js';

@@ -9,2 +10,3 @@ export declare type Web3PromiEventEventTypeBase<ReturnFormat extends DataFormat> = SendTransactionEvents<ReturnFormat> | SendSignedTransactionEvents<ReturnFormat>;

transactionReceipt: TransactionReceipt;
customTransactionReceiptSchema?: JsonSchema;
transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventTypeBase<ReturnFormat>>;

@@ -18,2 +20,2 @@ returnFormat: ReturnFormat;

*/
export declare const watchTransactionByPolling: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
export declare const watchTransactionByPolling: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;

@@ -21,3 +21,3 @@ "use strict";

*/
const watchTransactionByPolling = ({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }) => {
const watchTransactionByPolling = ({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }) => {
var _a;

@@ -36,3 +36,3 @@ // Having a transactionReceipt means that the transaction has already been included

confirmations: (0, web3_utils_1.format)({ format: 'uint' }, confirmations, returnFormat),
receipt: (0, web3_utils_1.format)(schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: (0, web3_utils_1.format)(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: (0, web3_utils_1.format)({ format: 'bytes32' }, nextBlock.hash, returnFormat),

@@ -39,0 +39,0 @@ });

@@ -8,2 +8,2 @@ import { TransactionReceipt } from 'web3-types';

*/
export declare const watchTransactionBySubscription: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
export declare const watchTransactionBySubscription: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;

@@ -20,3 +20,3 @@ "use strict";

*/
const watchTransactionBySubscription = ({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }) => {
const watchTransactionBySubscription = ({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }) => {
// The following variable will stay true except if the data arrived,

@@ -44,3 +44,3 @@ // or if watching started after an error had occurred.

confirmations: (0, web3_utils_1.format)({ format: 'uint' }, confirmations, returnFormat),
receipt: (0, web3_utils_1.format)(schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: (0, web3_utils_1.format)(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: (0, web3_utils_1.format)({ format: 'bytes32' }, newBlockHeader.parentHash, returnFormat),

@@ -60,2 +60,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -69,2 +70,3 @@ });

transactionReceipt,
customTransactionReceiptSchema,
transactionPromiEvent,

@@ -71,0 +73,0 @@ returnFormat,

import { Bytes, EthExecutionAPI, TransactionReceipt } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { JsonSchema } from 'web3-validator';
import { DataFormat } from 'web3-types';
import { Web3PromiEventEventTypeBase } from './watch_transaction_by_polling.js';
export declare function watchTransactionForConfirmations<ReturnFormat extends DataFormat, Web3PromiEventEventType extends Web3PromiEventEventTypeBase<ReturnFormat>, ResolveType = TransactionReceipt>(web3Context: Web3Context<EthExecutionAPI>, transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventType>, transactionReceipt: TransactionReceipt, transactionHash: Bytes, returnFormat: ReturnFormat): void;
export declare function watchTransactionForConfirmations<ReturnFormat extends DataFormat, Web3PromiEventEventType extends Web3PromiEventEventTypeBase<ReturnFormat>, ResolveType = TransactionReceipt>(web3Context: Web3Context<EthExecutionAPI>, transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventType>, transactionReceipt: TransactionReceipt, transactionHash: Bytes, returnFormat: ReturnFormat, customTransactionReceiptSchema?: JsonSchema): void;

@@ -10,3 +10,3 @@ "use strict";

const watch_transaction_by_subscription_js_1 = require("./watch_transaction_by_subscription.js");
function watchTransactionForConfirmations(web3Context, transactionPromiEvent, transactionReceipt, transactionHash, returnFormat) {
function watchTransactionForConfirmations(web3Context, transactionPromiEvent, transactionReceipt, transactionHash, returnFormat, customTransactionReceiptSchema) {
if ((0, web3_validator_1.isNullish)(transactionReceipt) || (0, web3_validator_1.isNullish)(transactionReceipt.blockHash))

@@ -23,3 +23,3 @@ throw new web3_errors_1.TransactionMissingReceiptOrBlockHashError({

confirmations: (0, web3_utils_1.format)({ format: 'uint' }, 1, returnFormat),
receipt: (0, web3_utils_1.format)(schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: (0, web3_utils_1.format)(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : schemas_js_1.transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: (0, web3_utils_1.format)({ format: 'bytes32' }, transactionReceipt.blockHash, returnFormat),

@@ -34,2 +34,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -43,2 +44,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -45,0 +47,0 @@ });

@@ -63,4 +63,7 @@ /*

export { detectTransactionType } from './utils/detect_transaction_type.js';
export { transactionBuilder } from './utils/transaction_builder.js';
export { transactionBuilder, getTransactionFromOrToAttr } from './utils/transaction_builder.js';
export { waitForTransactionReceipt } from './utils/wait_for_transaction_receipt.js';
export { trySendTransaction } from './utils/try_send_transaction.js';
export { SendTxHelper } from './utils/send_tx_helper.js';
export default Web3Eth;
//# sourceMappingURL=index.js.map

@@ -69,3 +69,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

if (this.options.checkRevertBeforeSending !== false) {
const reason = yield getRevertReason(this.web3Context, tx, this.options.contractAbi);
let formatTx = tx;
if (isNullish(tx.data) && isNullish(tx.input) && isNullish(tx.gas)) { // eth.call runs into error if data isnt filled and gas is not defined, its a simple transaction so we fill it with 21000
formatTx = Object.assign(Object.assign({}, tx), { gas: 21000 });
}
const reason = yield getRevertReason(this.web3Context, formatTx, this.options.contractAbi);
if (reason !== undefined) {

@@ -144,5 +148,5 @@ throw yield getTransactionError(this.web3Context, tx, undefined, undefined, this.options.contractAbi, reason);

}
emitConfirmation({ receipt, transactionHash, }) {
emitConfirmation({ receipt, transactionHash, customTransactionReceiptSchema, }) {
if (this.promiEvent.listenerCount('confirmation') > 0) {
watchTransactionForConfirmations(this.web3Context, this.promiEvent, receipt, transactionHash, this.returnFormat);
watchTransactionForConfirmations(this.web3Context, this.promiEvent, receipt, transactionHash, this.returnFormat, customTransactionReceiptSchema);
}

@@ -149,0 +153,0 @@ }

@@ -33,3 +33,3 @@ /*

import { getTransactionReceipt } from '../rpc_method_wrappers.js';
export function waitForTransactionReceipt(web3Context, transactionHash, returnFormat) {
export function waitForTransactionReceipt(web3Context, transactionHash, returnFormat, customGetTransactionReceipt) {
var _a;

@@ -40,3 +40,3 @@ return __awaiter(this, void 0, void 0, function* () {

try {
return getTransactionReceipt(web3Context, transactionHash, returnFormat);
return (customGetTransactionReceipt !== null && customGetTransactionReceipt !== void 0 ? customGetTransactionReceipt : getTransactionReceipt)(web3Context, transactionHash, returnFormat);
}

@@ -43,0 +43,0 @@ catch (error) {

@@ -18,3 +18,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

*/
export const watchTransactionByPolling = ({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }) => {
export const watchTransactionByPolling = ({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }) => {
var _a;

@@ -33,3 +33,3 @@ // Having a transactionReceipt means that the transaction has already been included

confirmations: format({ format: 'uint' }, confirmations, returnFormat),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: format({ format: 'bytes32' }, nextBlock.hash, returnFormat),

@@ -36,0 +36,0 @@ });

@@ -17,3 +17,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

*/
export const watchTransactionBySubscription = ({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }) => {
export const watchTransactionBySubscription = ({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }) => {
// The following variable will stay true except if the data arrived,

@@ -41,3 +41,3 @@ // or if watching started after an error had occurred.

confirmations: format({ format: 'uint' }, confirmations, returnFormat),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: format({ format: 'bytes32' }, newBlockHeader.parentHash, returnFormat),

@@ -57,2 +57,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -66,2 +67,3 @@ });

transactionReceipt,
customTransactionReceiptSchema,
transactionPromiEvent,

@@ -68,0 +70,0 @@ returnFormat,

@@ -7,3 +7,3 @@ import { format } from 'web3-utils';

import { watchTransactionBySubscription } from './watch_transaction_by_subscription.js';
export function watchTransactionForConfirmations(web3Context, transactionPromiEvent, transactionReceipt, transactionHash, returnFormat) {
export function watchTransactionForConfirmations(web3Context, transactionPromiEvent, transactionReceipt, transactionHash, returnFormat, customTransactionReceiptSchema) {
if (isNullish(transactionReceipt) || isNullish(transactionReceipt.blockHash))

@@ -20,3 +20,3 @@ throw new TransactionMissingReceiptOrBlockHashError({

confirmations: format({ format: 'uint' }, 1, returnFormat),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(customTransactionReceiptSchema !== null && customTransactionReceiptSchema !== void 0 ? customTransactionReceiptSchema : transactionReceiptSchema, transactionReceipt, returnFormat),
latestBlockHash: format({ format: 'bytes32' }, transactionReceipt.blockHash, returnFormat),

@@ -31,2 +31,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -40,2 +41,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -42,0 +44,0 @@ });

@@ -47,4 +47,7 @@ /**

export { detectTransactionType } from './utils/detect_transaction_type.js';
export { transactionBuilder } from './utils/transaction_builder.js';
export { transactionBuilder, getTransactionFromOrToAttr } from './utils/transaction_builder.js';
export { waitForTransactionReceipt } from './utils/wait_for_transaction_receipt.js';
export { trySendTransaction } from './utils/try_send_transaction.js';
export { SendTxHelper } from './utils/send_tx_helper.js';
export default Web3Eth;
//# sourceMappingURL=index.d.ts.map
import { FormatType, DataFormat, EthExecutionAPI, Web3BaseWalletAccount, HexString, TransactionReceipt, Transaction, TransactionCall, TransactionWithFromLocalWalletIndex, TransactionWithToLocalWalletIndex, TransactionWithFromAndToLocalWalletIndex, TransactionHash } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { JsonSchema } from 'web3-validator';
import { SendSignedTransactionEvents, SendTransactionEvents, SendTransactionOptions } from '../types.js';

@@ -33,5 +34,6 @@ export declare class SendTxHelper<ReturnFormat extends DataFormat, ResolveType = FormatType<TransactionReceipt, ReturnFormat>, TxType = Transaction | TransactionWithFromLocalWalletIndex | TransactionWithToLocalWalletIndex | TransactionWithFromAndToLocalWalletIndex> {

}): Promise<unknown>;
emitConfirmation({ receipt, transactionHash, }: {
emitConfirmation({ receipt, transactionHash, customTransactionReceiptSchema, }: {
receipt: ResolveType;
transactionHash: TransactionHash;
customTransactionReceiptSchema?: JsonSchema;
}): void;

@@ -38,0 +40,0 @@ handleResolve({ receipt, tx }: {

import { Web3Context } from 'web3-core';
import { EthExecutionAPI, Bytes, TransactionReceipt, DataFormat } from 'web3-types';
export declare function waitForTransactionReceipt<ReturnFormat extends DataFormat>(web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat): Promise<TransactionReceipt>;
export declare function waitForTransactionReceipt<ReturnFormat extends DataFormat>(web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat, customGetTransactionReceipt?: (web3Context: Web3Context<EthExecutionAPI>, transactionHash: Bytes, returnFormat: ReturnFormat) => Promise<TransactionReceipt>): Promise<TransactionReceipt>;
//# sourceMappingURL=wait_for_transaction_receipt.d.ts.map
import { EthExecutionAPI, TransactionReceipt } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { DataFormat } from 'web3-types';
import { JsonSchema } from 'web3-validator';
import { SendSignedTransactionEvents, SendTransactionEvents } from '../types.js';

@@ -9,2 +10,3 @@ export declare type Web3PromiEventEventTypeBase<ReturnFormat extends DataFormat> = SendTransactionEvents<ReturnFormat> | SendSignedTransactionEvents<ReturnFormat>;

transactionReceipt: TransactionReceipt;
customTransactionReceiptSchema?: JsonSchema;
transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventTypeBase<ReturnFormat>>;

@@ -18,3 +20,3 @@ returnFormat: ReturnFormat;

*/
export declare const watchTransactionByPolling: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
export declare const watchTransactionByPolling: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
//# sourceMappingURL=watch_transaction_by_polling.d.ts.map

@@ -8,3 +8,3 @@ import { TransactionReceipt } from 'web3-types';

*/
export declare const watchTransactionBySubscription: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
export declare const watchTransactionBySubscription: <ReturnFormat extends DataFormat, ResolveType = TransactionReceipt>({ web3Context, transactionReceipt, transactionPromiEvent, customTransactionReceiptSchema, returnFormat, }: WaitProps<ReturnFormat, ResolveType>) => void;
//# sourceMappingURL=watch_transaction_by_subscription.d.ts.map
import { Bytes, EthExecutionAPI, TransactionReceipt } from 'web3-types';
import { Web3Context, Web3PromiEvent } from 'web3-core';
import { JsonSchema } from 'web3-validator';
import { DataFormat } from 'web3-types';
import { Web3PromiEventEventTypeBase } from './watch_transaction_by_polling.js';
export declare function watchTransactionForConfirmations<ReturnFormat extends DataFormat, Web3PromiEventEventType extends Web3PromiEventEventTypeBase<ReturnFormat>, ResolveType = TransactionReceipt>(web3Context: Web3Context<EthExecutionAPI>, transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventType>, transactionReceipt: TransactionReceipt, transactionHash: Bytes, returnFormat: ReturnFormat): void;
export declare function watchTransactionForConfirmations<ReturnFormat extends DataFormat, Web3PromiEventEventType extends Web3PromiEventEventTypeBase<ReturnFormat>, ResolveType = TransactionReceipt>(web3Context: Web3Context<EthExecutionAPI>, transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventType>, transactionReceipt: TransactionReceipt, transactionHash: Bytes, returnFormat: ReturnFormat, customTransactionReceiptSchema?: JsonSchema): void;
//# sourceMappingURL=watch_transaction_for_confirmations.d.ts.map
{
"name": "web3-eth",
"version": "4.6.1-dev.de3e8f8.0+de3e8f8",
"version": "4.6.1-dev.e0fc158.0+e0fc158",
"description": "Web3 module to interact with the Ethereum blockchain and smart contracts.",

@@ -33,3 +33,3 @@ "main": "./lib/commonjs/index.js",

"build:check": "node -e \"require('./lib')\"",
"lint": "eslint --ext .js,.ts .",
"lint": "eslint --cache --cache-strategy content --ext .ts .",
"lint:fix": "eslint --fix --ext .js,.ts .",

@@ -63,18 +63,18 @@ "format": "prettier --write '**/*'",

"typescript": "^4.7.4",
"web3-providers-http": "4.1.1-dev.de3e8f8.0+de3e8f8"
"web3-providers-http": "4.1.1-dev.e0fc158.0+e0fc158"
},
"dependencies": {
"setimmediate": "^1.0.5",
"web3-core": "4.3.3-dev.de3e8f8.0+de3e8f8",
"web3-errors": "1.1.5-dev.de3e8f8.0+de3e8f8",
"web3-eth-abi": "4.2.2-dev.de3e8f8.0+de3e8f8",
"web3-eth-accounts": "4.1.3-dev.de3e8f8.0+de3e8f8",
"web3-net": "4.0.8-dev.de3e8f8.0+de3e8f8",
"web3-providers-ws": "4.0.8-dev.de3e8f8.0+de3e8f8",
"web3-rpc-methods": "1.2.1-dev.de3e8f8.0+de3e8f8",
"web3-types": "1.6.1-dev.de3e8f8.0+de3e8f8",
"web3-utils": "4.2.4-dev.de3e8f8.0+de3e8f8",
"web3-validator": "2.0.6-dev.de3e8f8.0+de3e8f8"
"web3-core": "4.3.3-dev.e0fc158.0+e0fc158",
"web3-errors": "1.1.5-dev.e0fc158.0+e0fc158",
"web3-eth-abi": "4.2.2-dev.e0fc158.0+e0fc158",
"web3-eth-accounts": "4.1.3-dev.e0fc158.0+e0fc158",
"web3-net": "4.0.8-dev.e0fc158.0+e0fc158",
"web3-providers-ws": "4.0.8-dev.e0fc158.0+e0fc158",
"web3-rpc-methods": "1.2.1-dev.e0fc158.0+e0fc158",
"web3-types": "1.6.1-dev.e0fc158.0+e0fc158",
"web3-utils": "4.2.4-dev.e0fc158.0+e0fc158",
"web3-validator": "2.0.6-dev.e0fc158.0+e0fc158"
},
"gitHead": "de3e8f881cc12ca6bbeddaf992c18c6c4eb1ede0"
"gitHead": "e0fc158e7c18ab97b66e415653faad46491823c0"
}

@@ -66,4 +66,7 @@ /*

export { detectTransactionType } from './utils/detect_transaction_type.js';
export { transactionBuilder } from './utils/transaction_builder.js';
export { transactionBuilder, getTransactionFromOrToAttr } from './utils/transaction_builder.js';
export { waitForTransactionReceipt } from './utils/wait_for_transaction_receipt.js';
export { trySendTransaction } from './utils/try_send_transaction.js';
export { SendTxHelper } from './utils/send_tx_helper.js';
export default Web3Eth;

@@ -36,3 +36,3 @@ /*

import { Web3Context, Web3EventEmitter, Web3PromiEvent } from 'web3-core';
import { isNullish } from 'web3-validator';
import { isNullish, JsonSchema } from 'web3-validator';
import {

@@ -126,3 +126,10 @@ ContractExecutionError,

if (this.options.checkRevertBeforeSending !== false) {
const reason = await getRevertReason(this.web3Context, tx, this.options.contractAbi);
let formatTx = tx;
if (isNullish(tx.data) && isNullish(tx.input) && isNullish(tx.gas)) { // eth.call runs into error if data isnt filled and gas is not defined, its a simple transaction so we fill it with 21000
formatTx = {
...tx,
gas: 21000
}
}
const reason = await getRevertReason(this.web3Context, formatTx, this.options.contractAbi);
if (reason !== undefined) {

@@ -262,5 +269,7 @@ throw await getTransactionError<ReturnFormat>(

transactionHash,
customTransactionReceiptSchema,
}: {
receipt: ResolveType;
transactionHash: TransactionHash;
customTransactionReceiptSchema?: JsonSchema;
}) {

@@ -278,2 +287,3 @@ if (this.promiEvent.listenerCount('confirmation') > 0) {

this.returnFormat,
customTransactionReceiptSchema,
);

@@ -280,0 +290,0 @@ }

@@ -33,15 +33,26 @@ /*

returnFormat: ReturnFormat,
customGetTransactionReceipt?: (
web3Context: Web3Context<EthExecutionAPI>,
transactionHash: Bytes,
returnFormat: ReturnFormat,
) => Promise<TransactionReceipt>,
): Promise<TransactionReceipt> {
const pollingInterval =
web3Context.transactionReceiptPollingInterval ?? web3Context.transactionPollingInterval;
const [awaitableTransactionReceipt, IntervalId] = pollTillDefinedAndReturnIntervalId(async () => {
try {
return getTransactionReceipt(web3Context, transactionHash, returnFormat);
} catch (error) {
console.warn('An error happen while trying to get the transaction receipt', error);
return undefined;
}
}, pollingInterval);
const [awaitableTransactionReceipt, IntervalId] = pollTillDefinedAndReturnIntervalId(
async () => {
try {
return (customGetTransactionReceipt ?? getTransactionReceipt)(
web3Context,
transactionHash,
returnFormat,
);
} catch (error) {
console.warn('An error happen while trying to get the transaction receipt', error);
return undefined;
}
},
pollingInterval,
);

@@ -69,8 +80,6 @@ const [timeoutId, rejectOnTimeout] = rejectIfTimeout(

} finally {
if(timeoutId)
clearTimeout(timeoutId);
if(IntervalId)
clearInterval(IntervalId);
if (timeoutId) clearTimeout(timeoutId);
if (IntervalId) clearInterval(IntervalId);
blockTimeoutResourceCleaner.clean();
}
}

@@ -23,2 +23,3 @@ /*

import { DataFormat } from 'web3-types';
import { JsonSchema } from 'web3-validator';
import { SendSignedTransactionEvents, SendTransactionEvents } from '../types.js';

@@ -34,2 +35,3 @@ import { transactionReceiptSchema } from '../schemas.js';

transactionReceipt: TransactionReceipt;
customTransactionReceiptSchema?: JsonSchema;
transactionPromiEvent: Web3PromiEvent<ResolveType, Web3PromiEventEventTypeBase<ReturnFormat>>;

@@ -51,2 +53,3 @@ returnFormat: ReturnFormat;

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -73,3 +76,7 @@ }: WaitProps<ReturnFormat, ResolveType>) => {

confirmations: format({ format: 'uint' }, confirmations, returnFormat),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(
customTransactionReceiptSchema ?? transactionReceiptSchema,
transactionReceipt,
returnFormat,
),
latestBlockHash: format(

@@ -76,0 +83,0 @@ { format: 'bytes32' },

@@ -24,3 +24,2 @@ /*

import { WaitProps, watchTransactionByPolling } from './watch_transaction_by_polling.js';
/**

@@ -37,2 +36,3 @@ * This function watches a Transaction by subscribing to new heads.

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -71,3 +71,7 @@ }: WaitProps<ReturnFormat, ResolveType>) => {

),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(
customTransactionReceiptSchema ?? transactionReceiptSchema,
transactionReceipt,
returnFormat,
),
latestBlockHash: format(

@@ -91,2 +95,3 @@ { format: 'bytes32' },

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -101,2 +106,3 @@ });

transactionReceipt,
customTransactionReceiptSchema,
transactionPromiEvent,

@@ -103,0 +109,0 @@ returnFormat,

@@ -20,3 +20,3 @@ /*

import { format } from 'web3-utils';
import { isNullish } from 'web3-validator';
import { isNullish, JsonSchema } from 'web3-validator';

@@ -45,2 +45,3 @@ import {

returnFormat: ReturnFormat,
customTransactionReceiptSchema?: JsonSchema,
) {

@@ -60,3 +61,7 @@ if (isNullish(transactionReceipt) || isNullish(transactionReceipt.blockHash))

confirmations: format({ format: 'uint' }, 1, returnFormat),
receipt: format(transactionReceiptSchema, transactionReceipt, returnFormat),
receipt: format(
customTransactionReceiptSchema ?? transactionReceiptSchema,
transactionReceipt,
returnFormat,
),
latestBlockHash: format({ format: 'bytes32' }, transactionReceipt.blockHash, returnFormat),

@@ -72,2 +77,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -80,2 +86,3 @@ });

transactionPromiEvent,
customTransactionReceiptSchema,
returnFormat,

@@ -82,0 +89,0 @@ });

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc