Socket
Socket
Sign inDemoInstall

viem

Package Overview
Dependencies
Maintainers
1
Versions
2127
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

viem - npm Package Compare versions

Comparing version 0.0.1-alpha.24 to 0.0.1-alpha.25

contract/package.json

28

dist/chains.d.ts

@@ -1,4 +0,4 @@

import { R as RpcBlock, e as Block, x as Transaction, H as Hex, o as RpcTransaction, p as RpcTransactionReceipt, T as TransactionReceipt, S as TransactionType, s as TransactionRequest, q as RpcTransactionRequest } from './chain-afa13f5a.js';
export { C as Chain } from './chain-afa13f5a.js';
export { d as defineChain } from './chain-e33d019b.js';
import { R as RpcBlock, d as Block, x as Transaction, H as Hex, o as RpcTransaction, p as RpcTransactionReceipt, T as TransactionReceipt, K as TransactionType, s as TransactionRequest, q as RpcTransactionRequest } from './chain-f16512e8.js';
export { C as Chain } from './chain-f16512e8.js';
export { d as defineChain } from './chain-c4ccb458.js';
import '@wagmi/chains';

@@ -672,6 +672,6 @@

readonly default: {
readonly http: readonly ["https://api.node.glif.io"];
readonly http: readonly ["https://api.node.glif.io/rpc/v1"];
};
readonly public: {
readonly http: readonly ["https://api.node.glif.io"];
readonly http: readonly ["https://api.node.glif.io/rpc/v1"];
};

@@ -692,2 +692,6 @@ };

};
readonly glif: {
readonly name: "Glif";
readonly url: "https://explorer.glif.io";
};
};

@@ -717,5 +721,5 @@ };

};
readonly gilf: {
readonly name: "Glif";
readonly url: "https://explorer.glif.io/?network=hyperspace";
readonly filscan: {
readonly name: "Filscan";
readonly url: "https://hyperspace.filscan.io";
};

@@ -781,2 +785,6 @@ };

};
readonly ensUniversalResolver: {
readonly address: "0x687c30Cc44bFA39A1449e86E172BF002E7b3f0b0";
readonly blockCreated: 7725078;
};
readonly multicall3: {

@@ -968,2 +976,6 @@ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";

};
readonly ensUniversalResolver: {
readonly address: "0x74E20Bd2A1fE0cdbe45b9A1d89cb7e0a45b36376";
readonly blockCreated: 16172161;
};
readonly multicall3: {

@@ -970,0 +982,0 @@ readonly address: "0xca11bde05977b3631167028862be2a173976ca11";

@@ -7,3 +7,3 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }

var _chunk4D5XG6XBjs = require('./chunk-4D5XG6XB.js');
var _chunkTHMRUG4Djs = require('./chunk-THMRUG4D.js');

@@ -13,3 +13,3 @@ // src/chains.ts

var celoFormatters = {
block: _chunk4D5XG6XBjs.defineBlock.call(void 0, {
block: _chunkTHMRUG4Djs.defineBlock.call(void 0, {
exclude: ["difficulty", "gasLimit", "mixHash", "nonce", "uncles"],

@@ -20,3 +20,3 @@ format: (block) => ({

}),
transaction: _chunk4D5XG6XBjs.defineTransaction.call(void 0, {
transaction: _chunkTHMRUG4Djs.defineTransaction.call(void 0, {
format: (transaction) => ({

@@ -28,3 +28,3 @@ feeCurrency: transaction.feeCurrency,

}),
transactionReceipt: _chunk4D5XG6XBjs.defineTransactionReceipt.call(void 0, {
transactionReceipt: _chunkTHMRUG4Djs.defineTransactionReceipt.call(void 0, {
format: (transaction) => ({

@@ -36,3 +36,3 @@ feeCurrency: transaction.feeCurrency,

}),
transactionRequest: _chunk4D5XG6XBjs.defineTransactionRequest.call(void 0, {
transactionRequest: _chunkTHMRUG4Djs.defineTransactionRequest.call(void 0, {
format: (transactionRequest) => ({

@@ -45,48 +45,48 @@ feeCurrency: transactionRequest.feeCurrency,

};
var arbitrum2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.arbitrum);
var arbitrumGoerli2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.arbitrumGoerli);
var aurora2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.aurora);
var auroraGoerli = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.auroraTestnet);
var avalanche2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.avalanche);
var avalancheFuji2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.avalancheFuji);
var bronos2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.bronos);
var bronosTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.bronosTestnet);
var bsc2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.bsc);
var bscTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.bscTestnet);
var canto2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.canto);
var celo2 = _chunk4D5XG6XBjs.defineChain.call(void 0, {
var arbitrum2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.arbitrum);
var arbitrumGoerli2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.arbitrumGoerli);
var aurora2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.aurora);
var auroraGoerli = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.auroraTestnet);
var avalanche2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.avalanche);
var avalancheFuji2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.avalancheFuji);
var bronos2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.bronos);
var bronosTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.bronosTestnet);
var bsc2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.bsc);
var bscTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.bscTestnet);
var canto2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.canto);
var celo2 = _chunkTHMRUG4Djs.defineChain.call(void 0, {
...chains.celo,
formatters: celoFormatters
});
var celoAlfajores2 = _chunk4D5XG6XBjs.defineChain.call(void 0, {
var celoAlfajores2 = _chunkTHMRUG4Djs.defineChain.call(void 0, {
...chains.celoAlfajores,
formatters: celoFormatters
});
var crossbell2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.crossbell);
var evmos2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.evmos);
var evmosTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.evmosTestnet);
var fantom2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.fantom);
var fantomTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.fantomTestnet);
var filecoin2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.filecoin);
var filecoinTestnet = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.filecoinHyperspace);
var foundry2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.foundry);
var goerli2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.goerli);
var gnosis2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.gnosis);
var gnosisChiado2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.gnosisChiado);
var hardhat2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.hardhat);
var iotex2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.iotex);
var iotexTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.iotexTestnet);
var localhost2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.localhost);
var mainnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.mainnet);
var metis2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.metis);
var metisGoerli2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.metisGoerli);
var optimism2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.optimism);
var optimismGoerli2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.optimismGoerli);
var polygon2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.polygon);
var polygonMumbai2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.polygonMumbai);
var sepolia2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.sepolia);
var taraxa2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.taraxa);
var taraxaTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.taraxaTestnet);
var zkSync2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.zkSync);
var zkSyncTestnet2 = _chunk4D5XG6XBjs.defineChain.call(void 0, chains.zkSyncTestnet);
var crossbell2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.crossbell);
var evmos2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.evmos);
var evmosTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.evmosTestnet);
var fantom2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.fantom);
var fantomTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.fantomTestnet);
var filecoin2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.filecoin);
var filecoinTestnet = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.filecoinHyperspace);
var foundry2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.foundry);
var goerli2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.goerli);
var gnosis2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.gnosis);
var gnosisChiado2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.gnosisChiado);
var hardhat2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.hardhat);
var iotex2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.iotex);
var iotexTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.iotexTestnet);
var localhost2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.localhost);
var mainnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.mainnet);
var metis2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.metis);
var metisGoerli2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.metisGoerli);
var optimism2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.optimism);
var optimismGoerli2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.optimismGoerli);
var polygon2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.polygon);
var polygonMumbai2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.polygonMumbai);
var sepolia2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.sepolia);
var taraxa2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.taraxa);
var taraxaTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.taraxaTestnet);
var zkSync2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.zkSync);
var zkSyncTestnet2 = _chunkTHMRUG4Djs.defineChain.call(void 0, chains.zkSyncTestnet);

@@ -134,3 +134,3 @@

exports.arbitrum = arbitrum2; exports.arbitrumGoerli = arbitrumGoerli2; exports.aurora = aurora2; exports.auroraGoerli = auroraGoerli; exports.avalanche = avalanche2; exports.avalancheFuji = avalancheFuji2; exports.bronos = bronos2; exports.bronosTestnet = bronosTestnet2; exports.bsc = bsc2; exports.bscTestnet = bscTestnet2; exports.canto = canto2; exports.celo = celo2; exports.celoAlfajores = celoAlfajores2; exports.crossbell = crossbell2; exports.defineChain = _chunk4D5XG6XBjs.defineChain; exports.evmos = evmos2; exports.evmosTestnet = evmosTestnet2; exports.fantom = fantom2; exports.fantomTestnet = fantomTestnet2; exports.filecoin = filecoin2; exports.filecoinTestnet = filecoinTestnet; exports.foundry = foundry2; exports.gnosis = gnosis2; exports.gnosisChiado = gnosisChiado2; exports.goerli = goerli2; exports.hardhat = hardhat2; exports.iotex = iotex2; exports.iotexTestnet = iotexTestnet2; exports.localhost = localhost2; exports.mainnet = mainnet2; exports.metis = metis2; exports.metisGoerli = metisGoerli2; exports.optimism = optimism2; exports.optimismGoerli = optimismGoerli2; exports.polygon = polygon2; exports.polygonMumbai = polygonMumbai2; exports.sepolia = sepolia2; exports.taraxa = taraxa2; exports.taraxaTestnet = taraxaTestnet2; exports.zkSync = zkSync2; exports.zkSyncTestnet = zkSyncTestnet2;
exports.arbitrum = arbitrum2; exports.arbitrumGoerli = arbitrumGoerli2; exports.aurora = aurora2; exports.auroraGoerli = auroraGoerli; exports.avalanche = avalanche2; exports.avalancheFuji = avalancheFuji2; exports.bronos = bronos2; exports.bronosTestnet = bronosTestnet2; exports.bsc = bsc2; exports.bscTestnet = bscTestnet2; exports.canto = canto2; exports.celo = celo2; exports.celoAlfajores = celoAlfajores2; exports.crossbell = crossbell2; exports.defineChain = _chunkTHMRUG4Djs.defineChain; exports.evmos = evmos2; exports.evmosTestnet = evmosTestnet2; exports.fantom = fantom2; exports.fantomTestnet = fantomTestnet2; exports.filecoin = filecoin2; exports.filecoinTestnet = filecoinTestnet; exports.foundry = foundry2; exports.gnosis = gnosis2; exports.gnosisChiado = gnosisChiado2; exports.goerli = goerli2; exports.hardhat = hardhat2; exports.iotex = iotex2; exports.iotexTestnet = iotexTestnet2; exports.localhost = localhost2; exports.mainnet = mainnet2; exports.metis = metis2; exports.metisGoerli = metisGoerli2; exports.optimism = optimism2; exports.optimismGoerli = optimismGoerli2; exports.polygon = polygon2; exports.polygonMumbai = polygonMumbai2; exports.sepolia = sepolia2; exports.taraxa = taraxa2; exports.taraxaTestnet = taraxaTestnet2; exports.zkSync = zkSync2; exports.zkSyncTestnet = zkSyncTestnet2;
//# sourceMappingURL=chains.js.map

@@ -1,1 +0,82 @@

export { l as labelhash, n as namehash, a as normalize } from './normalize-ef9240c0.js';
import { P as Prettify, A as Address } from './chain-f16512e8.js';
import { P as PublicClient } from './createPublicClient-b732194e.js';
import { R as ReadContractArgs } from './readContract-4f6e2692.js';
import '@wagmi/chains';
import './eip1193-6f9ba163.js';
import './createClient-68ee4bb4.js';
import 'abitype';
import './contract-9e76e561.js';
import './call-ac509982.js';
import './transactionRequest-c7794f5e.js';
type GetEnsAddressArgs = Prettify<Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {
/** ENS name to get address. */
name: string;
/** Address of ENS Universal Resolver Contract */
universalResolverAddress?: Address;
}>;
/**
* @description Gets address for ENS name.
*
* - Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract.
*
* @example
* const ensAddress = await getEnsAddress(publicClient, {
* name: 'wagmi-dev.eth',
* })
* // '0xd2135CfB216b74109775236E36d4b433F1DF507B'
*/
declare function getEnsAddress(client: PublicClient, { blockNumber, blockTag, name, universalResolverAddress: universalResolverAddress_, }: GetEnsAddressArgs): Promise<`0x${string}`>;
type GetEnsNameArgs = Prettify<Pick<ReadContractArgs, 'blockNumber' | 'blockTag'> & {
/** Address to get ENS name for. */
address: Address;
/** Address of ENS Universal Resolver Contract. */
universalResolverAddress?: Address;
}>;
/**
* @description Gets primary name for specified address.
*
* - Calls `reverse(bytes)` on ENS Universal Resolver Contract.
*
* @example
* const ensName = await getEnsName(publicClient, {
* address: '0xd2135CfB216b74109775236E36d4b433F1DF507B',
* })
* // 'wagmi-dev.eth'
*/
declare function getEnsName(client: PublicClient, { address, blockNumber, blockTag, universalResolverAddress: universalResolverAddress_, }: GetEnsNameArgs): Promise<string | null>;
/**
* @description Hashes ENS label
*
* @example
* labelhash('eth')
* '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'
*/
declare function labelhash(label: string): `0x${string}`;
/**
* @description Hashes ENS name
*
* @example
* namehash('wagmi-dev.eth')
* '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'
*
* @see https://eips.ethereum.org/EIPS/eip-137
* @see https://docs.ens.domains/contract-api-reference/name-processing#hashing-names
*/
declare function namehash(name: string): `0x${string}`;
/**
* @description Normalizes ENS name
*
* @example
* normalize('wagmi-dev.eth')
* 'wagmi-dev.eth'
*
* @see https://docs.ens.domains/contract-api-reference/name-processing#normalising-names
*/
declare function normalize(name: string): string;
export { GetEnsAddressArgs, GetEnsNameArgs, getEnsAddress, getEnsName, labelhash, namehash, normalize };

@@ -1,6 +0,6 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
var _chunkCD2XJOBJjs = require('./chunk-CD2XJOBJ.js');
var _chunk4D5XG6XBjs = require('./chunk-4D5XG6XB.js');

@@ -10,3 +10,208 @@

exports.labelhash = _chunk4D5XG6XBjs.labelhash; exports.namehash = _chunk4D5XG6XBjs.namehash; exports.normalize = _chunk4D5XG6XBjs.normalize;
var _chunkTHMRUG4Djs = require('./chunk-THMRUG4D.js');
// src/utils/ens/normalize.ts
var _idnauts46hx = require('idna-uts46-hx');
function normalize(name) {
return _idnauts46hx.toUnicode.call(void 0, name, { useStd3ASCII: true });
}
// src/utils/ens/labelhash.ts
function labelhash(label) {
let result = new Uint8Array(32).fill(0);
if (!label)
return _chunkTHMRUG4Djs.bytesToHex.call(void 0, result);
return _chunkTHMRUG4Djs.keccak256.call(void 0, _chunkTHMRUG4Djs.stringToBytes.call(void 0, normalize(label)));
}
// src/utils/ens/namehash.ts
function namehash(name) {
let result = new Uint8Array(32).fill(0);
if (!name)
return _chunkTHMRUG4Djs.bytesToHex.call(void 0, result);
const labels = normalize(name).split(".");
for (let i = labels.length - 1; i >= 0; i -= 1) {
const hashed = _chunkTHMRUG4Djs.keccak256.call(void 0, _chunkTHMRUG4Djs.stringToBytes.call(void 0, labels[i]), "bytes");
result = _chunkTHMRUG4Djs.keccak256.call(void 0, _chunkTHMRUG4Djs.concat.call(void 0, [result, hashed]), "bytes");
}
return _chunkTHMRUG4Djs.bytesToHex.call(void 0, result);
}
// src/utils/ens/packetToBytes.ts
function packetToBytes(packet) {
function length(value2) {
if (value2 === "." || value2 === "..")
return 1;
return _chunkTHMRUG4Djs.encodeBytes.call(void 0, value2.replace(/^\.|\.$/gm, "")).length + 2;
}
const bytes = new Uint8Array(length(packet));
const value = packet.replace(/^\.|\.$/gm, "");
if (!value.length)
return bytes;
let offset = 0;
const list = value.split(".");
for (let i = 0; i < list.length; i++) {
const encoded = _chunkTHMRUG4Djs.encodeBytes.call(void 0, list[i]);
bytes[offset] = encoded.length;
bytes.set(encoded, offset + 1);
offset += encoded.length + 1;
}
return bytes;
}
// src/actions/ens/getEnsAddress.ts
async function getEnsAddress(client, {
blockNumber,
blockTag,
name,
universalResolverAddress: universalResolverAddress_
}) {
let universalResolverAddress = universalResolverAddress_;
if (!universalResolverAddress) {
if (!client.chain)
throw new Error(
"client chain not configured. universalResolverAddress is required."
);
const contract = _optionalChain([client, 'access', _ => _.chain, 'optionalAccess', _2 => _2.contracts, 'optionalAccess', _3 => _3.ensUniversalResolver]);
if (!contract)
throw new (0, _chunkTHMRUG4Djs.ChainDoesNotSupportContract)({
chain: client.chain,
contract: { name: "ensUniversalResolver" }
});
if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
throw new (0, _chunkTHMRUG4Djs.ChainDoesNotSupportContract)({
blockNumber,
chain: client.chain,
contract: {
name: "ensUniversalResolver",
blockCreated: contract.blockCreated
}
});
universalResolverAddress = contract.address;
}
const res = await _chunkCD2XJOBJjs.readContract.call(void 0, client, {
address: universalResolverAddress,
abi: [
{
name: "resolve",
type: "function",
stateMutability: "view",
inputs: [
{ name: "name", type: "bytes" },
{ name: "data", type: "bytes" }
],
outputs: [
{ name: "", type: "bytes" },
{ name: "address", type: "address" }
]
}
],
functionName: "resolve",
args: [
_chunkTHMRUG4Djs.encodeHex.call(void 0, packetToBytes(name)),
_chunkTHMRUG4Djs.encodeFunctionData.call(void 0, {
abi: [
{
name: "addr",
type: "function",
stateMutability: "view",
inputs: [{ name: "name", type: "bytes32" }],
outputs: []
}
],
functionName: "addr",
args: [namehash(name)]
})
],
blockNumber,
blockTag
});
return _chunkTHMRUG4Djs.decodeFunctionResult.call(void 0, {
abi: [
{
name: "addr",
type: "function",
stateMutability: "view",
inputs: [],
outputs: [{ name: "name", type: "address" }]
}
],
functionName: "addr",
data: res[0]
});
}
// src/actions/ens/getEnsName.ts
async function getEnsName(client, {
address,
blockNumber,
blockTag,
universalResolverAddress: universalResolverAddress_
}) {
let universalResolverAddress = universalResolverAddress_;
if (!universalResolverAddress) {
if (!client.chain)
throw new Error(
"client chain not configured. universalResolverAddress is required."
);
const contract = _optionalChain([client, 'access', _4 => _4.chain, 'optionalAccess', _5 => _5.contracts, 'optionalAccess', _6 => _6.ensUniversalResolver]);
if (!contract)
throw new (0, _chunkTHMRUG4Djs.ChainDoesNotSupportContract)({
chain: client.chain,
contract: { name: "ensUniversalResolver" }
});
if (blockNumber && contract.blockCreated && contract.blockCreated > blockNumber)
throw new (0, _chunkTHMRUG4Djs.ChainDoesNotSupportContract)({
blockNumber,
chain: client.chain,
contract: {
name: "ensUniversalResolver",
blockCreated: contract.blockCreated
}
});
universalResolverAddress = contract.address;
}
const reverseNode = `${address.toLowerCase().substring(2)}.addr.reverse`;
try {
const res = await _chunkCD2XJOBJjs.readContract.call(void 0, client, {
address: universalResolverAddress,
abi: [
{
name: "reverse",
type: "function",
stateMutability: "view",
inputs: [{ type: "bytes", name: "reverseName" }],
outputs: [
{ type: "string", name: "resolvedName" },
{ type: "address", name: "resolvedAddress" },
{ type: "address", name: "reverseResolver" },
{ type: "address", name: "resolver" }
]
}
],
functionName: "reverse",
args: [_chunkTHMRUG4Djs.encodeHex.call(void 0, packetToBytes(reverseNode))],
blockNumber,
blockTag
});
return res[0];
} catch (error) {
if (error instanceof _chunkTHMRUG4Djs.ContractFunctionExecutionError && error.cause.reason === _chunkTHMRUG4Djs.panicReasons[50])
return null;
throw error;
}
}
exports.getEnsAddress = getEnsAddress; exports.getEnsName = getEnsName; exports.labelhash = labelhash; exports.namehash = namehash; exports.normalize = normalize;
//# sourceMappingURL=ens.js.map

@@ -1,24 +0,16 @@

import { F as Filter, C as CallArgs } from './watchPendingTransactions-ea21b31d.js';
export { C as CallArgs, a as CallResponse, b as CreateBlockFilterResponse, c as CreatePendingTransactionFilterResponse, D as DeployContractArgs, e as DeployContractResponse, E as EstimateGasArgs, d as EstimateGasResponse, G as GetBalanceArgs, f as GetBalanceResponse, g as GetBlockArgs, h as GetBlockNumberArgs, i as GetBlockNumberResponse, j as GetBlockResponse, k as GetBlockTransactionCountArgs, l as GetBlockTransactionCountResponse, m as GetBytecodeArgs, n as GetBytecodeResponse, o as GetFeeHistoryArgs, p as GetFeeHistoryResponse, q as GetFilterChangesArgs, r as GetFilterChangesResponse, s as GetFilterLogsArgs, t as GetFilterLogsResponse, u as GetGasPriceResponse, v as GetTransactionArgs, w as GetTransactionConfirmationsArgs, x as GetTransactionConfirmationsResponse, y as GetTransactionCountArgs, z as GetTransactionCountResponse, B as GetTransactionReceiptArgs, H as GetTransactionReceiptResponse, A as GetTransactionResponse, O as OnBlock, I as OnBlockNumber, J as OnBlockNumberResponse, K as OnBlockResponse, L as OnTransactions, M as OnTransactionsResponse, S as SimulateContractArgs, N as SimulateContractResponse, U as UninstallFilterArgs, P as UninstallFilterResponse, W as WaitForTransactionReceiptArgs, Q as WaitForTransactionReceiptResponse, R as WatchBlockNumberArgs, T as WatchBlocksArgs, V as WatchPendingTransactionsArgs, X as WriteContractArgs, Y as WriteContractResponse, Z as call, _ as createBlockFilter, $ as createPendingTransactionFilter, a0 as deployContract, a1 as estimateGas, a2 as getBalance, a3 as getBlock, a4 as getBlockNumber, a5 as getBlockTransactionCount, a6 as getBytecode, a7 as getChainId, a8 as getFeeHistory, a9 as getFilterChanges, aa as getFilterLogs, ab as getGasPrice, ac as getTransaction, ad as getTransactionConfirmations, ae as getTransactionCount, af as getTransactionReceipt, ag as simulateContract, ah as uninstallFilter, ai as waitForTransactionReceipt, aj as watchBlockNumber, ak as watchBlocks, al as watchPendingTransactions, am as writeContract } from './watchPendingTransactions-ea21b31d.js';
import { H as Hex, A as Address, a as Hash, B as ByteArray, b as BlockTag, c as BlockNumber, L as Log } from './chain-afa13f5a.js';
export { d as AccessList, A as Address, e as Block, f as BlockIdentifier, c as BlockNumber, b as BlockTag, B as ByteArray, C as Chain, F as FeeHistory, g as FeeValues, h as FeeValuesEIP1559, i as FeeValuesLegacy, G as FormattedTransaction, a as Hash, H as Hex, L as Log, R as RpcBlock, j as RpcBlockIdentifier, k as RpcBlockNumber, l as RpcFeeHistory, m as RpcFeeValues, n as RpcLog, o as RpcTransaction, p as RpcTransactionReceipt, q as RpcTransactionRequest, r as RpcUncle, x as Transaction, y as TransactionBase, z as TransactionEIP1559, D as TransactionEIP2930, E as TransactionLegacy, T as TransactionReceipt, s as TransactionRequest, t as TransactionRequestBase, u as TransactionRequestEIP1559, v as TransactionRequestEIP2930, w as TransactionRequestLegacy, U as Uncle, I as formatTransaction, J as transactionType } from './chain-afa13f5a.js';
import { C as ContractConfig, E as ExtractResultFromAbi, a as EventDefinition, b as ExtractArgsFromEventDefinition, c as ExtractEventNameFromAbi, d as ExtractEventArgsFromAbi } from './contract-70f4ddbe.js';
export { A as AbiItem, C as ContractConfig, F as FormattedBlock, f as formatBlock } from './contract-70f4ddbe.js';
import { P as PublicClient } from './createPublicClient-d3d12dc3.js';
export { P as PublicClient, a as PublicClientConfig, c as createPublicClient } from './createPublicClient-d3d12dc3.js';
import { Abi } from 'abitype';
export { D as DropTransactionArgs, I as ImpersonateAccountArgs, a as IncreaseTimeArgs, M as MineArgs, R as ResetArgs, b as RevertArgs, S as SendUnsignedTransactionArgs, c as SendUnsignedTransactionResponse, d as SetBalanceArgs, e as SetBlockGasLimitArgs, j as SetBlockTimestampIntervalArgs, f as SetCodeArgs, g as SetCoinbaseArgs, h as SetIntervalMiningArgs, i as SetMinGasPriceArgs, l as SetNextBlockBaseFeePerGasArgs, k as SetNextBlockTimestampArgs, m as SetNonceArgs, n as SetStorageAtArgs, o as StopImpersonatingAccountArgs, p as dropTransaction, q as getAutomine, r as getTxpoolContent, s as getTxpoolStatus, t as impersonateAccount, u as increaseTime, v as inspectTxpool, w as mine, x as removeBlockTimestampInterval, y as reset, z as revert, A as sendUnsignedTransaction, B as setAutomine, C as setBalance, E as setBlockGasLimit, F as setBlockTimestampInterval, G as setCode, H as setCoinbase, J as setIntervalMining, K as setLoggingEnabled, L as setMinGasPrice, N as setNextBlockBaseFeePerGas, O as setNextBlockTimestamp, P as setNonce, Q as setStorageAt, T as snapshot, U as stopImpersonatingAccount } from './stopImpersonatingAccount-c1a4b7e5.js';
export { C as Client, a as ClientConfig, T as Transport, b as TransportConfig, c as createClient, d as createTransport } from './createClient-60e3ab98.js';
export { C as CustomTransport, a as CustomTransportConfig, F as FallbackTransport, b as FallbackTransportConfig, H as HttpTransport, c as HttpTransportConfig, W as WebSocketTransport, d as WebSocketTransportConfig, e as custom, f as fallback, h as http, w as webSocket } from './webSocket-775b4037.js';
export { T as TestClient, a as TestClientConfig, c as createTestClient } from './createTestClient-5f4532c4.js';
export { W as WalletClient, a as WalletClientConfig, c as createWalletClient } from './createWalletClient-9ec3df4f.js';
export { G as GetPermissionsResponse, R as RequestPermissionsResponse, S as SignMessageArgs, a as SignMessageResponse, b as SwitchChainArgs, W as WatchAssetArgs, c as WatchAssetResponse, d as addChain, g as getAccounts, e as getPermissions, r as requestAccounts, f as requestPermissions, s as signMessage, h as switchChain, w as watchAsset } from './watchAsset-d59d6e35.js';
export { S as SendTransactionArgs, a as SendTransactionResponse, s as sendTransaction } from './sendTransaction-54a0d509.js';
import { B as BaseError } from './parseGwei-492ab7dd.js';
export { B as BaseError, C as ContractFunctionExecutionError, a as ContractFunctionRevertedError, b as ContractFunctionZeroDataError, D as DecodeAbiArgs, c as DecodeErrorResultArgs, d as DecodeFunctionDataArgs, e as DecodeFunctionResultArgs, f as DecodeFunctionResultResponse, E as EncodeAbiArgs, g as EncodeDeployDataArgs, h as EncodeErrorResultArgs, i as EncodeEventTopicsArgs, j as EncodeFunctionDataArgs, k as EncodeFunctionResultArgs, o as EncodeRlpResponse, n as GetAbiItemArgs, G as GetContractAddressOptions, m as GetCreate2AddressOptions, l as GetCreateAddressOptions, r as boolToBytes, s as boolToHex, t as bytesToBigint, u as bytesToBool, p as bytesToHex, v as bytesToNumber, q as bytesToString, w as decodeAbi, x as decodeBytes, y as decodeErrorResult, z as decodeFunctionData, A as decodeFunctionResult, F as decodeHex, H as decodeRlp, I as encodeAbi, J as encodeBytes, K as encodeDeployData, L as encodeErrorResult, M as encodeEventTopics, N as encodeFunctionData, O as encodeFunctionResult, P as encodeHex, Q as encodeRlp, R as etherUnits, Z as formatEther, ae as formatGwei, af as formatUnit, S as getAddress, T as getContractAddress, V as getCreate2Address, U as getCreateAddress, W as getEventSignature, X as getFunctionSignature, Y as gweiUnits, a2 as hexToBigInt, a3 as hexToBool, a4 as hexToBytes, ag as hexToNumber, a5 as hexToString, _ as isAddress, $ as isAddressEqual, a0 as isBytes, a1 as isHex, a6 as keccak256, a7 as numberToBytes, ah as numberToHex, a8 as pad, a9 as padBytes, aa as padHex, ab as parseEther, ac as parseGwei, ad as parseUnit, ai as size, aj as slice, ak as sliceBytes, al as sliceHex, am as stringToBytes, an as stringToHex, ao as trim, ap as weiUnits } from './parseGwei-492ab7dd.js';
export { F as FormattedTransactionRequest, f as formatTransactionRequest } from './transactionRequest-bdf57f7d.js';
import { T as TransportConfig, a as Transport, B as BaseRpcRequests } from './createClient-68ee4bb4.js';
export { C as Client, b as ClientConfig, a as Transport, T as TransportConfig, c as createClient, d as createTransport } from './createClient-68ee4bb4.js';
import WebSocket from 'isomorphic-ws';
import { H as Hex, A as Address, a as Hash, B as ByteArray, b as BlockTag } from './chain-f16512e8.js';
export { c as AccessList, A as Address, d as Block, e as BlockIdentifier, f as BlockNumber, b as BlockTag, B as ByteArray, C as Chain, F as FeeHistory, g as FeeValues, h as FeeValuesEIP1559, i as FeeValuesLegacy, a as Hash, H as Hex, L as Log, R as RpcBlock, j as RpcBlockIdentifier, k as RpcBlockNumber, l as RpcFeeHistory, m as RpcFeeValues, n as RpcLog, o as RpcTransaction, p as RpcTransactionReceipt, q as RpcTransactionRequest, r as RpcUncle, x as Transaction, y as TransactionBase, z as TransactionEIP1559, D as TransactionEIP2930, E as TransactionLegacy, T as TransactionReceipt, s as TransactionRequest, t as TransactionRequestBase, u as TransactionRequestEIP1559, v as TransactionRequestEIP2930, w as TransactionRequestLegacy, U as Uncle } from './chain-f16512e8.js';
import { B as BaseError, R as RpcResponse } from './rpc-a5a7f376.js';
export { B as BaseError, C as ContractFunctionExecutionError, a as ContractFunctionRevertedError, b as ContractFunctionZeroDataError } from './rpc-a5a7f376.js';
export { P as PublicClient, a as PublicClientConfig, c as createPublicClient } from './createPublicClient-b732194e.js';
export { T as TestClient, a as TestClientConfig, c as createTestClient } from './createTestClient-dedf321e.js';
export { W as WalletClient, a as WalletClientConfig, c as createWalletClient } from './createWalletClient-75813d83.js';
export { A as AbiItem, C as ContractConfig } from './contract-9e76e561.js';
import './eip1193-6f9ba163.js';
import '@wagmi/chains';
import './eip1193-9317a312.js';
import './rpc-26932bae.js';
import 'abitype/dist/abi-78346466';
import 'abitype';
import './decodeErrorResult-0b934d23.js';

@@ -337,162 +329,80 @@ declare class AbiConstructorNotFoundError extends BaseError {

type MAXIMUM_DEPTH = 20;
type Contract<TAbi extends Abi | readonly unknown[] = Abi | readonly unknown[], TFunctionName extends string = string> = {
abi: TAbi;
functionName: TFunctionName;
type EthereumProvider = {
request: BaseRpcRequests['request'];
};
type MulticallContracts<TContracts extends Contract[], TProperties extends Record<string, any> = object, Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? (ContractConfig & TProperties)[] : TContracts extends [] ? [] : TContracts extends [infer Head extends Contract] ? [
...Result,
ContractConfig<Head['abi'], Head['functionName']> & TProperties
] : TContracts extends [
infer Head extends Contract,
...infer Tail extends Contract[]
] ? MulticallContracts<[
...Tail
], TProperties, [
...Result,
ContractConfig<Head['abi'], Head['functionName']> & TProperties
], [
...Depth,
1
]> : unknown[] extends TContracts ? TContracts : TContracts extends ContractConfig<infer TAbi, infer TFunctionName>[] ? (ContractConfig<TAbi, TFunctionName> & TProperties)[] : (ContractConfig & TProperties)[];
type MulticallResult<Result, TAllowFailure extends boolean = true> = TAllowFailure extends true ? ({
error?: undefined;
result: Result;
status: 'success';
} | {
error: Error;
result?: undefined;
status: 'error';
}) : Result;
type MulticallResults<TContracts extends Contract[], TAllowFailure extends boolean = true, Result extends any[] = [], Depth extends ReadonlyArray<number> = []> = Depth['length'] extends MAXIMUM_DEPTH ? MulticallResult<ExtractResultFromAbi, TAllowFailure>[] : TContracts extends [] ? [] : TContracts extends [infer Head extends Contract] ? [...Result, MulticallResult<ExtractResultFromAbi<Head['abi'], Head['functionName']>, TAllowFailure>] : TContracts extends [
infer Head extends Contract,
...infer Tail extends Contract[]
] ? MulticallResults<[
...Tail
], TAllowFailure, [
...Result,
MulticallResult<ExtractResultFromAbi<Head['abi'], Head['functionName']>, TAllowFailure>
], [
...Depth,
1
]> : TContracts extends ContractConfig<infer TAbi, infer TFunctionName>[] ? MulticallResult<ExtractResultFromAbi<TAbi, TFunctionName>, TAllowFailure>[] : MulticallResult<ExtractResultFromAbi, TAllowFailure>[];
type CustomTransportConfig = {
/** The key of the transport. */
key?: TransportConfig['key'];
/** The name of the transport. */
name?: TransportConfig['name'];
};
type CustomTransport = Transport<'custom', EthereumProvider['request']>;
/**
* @description Creates a custom transport given an EIP-1193 compliant `request` attribute.
*/
declare function custom<TProvider extends EthereumProvider>(
/** An Ethereum provider with an EIP-1193 "request" attribute. */
provider: TProvider, { key, name }?: CustomTransportConfig): CustomTransport;
type EventFilterArgs<TEventDefinition extends EventDefinition> = ExtractArgsFromEventDefinition<TEventDefinition>;
type CreateEventFilterArgs<TEventDefinition extends EventDefinition> = {
address?: Address | Address[];
fromBlock?: BlockNumber | BlockTag;
toBlock?: BlockNumber | BlockTag;
} & ({
event: TEventDefinition;
args?: EventFilterArgs<TEventDefinition>;
} | {
event?: never;
args?: never;
});
type CreateEventFilterResponse = Filter<'event'>;
declare function createEventFilter<TEventDefinition extends EventDefinition>(client: PublicClient, { address, event, args, fromBlock, toBlock, }?: CreateEventFilterArgs<TEventDefinition>): Promise<CreateEventFilterResponse>;
type FallbackTransportConfig = {
/** The key of the Fallback transport. */
key?: TransportConfig['key'];
/** The name of the Fallback transport. */
name?: TransportConfig['name'];
};
type FallbackTransport = Transport<'fallback', {
transports: Transport[];
}>;
declare function fallback(transports: Transport[], { key, name }?: FallbackTransportConfig): FallbackTransport;
type CreateContractEventFilterArgs<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any> = {
address?: Address | Address[];
abi: TAbi;
eventName: ExtractEventNameFromAbi<TAbi, TEventName>;
fromBlock?: BlockNumber | BlockTag;
toBlock?: BlockNumber | BlockTag;
} & ExtractEventArgsFromAbi<TAbi, TEventName>;
type CreateContractEventFilterResponse = Filter<'event'>;
declare function createContractEventFilter<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any>(client: PublicClient, { address, abi, args, eventName, fromBlock, toBlock, }: CreateContractEventFilterArgs<TAbi, TEventName>): Promise<CreateContractEventFilterResponse>;
type GetLogsArgs<TEventDefinition extends EventDefinition> = {
/** Address or list of addresses from which logs originated */
address?: Address | Address[];
} & ({
event: TEventDefinition;
args?: EventFilterArgs<TEventDefinition>;
} | {
event?: never;
args?: never;
}) & ({
/** Block number or tag after which to include logs */
fromBlock?: BlockNumber<bigint> | BlockTag;
/** Block number or tag before which to include logs */
toBlock?: BlockNumber<bigint> | BlockTag;
blockHash?: never;
} | {
fromBlock?: never;
toBlock?: never;
/** Hash of block to include logs from */
blockHash?: Hash;
});
type GetLogsResponse = Log[];
type HttpTransportConfig = {
/** The key of the HTTP transport. */
key?: TransportConfig['key'];
/** The name of the HTTP transport. */
name?: TransportConfig['name'];
};
type HttpTransport = Transport<'http', {
url?: string;
}>;
/**
* @description Returns a collection of event logs.
* @description Creates a HTTP transport that connects to a JSON-RPC API.
*/
declare function getLogs<TEventDefinition extends EventDefinition>(client: PublicClient, { address, blockHash, fromBlock, toBlock, event, args, }?: GetLogsArgs<TEventDefinition>): Promise<GetLogsResponse>;
declare function http(
/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
url?: string, { key, name }?: HttpTransportConfig): HttpTransport;
type GetStorageAtArgs = {
address: Address;
slot: Hex;
} & ({
blockNumber?: never;
blockTag?: BlockTag;
} | {
blockNumber?: bigint;
blockTag?: never;
});
type GetStorageAtResponse = Hex | undefined;
declare function getStorageAt(client: PublicClient, { address, blockNumber, blockTag, slot }: GetStorageAtArgs): Promise<GetStorageAtResponse>;
type MulticallArgs<TContracts extends ContractConfig[], TAllowFailure extends boolean = true> = Pick<CallArgs, 'blockNumber' | 'blockTag'> & {
allowFailure?: TAllowFailure;
contracts: readonly [...MulticallContracts<TContracts>];
multicallAddress: Address;
type WebSocketTransportSubscribeArgs = {
onData: (data: RpcResponse) => void;
onError?: (error: any) => void;
};
declare function multicall<TContracts extends ContractConfig[], TAllowFailure extends boolean = true>(client: PublicClient, args: MulticallArgs<TContracts, TAllowFailure>): Promise<MulticallResults<TContracts, TAllowFailure>>;
type WebSocketTransportSubscribeResponse = {
subscriptionId: Hash;
unsubscribe: () => Promise<RpcResponse<boolean>>;
};
type WebSocketTransportSubscribe = {
subscribe(args: WebSocketTransportSubscribeArgs & {
/**
* @description Add information about compiled contracts
* @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
*/
params: ['newHeads'];
}): Promise<WebSocketTransportSubscribeResponse>;
};
type WebSocketTransportConfig = {
/** The key of the WebSocket transport. */
key?: TransportConfig['key'];
/** The name of the WebSocket transport. */
name?: TransportConfig['name'];
};
type WebSocketTransport = Transport<'webSocket', {
getSocket(): Promise<WebSocket>;
subscribe: WebSocketTransportSubscribe['subscribe'];
}>;
/**
* @description Creates a WebSocket transport that connects to a JSON-RPC API.
*/
declare function webSocket(
/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
url?: string, { key, name, }?: WebSocketTransportConfig): WebSocketTransport;
type ReadContractArgs<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = Pick<CallArgs, 'blockNumber' | 'blockTag'> & ContractConfig<TAbi, TFunctionName, 'view' | 'pure'>;
type ReadContractResponse<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = ExtractResultFromAbi<TAbi, TFunctionName>;
declare function readContract<TAbi extends Abi | readonly unknown[], TFunctionName extends string>(client: PublicClient, { abi, address, args, functionName, ...callRequest }: ReadContractArgs<TAbi, TFunctionName>): Promise<ReadContractResponse<TAbi, TFunctionName>>;
type OnLogsResponse$1 = Log[];
type OnLogs$1 = (logs: OnLogsResponse$1) => void;
type WatchContractEventArgs<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any> = {
/** The address of the contract. */
address: Address | Address[];
/** Contract ABI. */
abi: TAbi;
/** Whether or not the event logs should be batched on each invocation. */
batch?: boolean;
/** Contract event. */
eventName?: ExtractEventNameFromAbi<TAbi, TEventName>;
/** The callback to call when an error occurred when trying to get for a new block. */
onError?: (error: Error) => void;
/** The callback to call when new event logs are received. */
onLogs: OnLogs$1;
/** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
pollingInterval?: number;
} & ExtractEventArgsFromAbi<TAbi, TEventName>;
declare function watchContractEvent<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any>(client: PublicClient, { abi, address, args, batch, eventName, onError, onLogs, pollingInterval, }: WatchContractEventArgs<TAbi, TEventName>): () => void;
type OnLogsResponse = Log[];
type OnLogs = (logs: OnLogsResponse) => void;
type WatchEventArgs<TEventDefinition extends EventDefinition> = {
/** The address of the contract. */
address?: Address | Address[];
/** Whether or not the event logs should be batched on each invocation. */
batch?: boolean;
/** The callback to call when an error occurred when trying to get for a new block. */
onError?: (error: Error) => void;
/** The callback to call when new event logs are received. */
onLogs: OnLogs;
/** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
pollingInterval?: number;
} & ({
event: TEventDefinition;
args?: EventFilterArgs<TEventDefinition>;
} | {
event?: never;
args?: never;
});
declare function watchEvent<TEventDefinition extends EventDefinition>(client: PublicClient, { address, args, batch, event, onError, onLogs, pollingInterval, }: WatchEventArgs<TEventDefinition>): () => void;
declare const multicall3Abi: readonly [{

@@ -529,2 +439,2 @@ readonly inputs: readonly [{

export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BlockNotFoundError, CreateContractEventFilterArgs, CreateContractEventFilterResponse, CreateEventFilterArgs, CreateEventFilterResponse, DataLengthTooLongError, DataLengthTooShortError, FilterTypeNotSupportedError, GetLogsArgs, GetLogsResponse, GetStorageAtArgs, GetStorageAtResponse, HttpRequestError, InternalRpcError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidDefinitionTypeError, InvalidGasArgumentsError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, MulticallArgs, OffsetOutOfBoundsError, OnLogs, OnLogsResponse, ParseRpcError, ReadContractArgs, ReadContractResponse, RequestError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, TimeoutError, TransactionNotFoundError, TransactionReceiptNotFoundError, TransactionRejectedRpcError, UnknownRpcError, UrlRequiredError, WaitForTransactionReceiptTimeoutError, WatchContractEventArgs, WatchEventArgs, WebSocketRequestError, createContractEventFilter, createEventFilter, getLogs, getStorageAt, multicall, multicall3Abi, readContract, watchContractEvent, watchEvent };
export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BlockNotFoundError, CustomTransport, CustomTransportConfig, DataLengthTooLongError, DataLengthTooShortError, FallbackTransport, FallbackTransportConfig, FilterTypeNotSupportedError, HttpRequestError, HttpTransport, HttpTransportConfig, InternalRpcError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidDefinitionTypeError, InvalidGasArgumentsError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, OffsetOutOfBoundsError, ParseRpcError, RequestError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, TimeoutError, TransactionNotFoundError, TransactionReceiptNotFoundError, TransactionRejectedRpcError, UnknownRpcError, UrlRequiredError, WaitForTransactionReceiptTimeoutError, WebSocketRequestError, WebSocketTransport, WebSocketTransportConfig, custom, fallback, http, multicall3Abi, webSocket };

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports, "__esModule", {value: true});
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }

@@ -11,3 +11,2 @@

var _chunkZSTVHQ6Jjs = require('./chunk-ZSTVHQ6J.js');

@@ -47,3 +46,2 @@

var _chunkA2HXAZXCjs = require('./chunk-A2HXAZXC.js');

@@ -64,16 +62,246 @@

var _chunkTHMRUG4Djs = require('./chunk-THMRUG4D.js');
// src/clients/transports/createTransport.ts
function createTransport(config, value) {
return {
config,
value
};
}
// src/clients/transports/custom.ts
function custom(provider, { key = "custom", name = "Custom Provider" } = {}) {
return () => createTransport({
key,
name,
request: provider.request.bind(provider),
type: "custom"
});
}
// src/clients/transports/fallback.ts
function fallback(transports, { key = "fallback", name = "Fallback" } = {}) {
return ({ chain }) => createTransport(
{
key,
name,
async request({ method, params }) {
const fetch = async (i = 0) => {
const transport = transports[i]({ chain });
try {
return await transport.config.request({
method,
params
});
} catch (err) {
if (!(err instanceof _chunkTHMRUG4Djs.RpcError) && i < transports.length - 1)
return fetch(i + 1);
throw err;
}
};
return fetch();
},
type: "fallback"
},
{
transports: transports.map(
(fn) => fn({ chain })
)
}
);
}
// src/clients/transports/http.ts
function http(url, { key = "http", name = "HTTP JSON-RPC" } = {}) {
return ({ chain }) => {
const url_ = url || _optionalChain([chain, 'optionalAccess', _ => _.rpcUrls, 'access', _2 => _2.default, 'access', _3 => _3.http, 'access', _4 => _4[0]]);
if (!url_)
throw new (0, _chunkTHMRUG4Djs.UrlRequiredError)();
return createTransport(
{
key,
name,
async request({ method, params }) {
const { result } = await _chunkTHMRUG4Djs.rpc.http(url_, {
body: {
method,
params
}
});
return result;
},
type: "http"
},
{
url
}
);
};
}
// src/clients/transports/webSocket.ts
function webSocket(url, {
key = "webSocket",
name = "WebSocket JSON-RPC"
} = {}) {
return ({ chain }) => {
const url_ = url || _optionalChain([chain, 'optionalAccess', _5 => _5.rpcUrls, 'access', _6 => _6.default, 'access', _7 => _7.webSocket, 'optionalAccess', _8 => _8[0]]);
if (!url_)
throw new (0, _chunkTHMRUG4Djs.UrlRequiredError)();
return createTransport(
{
key,
name,
async request({ method, params }) {
const socket = await _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
const { result } = await _chunkTHMRUG4Djs.rpc.webSocketAsync(socket, {
body: { method, params }
});
return result;
},
type: "webSocket"
},
{
getSocket() {
return _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
},
async subscribe({ params, onData, onError }) {
const socket = await _chunkTHMRUG4Djs.getSocket.call(void 0, url_);
const { result: subscriptionId } = await new Promise(
(resolve, reject) => _chunkTHMRUG4Djs.rpc.webSocket(socket, {
body: {
method: "eth_subscribe",
params
},
onData: (data) => {
if (typeof data.id === "number") {
resolve(data);
return;
}
onData(data);
},
onError: (error) => {
reject(error);
_optionalChain([onError, 'optionalCall', _9 => _9(error)]);
}
})
);
return {
subscriptionId,
async unsubscribe() {
return new Promise(
(resolve, reject) => _chunkTHMRUG4Djs.rpc.webSocket(socket, {
body: {
method: "eth_unsubscribe",
params: [subscriptionId]
},
onData: resolve,
onError: reject
})
);
}
};
}
}
);
};
}
// src/utils/uid.ts
var size = 256;
var index = size;
var buffer;
function uid(length = 11) {
if (!buffer || index + length > size * 2) {
buffer = "";
index = 0;
for (let i = 0; i < size; i++) {
buffer += (256 + Math.random() * 256 | 0).toString(16).substring(1);
}
}
return buffer.substring(index, index++ + length);
}
// src/clients/createClient.ts
function createClient({
chain,
key = "base",
name = "Base Client",
pollingInterval = 4e3,
transport,
type = "base"
}) {
const { config, value } = transport({ chain });
return {
chain,
key,
name,
pollingInterval,
request: _chunkTHMRUG4Djs.buildRequest.call(void 0, config.request),
transport: { ...config, ...value },
type,
uid: uid()
};
}
// src/clients/createPublicClient.ts
function createPublicClient({
chain,
key = "public",
name = "Public Client",
transport,
pollingInterval
}) {
chain;
return createClient({
chain,
key,
name,
pollingInterval,
transport,
type: "publicClient"
});
}
// src/clients/createTestClient.ts
function createTestClient({
chain,
key = "test",
name = "Test Client",
mode,
pollingInterval,
transport
}) {
return {
...createClient({
chain,
key,
name,
pollingInterval,
transport,
type: "testClient"
}),
mode
};
}
// src/clients/createWalletClient.ts
function createWalletClient({
transport,
key = "wallet",
name = "Wallet Client",
pollingInterval
}) {
return createClient({
key,
name,
pollingInterval,
transport,
type: "walletClient"
});
}
var _chunkN3IOPT3Rjs = require('./chunk-N3IOPT3R.js');

@@ -90,3 +318,2 @@

var _chunkZYSXBTBBjs = require('./chunk-ZYSXBTBB.js');

@@ -143,272 +370,3 @@

var _chunk4D5XG6XBjs = require('./chunk-4D5XG6XB.js');
exports.AbiConstructorNotFoundError = _chunk4D5XG6XBjs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunk4D5XG6XBjs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunk4D5XG6XBjs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunk4D5XG6XBjs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunk4D5XG6XBjs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunk4D5XG6XBjs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunk4D5XG6XBjs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunk4D5XG6XBjs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunk4D5XG6XBjs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunk4D5XG6XBjs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunk4D5XG6XBjs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunk4D5XG6XBjs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunk4D5XG6XBjs.BaseError; exports.BlockNotFoundError = _chunk4D5XG6XBjs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunk4D5XG6XBjs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunk4D5XG6XBjs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunk4D5XG6XBjs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunk4D5XG6XBjs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunk4D5XG6XBjs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunk4D5XG6XBjs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunk4D5XG6XBjs.HttpRequestError; exports.InternalRpcError = _chunk4D5XG6XBjs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunk4D5XG6XBjs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunk4D5XG6XBjs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunk4D5XG6XBjs.InvalidAddressError; exports.InvalidArrayError = _chunk4D5XG6XBjs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunk4D5XG6XBjs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunk4D5XG6XBjs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunk4D5XG6XBjs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunk4D5XG6XBjs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunk4D5XG6XBjs.InvalidHexValueError; exports.InvalidInputRpcError = _chunk4D5XG6XBjs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunk4D5XG6XBjs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunk4D5XG6XBjs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunk4D5XG6XBjs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunk4D5XG6XBjs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunk4D5XG6XBjs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunk4D5XG6XBjs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunk4D5XG6XBjs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunk4D5XG6XBjs.ParseRpcError; exports.RequestError = _chunk4D5XG6XBjs.RequestError; exports.ResourceNotFoundRpcError = _chunk4D5XG6XBjs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunk4D5XG6XBjs.ResourceUnavailableRpcError; exports.RpcError = _chunk4D5XG6XBjs.RpcError; exports.RpcRequestError = _chunk4D5XG6XBjs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunk4D5XG6XBjs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunk4D5XG6XBjs.TimeoutError; exports.TransactionNotFoundError = _chunk4D5XG6XBjs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunk4D5XG6XBjs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunk4D5XG6XBjs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunk4D5XG6XBjs.UnknownRpcError; exports.UrlRequiredError = _chunk4D5XG6XBjs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunk4D5XG6XBjs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunk4D5XG6XBjs.WebSocketRequestError; exports.addChain = _chunkZYSXBTBBjs.addChain; exports.boolToBytes = _chunk4D5XG6XBjs.boolToBytes; exports.boolToHex = _chunk4D5XG6XBjs.boolToHex; exports.bytesToBigint = _chunk4D5XG6XBjs.bytesToBigint; exports.bytesToBool = _chunk4D5XG6XBjs.bytesToBool; exports.bytesToHex = _chunk4D5XG6XBjs.bytesToHex; exports.bytesToNumber = _chunk4D5XG6XBjs.bytesToNumber; exports.bytesToString = _chunk4D5XG6XBjs.bytesToString; exports.call = _chunkA2HXAZXCjs.call; exports.createBlockFilter = _chunkA2HXAZXCjs.createBlockFilter; exports.createClient = _chunkZSTVHQ6Jjs.createClient; exports.createContractEventFilter = _chunkA2HXAZXCjs.createContractEventFilter; exports.createEventFilter = _chunkA2HXAZXCjs.createEventFilter; exports.createPendingTransactionFilter = _chunkA2HXAZXCjs.createPendingTransactionFilter; exports.createPublicClient = _chunkZSTVHQ6Jjs.createPublicClient; exports.createTestClient = _chunkZSTVHQ6Jjs.createTestClient; exports.createTransport = _chunkZSTVHQ6Jjs.createTransport; exports.createWalletClient = _chunkZSTVHQ6Jjs.createWalletClient; exports.custom = _chunkZSTVHQ6Jjs.custom; exports.decodeAbi = _chunk4D5XG6XBjs.decodeAbi; exports.decodeBytes = _chunk4D5XG6XBjs.decodeBytes; exports.decodeErrorResult = _chunk4D5XG6XBjs.decodeErrorResult; exports.decodeFunctionData = _chunk4D5XG6XBjs.decodeFunctionData; exports.decodeFunctionResult = _chunk4D5XG6XBjs.decodeFunctionResult; exports.decodeHex = _chunk4D5XG6XBjs.decodeHex; exports.decodeRlp = _chunk4D5XG6XBjs.decodeRlp; exports.deployContract = _chunkA2HXAZXCjs.deployContract; exports.dropTransaction = _chunkN3IOPT3Rjs.dropTransaction; exports.encodeAbi = _chunk4D5XG6XBjs.encodeAbi; exports.encodeBytes = _chunk4D5XG6XBjs.encodeBytes; exports.encodeDeployData = _chunk4D5XG6XBjs.encodeDeployData; exports.encodeErrorResult = _chunk4D5XG6XBjs.encodeErrorResult; exports.encodeEventTopics = _chunk4D5XG6XBjs.encodeEventTopics; exports.encodeFunctionData = _chunk4D5XG6XBjs.encodeFunctionData; exports.encodeFunctionResult = _chunk4D5XG6XBjs.encodeFunctionResult; exports.encodeHex = _chunk4D5XG6XBjs.encodeHex; exports.encodeRlp = _chunk4D5XG6XBjs.encodeRlp; exports.estimateGas = _chunkA2HXAZXCjs.estimateGas; exports.etherUnits = _chunk4D5XG6XBjs.etherUnits; exports.fallback = _chunkZSTVHQ6Jjs.fallback; exports.formatBlock = _chunk4D5XG6XBjs.formatBlock; exports.formatEther = _chunk4D5XG6XBjs.formatEther; exports.formatGwei = _chunk4D5XG6XBjs.formatGwei; exports.formatTransaction = _chunk4D5XG6XBjs.formatTransaction; exports.formatTransactionRequest = _chunk4D5XG6XBjs.formatTransactionRequest; exports.formatUnit = _chunk4D5XG6XBjs.formatUnit; exports.getAccounts = _chunkZYSXBTBBjs.getAccounts; exports.getAddress = _chunk4D5XG6XBjs.getAddress; exports.getAutomine = _chunkN3IOPT3Rjs.getAutomine; exports.getBalance = _chunkA2HXAZXCjs.getBalance; exports.getBlock = _chunkA2HXAZXCjs.getBlock; exports.getBlockNumber = _chunkA2HXAZXCjs.getBlockNumber; exports.getBlockTransactionCount = _chunkA2HXAZXCjs.getBlockTransactionCount; exports.getBytecode = _chunkA2HXAZXCjs.getBytecode; exports.getChainId = _chunkA2HXAZXCjs.getChainId; exports.getContractAddress = _chunk4D5XG6XBjs.getContractAddress; exports.getCreate2Address = _chunk4D5XG6XBjs.getCreate2Address; exports.getCreateAddress = _chunk4D5XG6XBjs.getCreateAddress; exports.getEventSignature = _chunk4D5XG6XBjs.getEventSignature; exports.getFeeHistory = _chunkA2HXAZXCjs.getFeeHistory; exports.getFilterChanges = _chunkA2HXAZXCjs.getFilterChanges; exports.getFilterLogs = _chunkA2HXAZXCjs.getFilterLogs; exports.getFunctionSignature = _chunk4D5XG6XBjs.getFunctionSignature; exports.getGasPrice = _chunkA2HXAZXCjs.getGasPrice; exports.getLogs = _chunkA2HXAZXCjs.getLogs; exports.getPermissions = _chunkZYSXBTBBjs.getPermissions; exports.getStorageAt = _chunkA2HXAZXCjs.getStorageAt; exports.getTransaction = _chunkA2HXAZXCjs.getTransaction; exports.getTransactionConfirmations = _chunkA2HXAZXCjs.getTransactionConfirmations; exports.getTransactionCount = _chunkA2HXAZXCjs.getTransactionCount; exports.getTransactionReceipt = _chunkA2HXAZXCjs.getTransactionReceipt; exports.getTxpoolContent = _chunkN3IOPT3Rjs.getTxpoolContent; exports.getTxpoolStatus = _chunkN3IOPT3Rjs.getTxpoolStatus; exports.gweiUnits = _chunk4D5XG6XBjs.gweiUnits; exports.hexToBigInt = _chunk4D5XG6XBjs.hexToBigInt; exports.hexToBool = _chunk4D5XG6XBjs.hexToBool; exports.hexToBytes = _chunk4D5XG6XBjs.hexToBytes; exports.hexToNumber = _chunk4D5XG6XBjs.hexToNumber; exports.hexToString = _chunk4D5XG6XBjs.hexToString; exports.http = _chunkZSTVHQ6Jjs.http; exports.impersonateAccount = _chunkN3IOPT3Rjs.impersonateAccount; exports.increaseTime = _chunkN3IOPT3Rjs.increaseTime; exports.inspectTxpool = _chunkN3IOPT3Rjs.inspectTxpool; exports.isAddress = _chunk4D5XG6XBjs.isAddress; exports.isAddressEqual = _chunk4D5XG6XBjs.isAddressEqual; exports.isBytes = _chunk4D5XG6XBjs.isBytes; exports.isHex = _chunk4D5XG6XBjs.isHex; exports.keccak256 = _chunk4D5XG6XBjs.keccak256; exports.mine = _chunkN3IOPT3Rjs.mine; exports.multicall = _chunkA2HXAZXCjs.multicall; exports.multicall3Abi = _chunk4D5XG6XBjs.multicall3Abi; exports.numberToBytes = _chunk4D5XG6XBjs.numberToBytes; exports.numberToHex = _chunk4D5XG6XBjs.numberToHex; exports.pad = _chunk4D5XG6XBjs.pad; exports.padBytes = _chunk4D5XG6XBjs.padBytes; exports.padHex = _chunk4D5XG6XBjs.padHex; exports.parseEther = _chunk4D5XG6XBjs.parseEther; exports.parseGwei = _chunk4D5XG6XBjs.parseGwei; exports.parseUnit = _chunk4D5XG6XBjs.parseUnit; exports.readContract = _chunkA2HXAZXCjs.readContract; exports.removeBlockTimestampInterval = _chunkN3IOPT3Rjs.removeBlockTimestampInterval; exports.requestAccounts = _chunkZYSXBTBBjs.requestAccounts; exports.requestPermissions = _chunkZYSXBTBBjs.requestPermissions; exports.reset = _chunkN3IOPT3Rjs.reset; exports.revert = _chunkN3IOPT3Rjs.revert; exports.sendTransaction = _chunkZYSXBTBBjs.sendTransaction; exports.sendUnsignedTransaction = _chunkN3IOPT3Rjs.sendUnsignedTransaction; exports.setAutomine = _chunkN3IOPT3Rjs.setAutomine; exports.setBalance = _chunkN3IOPT3Rjs.setBalance; exports.setBlockGasLimit = _chunkN3IOPT3Rjs.setBlockGasLimit; exports.setBlockTimestampInterval = _chunkN3IOPT3Rjs.setBlockTimestampInterval; exports.setCode = _chunkN3IOPT3Rjs.setCode; exports.setCoinbase = _chunkN3IOPT3Rjs.setCoinbase; exports.setIntervalMining = _chunkN3IOPT3Rjs.setIntervalMining; exports.setLoggingEnabled = _chunkN3IOPT3Rjs.setLoggingEnabled; exports.setMinGasPrice = _chunkN3IOPT3Rjs.setMinGasPrice; exports.setNextBlockBaseFeePerGas = _chunkN3IOPT3Rjs.setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = _chunkN3IOPT3Rjs.setNextBlockTimestamp; exports.setNonce = _chunkN3IOPT3Rjs.setNonce; exports.setStorageAt = _chunkN3IOPT3Rjs.setStorageAt; exports.signMessage = _chunkZYSXBTBBjs.signMessage; exports.simulateContract = _chunkA2HXAZXCjs.simulateContract; exports.size = _chunk4D5XG6XBjs.size; exports.slice = _chunk4D5XG6XBjs.slice; exports.sliceBytes = _chunk4D5XG6XBjs.sliceBytes; exports.sliceHex = _chunk4D5XG6XBjs.sliceHex; exports.snapshot = _chunkN3IOPT3Rjs.snapshot; exports.stopImpersonatingAccount = _chunkN3IOPT3Rjs.stopImpersonatingAccount; exports.stringToBytes = _chunk4D5XG6XBjs.stringToBytes; exports.stringToHex = _chunk4D5XG6XBjs.stringToHex; exports.switchChain = _chunkZYSXBTBBjs.switchChain; exports.transactionType = _chunk4D5XG6XBjs.transactionType; exports.trim = _chunk4D5XG6XBjs.trim; exports.uninstallFilter = _chunkA2HXAZXCjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkA2HXAZXCjs.waitForTransactionReceipt; exports.watchAsset = _chunkZYSXBTBBjs.watchAsset; exports.watchBlockNumber = _chunkA2HXAZXCjs.watchBlockNumber; exports.watchBlocks = _chunkA2HXAZXCjs.watchBlocks; exports.watchContractEvent = _chunkA2HXAZXCjs.watchContractEvent; exports.watchEvent = _chunkA2HXAZXCjs.watchEvent; exports.watchPendingTransactions = _chunkA2HXAZXCjs.watchPendingTransactions; exports.webSocket = _chunkZSTVHQ6Jjs.webSocket; exports.weiUnits = _chunk4D5XG6XBjs.weiUnits; exports.writeContract = _chunkZYSXBTBBjs.writeContract;
exports.AbiConstructorNotFoundError = _chunkTHMRUG4Djs.AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = _chunkTHMRUG4Djs.AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = _chunkTHMRUG4Djs.AbiDecodingDataSizeInvalidError; exports.AbiEncodingArrayLengthMismatchError = _chunkTHMRUG4Djs.AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = _chunkTHMRUG4Djs.AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = _chunkTHMRUG4Djs.AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = _chunkTHMRUG4Djs.AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = _chunkTHMRUG4Djs.AbiErrorSignatureNotFoundError; exports.AbiEventNotFoundError = _chunkTHMRUG4Djs.AbiEventNotFoundError; exports.AbiFunctionNotFoundError = _chunkTHMRUG4Djs.AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = _chunkTHMRUG4Djs.AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = _chunkTHMRUG4Djs.AbiFunctionSignatureNotFoundError; exports.BaseError = _chunkTHMRUG4Djs.BaseError; exports.BlockNotFoundError = _chunkTHMRUG4Djs.BlockNotFoundError; exports.ContractFunctionExecutionError = _chunkTHMRUG4Djs.ContractFunctionExecutionError; exports.ContractFunctionRevertedError = _chunkTHMRUG4Djs.ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = _chunkTHMRUG4Djs.ContractFunctionZeroDataError; exports.DataLengthTooLongError = _chunkTHMRUG4Djs.DataLengthTooLongError; exports.DataLengthTooShortError = _chunkTHMRUG4Djs.DataLengthTooShortError; exports.FilterTypeNotSupportedError = _chunkTHMRUG4Djs.FilterTypeNotSupportedError; exports.HttpRequestError = _chunkTHMRUG4Djs.HttpRequestError; exports.InternalRpcError = _chunkTHMRUG4Djs.InternalRpcError; exports.InvalidAbiDecodingTypeError = _chunkTHMRUG4Djs.InvalidAbiDecodingTypeError; exports.InvalidAbiEncodingTypeError = _chunkTHMRUG4Djs.InvalidAbiEncodingTypeError; exports.InvalidAddressError = _chunkTHMRUG4Djs.InvalidAddressError; exports.InvalidArrayError = _chunkTHMRUG4Djs.InvalidArrayError; exports.InvalidBytesBooleanError = _chunkTHMRUG4Djs.InvalidBytesBooleanError; exports.InvalidDefinitionTypeError = _chunkTHMRUG4Djs.InvalidDefinitionTypeError; exports.InvalidGasArgumentsError = _chunkTHMRUG4Djs.InvalidGasArgumentsError; exports.InvalidHexBooleanError = _chunkTHMRUG4Djs.InvalidHexBooleanError; exports.InvalidHexValueError = _chunkTHMRUG4Djs.InvalidHexValueError; exports.InvalidInputRpcError = _chunkTHMRUG4Djs.InvalidInputRpcError; exports.InvalidParamsRpcError = _chunkTHMRUG4Djs.InvalidParamsRpcError; exports.InvalidRequestRpcError = _chunkTHMRUG4Djs.InvalidRequestRpcError; exports.JsonRpcVersionUnsupportedError = _chunkTHMRUG4Djs.JsonRpcVersionUnsupportedError; exports.LimitExceededRpcError = _chunkTHMRUG4Djs.LimitExceededRpcError; exports.MethodNotFoundRpcError = _chunkTHMRUG4Djs.MethodNotFoundRpcError; exports.MethodNotSupportedRpcError = _chunkTHMRUG4Djs.MethodNotSupportedRpcError; exports.OffsetOutOfBoundsError = _chunkTHMRUG4Djs.OffsetOutOfBoundsError; exports.ParseRpcError = _chunkTHMRUG4Djs.ParseRpcError; exports.RequestError = _chunkTHMRUG4Djs.RequestError; exports.ResourceNotFoundRpcError = _chunkTHMRUG4Djs.ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = _chunkTHMRUG4Djs.ResourceUnavailableRpcError; exports.RpcError = _chunkTHMRUG4Djs.RpcError; exports.RpcRequestError = _chunkTHMRUG4Djs.RpcRequestError; exports.SizeExceedsPaddingSizeError = _chunkTHMRUG4Djs.SizeExceedsPaddingSizeError; exports.TimeoutError = _chunkTHMRUG4Djs.TimeoutError; exports.TransactionNotFoundError = _chunkTHMRUG4Djs.TransactionNotFoundError; exports.TransactionReceiptNotFoundError = _chunkTHMRUG4Djs.TransactionReceiptNotFoundError; exports.TransactionRejectedRpcError = _chunkTHMRUG4Djs.TransactionRejectedRpcError; exports.UnknownRpcError = _chunkTHMRUG4Djs.UnknownRpcError; exports.UrlRequiredError = _chunkTHMRUG4Djs.UrlRequiredError; exports.WaitForTransactionReceiptTimeoutError = _chunkTHMRUG4Djs.WaitForTransactionReceiptTimeoutError; exports.WebSocketRequestError = _chunkTHMRUG4Djs.WebSocketRequestError; exports.createClient = createClient; exports.createPublicClient = createPublicClient; exports.createTestClient = createTestClient; exports.createTransport = createTransport; exports.createWalletClient = createWalletClient; exports.custom = custom; exports.fallback = fallback; exports.http = http; exports.multicall3Abi = _chunkTHMRUG4Djs.multicall3Abi; exports.webSocket = webSocket;
//# sourceMappingURL=index.js.map

@@ -1,11 +0,353 @@

export { C as CallArgs, a as CallResponse, b as CreateBlockFilterResponse, c as CreatePendingTransactionFilterResponse, D as DeployContractArgs, e as DeployContractResponse, E as EstimateGasArgs, d as EstimateGasResponse, G as GetBalanceArgs, f as GetBalanceResponse, g as GetBlockArgs, h as GetBlockNumberArgs, i as GetBlockNumberResponse, j as GetBlockResponse, k as GetBlockTransactionCountArgs, l as GetBlockTransactionCountResponse, m as GetBytecodeArgs, n as GetBytecodeResponse, o as GetFeeHistoryArgs, p as GetFeeHistoryResponse, q as GetFilterChangesArgs, r as GetFilterChangesResponse, s as GetFilterLogsArgs, t as GetFilterLogsResponse, u as GetGasPriceResponse, v as GetTransactionArgs, w as GetTransactionConfirmationsArgs, x as GetTransactionConfirmationsResponse, y as GetTransactionCountArgs, z as GetTransactionCountResponse, B as GetTransactionReceiptArgs, H as GetTransactionReceiptResponse, A as GetTransactionResponse, O as OnBlock, I as OnBlockNumber, J as OnBlockNumberResponse, K as OnBlockResponse, L as OnTransactions, M as OnTransactionsResponse, ao as ReplacementReason, ap as ReplacementResponse, S as SimulateContractArgs, N as SimulateContractResponse, U as UninstallFilterArgs, P as UninstallFilterResponse, W as WaitForTransactionReceiptArgs, Q as WaitForTransactionReceiptResponse, R as WatchBlockNumberArgs, T as WatchBlocksArgs, V as WatchPendingTransactionsArgs, Z as call, _ as createBlockFilter, $ as createPendingTransactionFilter, a0 as deployContract, a1 as estimateGas, a2 as getBalance, a3 as getBlock, a4 as getBlockNumber, an as getBlockNumberCache, a5 as getBlockTransactionCount, a6 as getBytecode, a7 as getChainId, a8 as getFeeHistory, a9 as getFilterChanges, aa as getFilterLogs, ab as getGasPrice, ac as getTransaction, ad as getTransactionConfirmations, ae as getTransactionCount, af as getTransactionReceipt, ag as simulateContract, ah as uninstallFilter, ai as waitForTransactionReceipt, aj as watchBlockNumber, ak as watchBlocks, al as watchPendingTransactions } from './watchPendingTransactions-ea21b31d.js';
export { C as CallArgs, a as CallResponse, c as call } from './call-ac509982.js';
import { H as Hex, X as EstimateGasParameters, b as BlockTag, A as Address, a as Hash, C as Chain, F as FeeHistory, L as Log, f as BlockNumber, Y as FormattedTransaction, Z as TransactionFormatter, V as Formatted, W as ExtractFormatter, O as Formatter, p as RpcTransactionReceipt, T as TransactionReceipt, K as TransactionType, x as Transaction } from './chain-f16512e8.js';
import { P as PublicClient } from './createPublicClient-b732194e.js';
import { F as FormattedBlock, B as BlockFormatter, a as FormattedTransactionReceipt, T as TransactionReceiptFormatter } from './transactionReceipt-2a86c7c7.js';
import { E as EventFilterArgs } from './watchEvent-c346c12d.js';
export { G as GetBytecodeArgs, a as GetBytecodeResponse, g as getBytecode, w as watchEvent } from './watchEvent-c346c12d.js';
import { j as EventDefinition } from './contract-9e76e561.js';
import './transactionRequest-c7794f5e.js';
import '@wagmi/chains';
import './eip1193-6f9ba163.js';
import './createClient-68ee4bb4.js';
import 'abitype';
import './chain-afa13f5a.js';
import '@wagmi/chains';
import './contract-70f4ddbe.js';
import './createPublicClient-d3d12dc3.js';
import './eip1193-9317a312.js';
import './createClient-60e3ab98.js';
import './createWalletClient-9ec3df4f.js';
import './sendTransaction-54a0d509.js';
import './transactionRequest-bdf57f7d.js';
type FilterType = 'transaction' | 'block' | 'event';
type Filter<TFilterType extends FilterType = 'event'> = {
id: Hex;
type: TFilterType;
};
type CreatePendingTransactionFilterResponse = Filter<'transaction'>;
declare function createPendingTransactionFilter(client: PublicClient): Promise<CreatePendingTransactionFilterResponse>;
type CreateBlockFilterResponse = Filter<'block'>;
declare function createBlockFilter(client: PublicClient): Promise<CreateBlockFilterResponse>;
type EstimateGasArgs = EstimateGasParameters & ({
/** The balance of the account at a block number. */
blockNumber?: bigint;
blockTag?: never;
} | {
blockNumber?: never;
/** The balance of the account at a block tag. */
blockTag?: BlockTag;
});
type EstimateGasResponse = bigint;
/**
* @description Estimates the gas necessary to complete a transaction without submitting it to the network.
*/
declare function estimateGas(client: PublicClient, { blockNumber, blockTag, data, from, gas, gasPrice, maxFeePerGas, maxPriorityFeePerGas, to, value, }: EstimateGasArgs): Promise<EstimateGasResponse>;
type GetBalanceArgs = {
/** The address of the account. */
address: Address;
} & ({
/** The balance of the account at a block number. */
blockNumber?: bigint;
blockTag?: never;
} | {
blockNumber?: never;
/** The balance of the account at a block tag. */
blockTag?: BlockTag;
});
type GetBalanceResponse = bigint;
/**
* @description Returns the balance of an address in wei.
*/
declare function getBalance(client: PublicClient, { address, blockNumber, blockTag }: GetBalanceArgs): Promise<GetBalanceResponse>;
type GetBlockArgs = {
/** Whether or not to include transaction data in the response. */
includeTransactions?: boolean;
} & ({
/** Hash of the block. */
blockHash?: Hash;
blockNumber?: never;
blockTag?: never;
} | {
blockHash?: never;
/** The block number. */
blockNumber?: bigint;
blockTag?: never;
} | {
blockHash?: never;
blockNumber?: never;
/** The block tag. Defaults to 'latest'. */
blockTag?: BlockTag;
});
type GetBlockResponse<TChain extends Chain = Chain> = FormattedBlock<BlockFormatter<TChain>>;
declare function getBlock<TChain extends Chain>(client: PublicClient<any, TChain>, { blockHash, blockNumber, blockTag, includeTransactions, }?: GetBlockArgs): Promise<GetBlockResponse<TChain>>;
type GetBlockNumberArgs = {
/** The maximum age (in ms) of the cached value. */
maxAge?: number;
};
type GetBlockNumberResponse = bigint;
declare function getBlockNumberCache(id: string): {
clear: () => void;
promise: {
clear: () => boolean;
get: () => Promise<unknown> | undefined;
set: (data: Promise<unknown>) => Map<string, Promise<unknown>>;
};
response: {
clear: () => boolean;
get: () => {
created: Date;
data: unknown;
} | undefined;
set: (data: {
created: Date;
data: unknown;
}) => Map<string, {
created: Date;
data: unknown;
}>;
};
};
/**
* @description Returns the number of the most recent block seen.
*/
declare function getBlockNumber(client: PublicClient, { maxAge }?: GetBlockNumberArgs): Promise<GetBlockNumberResponse>;
type GetBlockTransactionCountArgs = {
/** Hash of the block. */
blockHash?: Hash;
blockNumber?: never;
blockTag?: never;
} | {
blockHash?: never;
/** The block number. */
blockNumber?: bigint;
blockTag?: never;
} | {
blockHash?: never;
blockNumber?: never;
/** The block tag. Defaults to 'latest'. */
blockTag?: BlockTag;
};
type GetBlockTransactionCountResponse = number;
declare function getBlockTransactionCount<TChain extends Chain>(client: PublicClient<any, TChain>, { blockHash, blockNumber, blockTag, }?: GetBlockTransactionCountArgs): Promise<GetBlockTransactionCountResponse>;
declare function getChainId(client: PublicClient): Promise<number>;
type GetFeeHistoryArgs = {
blockCount: number;
rewardPercentiles: number[];
} & ({
blockNumber?: never;
blockTag?: BlockTag;
} | {
blockNumber?: bigint;
blockTag?: never;
});
type GetFeeHistoryResponse = FeeHistory;
/**
* @description Returns a collection of historical gas information.
*/
declare function getFeeHistory(client: PublicClient, { blockCount, blockNumber, blockTag, rewardPercentiles, }: GetFeeHistoryArgs): Promise<GetFeeHistoryResponse>;
type GetFilterChangesArgs<TFilterType extends FilterType> = {
filter: Filter<TFilterType>;
};
type GetFilterChangesResponse<TFilterType extends FilterType> = TFilterType extends 'event' ? Log[] : Hash[];
declare function getFilterChanges<TFilterType extends FilterType>(client: PublicClient, { filter }: GetFilterChangesArgs<TFilterType>): Promise<GetFilterChangesResponse<TFilterType>>;
type GetFilterLogsArgs = {
filter: Filter<'event'>;
};
type GetFilterLogsResponse = Log[];
declare function getFilterLogs<TFilterType extends FilterType>(client: PublicClient, { filter }: GetFilterLogsArgs): Promise<GetFilterLogsResponse>;
type GetGasPriceResponse = bigint;
/**
* @description Returns the current price of gas (in wei).
*/
declare function getGasPrice(client: PublicClient): Promise<GetGasPriceResponse>;
type GetLogsArgs<TEventDefinition extends EventDefinition> = {
/** Address or list of addresses from which logs originated */
address?: Address | Address[];
} & ({
event: TEventDefinition;
args?: EventFilterArgs<TEventDefinition>;
} | {
event?: never;
args?: never;
}) & ({
/** Block number or tag after which to include logs */
fromBlock?: BlockNumber<bigint> | BlockTag;
/** Block number or tag before which to include logs */
toBlock?: BlockNumber<bigint> | BlockTag;
blockHash?: never;
} | {
fromBlock?: never;
toBlock?: never;
/** Hash of block to include logs from */
blockHash?: Hash;
});
type GetLogsResponse = Log[];
/**
* @description Returns a collection of event logs.
*/
declare function getLogs<TEventDefinition extends EventDefinition>(client: PublicClient, { address, blockHash, fromBlock, toBlock, event, args, }?: GetLogsArgs<TEventDefinition>): Promise<GetLogsResponse>;
type GetTransactionArgs = {
/** The block hash */
blockHash: Hash;
blockNumber?: never;
blockTag?: never;
hash?: never;
/** The index of the transaction on the block. */
index: number;
} | {
blockHash?: never;
/** The block number */
blockNumber: bigint;
blockTag?: never;
hash?: never;
/** The index of the transaction on the block. */
index: number;
} | {
blockHash?: never;
blockNumber?: never;
/** The block tag. */
blockTag: BlockTag;
hash?: never;
/** The index of the transaction on the block. */
index: number;
} | {
blockHash?: never;
blockNumber?: never;
blockTag?: never;
/** The hash of the transaction. */
hash: Hash;
index?: number;
};
type GetTransactionResponse<TChain extends Chain = Chain> = FormattedTransaction<TransactionFormatter<TChain>>;
/** @description Returns information about a transaction given a hash or block identifier. */
declare function getTransaction<TChain extends Chain>(client: PublicClient<any, TChain>, { blockHash, blockNumber, blockTag, hash, index, }: GetTransactionArgs): Promise<GetTransactionResponse<TChain>>;
type GetTransactionConfirmationsArgs<TChain extends Chain> = {
/** The transaction hash. */
hash: Hash;
transactionReceipt?: never;
} | {
hash?: never;
/** The transaction receipt. */
transactionReceipt: FormattedTransactionReceipt<TransactionReceiptFormatter<TChain>>;
};
type GetTransactionConfirmationsResponse = bigint;
declare function getTransactionConfirmations<TChain extends Chain>(client: PublicClient<any, TChain>, { hash, transactionReceipt }: GetTransactionConfirmationsArgs<TChain>): Promise<GetTransactionConfirmationsResponse>;
type GetTransactionCountArgs = {
/** The account address. */
address: Address;
} & ({
/** The block number. */
blockNumber?: bigint;
blockTag?: never;
} | {
blockNumber?: never;
/** The block tag. Defaults to 'latest'. */
blockTag?: BlockTag;
});
type GetTransactionCountResponse = number;
/**
* @description Returns the number of transactions an account has broadcast / sent.
*/
declare function getTransactionCount(client: PublicClient, { address, blockTag, blockNumber }: GetTransactionCountArgs): Promise<GetTransactionCountResponse>;
type GetTransactionReceiptArgs = {
/** The hash of the transaction. */
hash: Hash;
};
type GetTransactionReceiptResponse<TChain extends Chain = Chain> = FormattedTransactionReceipt<TransactionReceiptFormatter<TChain>>;
declare function getTransactionReceipt<TChain extends Chain>(client: PublicClient<any, TChain>, { hash }: GetTransactionReceiptArgs): Promise<Formatted<ExtractFormatter<TChain, "transactionReceipt", Formatter<RpcTransactionReceipt, TransactionReceipt<bigint, number, "success" | "reverted", TransactionType>>>, TransactionReceipt<bigint, number, "success" | "reverted", TransactionType>, false>>;
type UninstallFilterArgs = {
filter: Filter<any>;
};
type UninstallFilterResponse = boolean;
declare function uninstallFilter(client: PublicClient, { filter }: UninstallFilterArgs): Promise<UninstallFilterResponse>;
type ReplacementReason = 'cancelled' | 'replaced' | 'repriced';
type ReplacementResponse<TChain extends Chain = Chain> = {
reason: ReplacementReason;
replacedTransaction: Transaction;
transaction: Transaction;
transactionReceipt: GetTransactionReceiptResponse<TChain>;
};
type WaitForTransactionReceiptResponse<TChain extends Chain = Chain> = GetTransactionReceiptResponse<TChain>;
type WaitForTransactionReceiptArgs<TChain extends Chain = Chain> = {
/** The number of confirmations (blocks that have passed) to wait before resolving. */
confirmations?: number;
/** The hash of the transaction. */
hash: Hash;
onReplaced?: (response: ReplacementResponse<TChain>) => void;
/** Polling frequency (in ms). Defaults to the client's pollingInterval config. */
pollingInterval?: number;
/** Optional timeout (in milliseconds) to wait before stopping polling. */
timeout?: number;
};
declare function waitForTransactionReceipt<TChain extends Chain>(client: PublicClient<any, TChain>, { confirmations, hash, onReplaced, pollingInterval, timeout, }: WaitForTransactionReceiptArgs<TChain>): Promise<WaitForTransactionReceiptResponse<TChain>>;
type OnBlockNumberResponse = GetBlockNumberResponse;
type OnBlockNumber = (blockNumber: OnBlockNumberResponse, prevBlockNumber: OnBlockNumberResponse | undefined) => void;
type WatchBlockNumberArgs = {
/** Whether or not to emit the missed block numbers to the callback. */
emitMissed?: boolean;
/** Whether or not to emit the latest block number to the callback when the subscription opens. */
emitOnBegin?: boolean;
/** The callback to call when a new block number is received. */
onBlockNumber: OnBlockNumber;
/** The callback to call when an error occurred when trying to get for a new block. */
onError?: (error: Error) => void;
/** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
pollingInterval?: number;
};
/** @description Watches and returns incoming block numbers. */
declare function watchBlockNumber(client: PublicClient, { emitOnBegin, emitMissed, onBlockNumber, onError, pollingInterval, }: WatchBlockNumberArgs): () => void;
type OnBlockResponse<TChain extends Chain = Chain, TIncludeTransactions = false> = Omit<GetBlockResponse<TChain>, TIncludeTransactions extends false ? 'transactions' : ''>;
type OnBlock<TChain extends Chain = Chain, TIncludeTransactions = false> = (block: OnBlockResponse<TChain, TIncludeTransactions>, prevBlock: OnBlockResponse<TChain, TIncludeTransactions> | undefined) => void;
type WatchBlocksArgs<TChain extends Chain = Chain> = {
/** The block tag. Defaults to "latest". */
blockTag?: BlockTag;
/** Whether or not to emit the missed blocks to the callback. */
emitMissed?: boolean;
/** Whether or not to emit the block to the callback when the subscription opens. */
emitOnBegin?: boolean;
/** The callback to call when an error occurred when trying to get for a new block. */
onError?: (error: Error) => void;
/** Polling frequency (in ms). Defaults to the client's pollingInterval config. */
pollingInterval?: number;
} & ({
/** Whether or not to include transaction data in the response. */
includeTransactions: true;
/** The callback to call when a new block is received. */
onBlock: OnBlock<TChain, true>;
} | {
/** Whether or not to include transaction data in the response. */
includeTransactions?: false;
/** The callback to call when a new block is received. */
onBlock: OnBlock<TChain>;
});
/** @description Watches and returns information for incoming blocks. */
declare function watchBlocks<TChain extends Chain, TWatchBlocksArgs extends WatchBlocksArgs<TChain>>(client: PublicClient<any, TChain>, { blockTag, emitMissed, emitOnBegin, onBlock, onError, includeTransactions, pollingInterval, }: TWatchBlocksArgs): () => void;
type OnTransactionsResponse = Hash[];
type OnTransactions = (transactions: OnTransactionsResponse) => void;
type WatchPendingTransactionsArgs = {
/** Whether or not the transaction hashes should be batched on each invocation. */
batch?: boolean;
/** The callback to call when an error occurred when trying to get for a new block. */
onError?: (error: Error) => void;
/** The callback to call when new transactions are received. */
onTransactions: OnTransactions;
/** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
pollingInterval?: number;
};
declare function watchPendingTransactions(client: PublicClient, { batch, onError, onTransactions, pollingInterval, }: WatchPendingTransactionsArgs): () => void;
export { CreateBlockFilterResponse, CreatePendingTransactionFilterResponse, EstimateGasArgs, EstimateGasResponse, GetBalanceArgs, GetBalanceResponse, GetBlockArgs, GetBlockNumberArgs, GetBlockNumberResponse, GetBlockResponse, GetBlockTransactionCountArgs, GetBlockTransactionCountResponse, GetFeeHistoryArgs, GetFeeHistoryResponse, GetFilterChangesArgs, GetFilterChangesResponse, GetFilterLogsArgs, GetFilterLogsResponse, GetGasPriceResponse, GetTransactionArgs, GetTransactionConfirmationsArgs, GetTransactionConfirmationsResponse, GetTransactionCountArgs, GetTransactionCountResponse, GetTransactionReceiptArgs, GetTransactionReceiptResponse, GetTransactionResponse, OnBlock, OnBlockNumber, OnBlockNumberResponse, OnBlockResponse, OnTransactions, OnTransactionsResponse, ReplacementReason, ReplacementResponse, UninstallFilterArgs, UninstallFilterResponse, WaitForTransactionReceiptArgs, WaitForTransactionReceiptResponse, WatchBlockNumberArgs, WatchBlocksArgs, WatchPendingTransactionsArgs, createBlockFilter, createPendingTransactionFilter, estimateGas, getBalance, getBlock, getBlockNumber, getBlockNumberCache, getBlockTransactionCount, getChainId, getFeeHistory, getFilterChanges, getFilterLogs, getGasPrice, getLogs, getTransaction, getTransactionConfirmations, getTransactionCount, getTransactionReceipt, uninstallFilter, waitForTransactionReceipt, watchBlockNumber, watchBlocks, watchPendingTransactions };

@@ -28,5 +28,4 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkA2HXAZXCjs = require('./chunk-A2HXAZXC.js');
require('./chunk-ZYSXBTBB.js');
require('./chunk-4D5XG6XB.js');
var _chunkCD2XJOBJjs = require('./chunk-CD2XJOBJ.js');
require('./chunk-THMRUG4D.js');

@@ -59,3 +58,3 @@

exports.call = _chunkA2HXAZXCjs.call; exports.createBlockFilter = _chunkA2HXAZXCjs.createBlockFilter; exports.createPendingTransactionFilter = _chunkA2HXAZXCjs.createPendingTransactionFilter; exports.deployContract = _chunkA2HXAZXCjs.deployContract; exports.estimateGas = _chunkA2HXAZXCjs.estimateGas; exports.getBalance = _chunkA2HXAZXCjs.getBalance; exports.getBlock = _chunkA2HXAZXCjs.getBlock; exports.getBlockNumber = _chunkA2HXAZXCjs.getBlockNumber; exports.getBlockNumberCache = _chunkA2HXAZXCjs.getBlockNumberCache; exports.getBlockTransactionCount = _chunkA2HXAZXCjs.getBlockTransactionCount; exports.getBytecode = _chunkA2HXAZXCjs.getBytecode; exports.getChainId = _chunkA2HXAZXCjs.getChainId; exports.getFeeHistory = _chunkA2HXAZXCjs.getFeeHistory; exports.getFilterChanges = _chunkA2HXAZXCjs.getFilterChanges; exports.getFilterLogs = _chunkA2HXAZXCjs.getFilterLogs; exports.getGasPrice = _chunkA2HXAZXCjs.getGasPrice; exports.getTransaction = _chunkA2HXAZXCjs.getTransaction; exports.getTransactionConfirmations = _chunkA2HXAZXCjs.getTransactionConfirmations; exports.getTransactionCount = _chunkA2HXAZXCjs.getTransactionCount; exports.getTransactionReceipt = _chunkA2HXAZXCjs.getTransactionReceipt; exports.simulateContract = _chunkA2HXAZXCjs.simulateContract; exports.uninstallFilter = _chunkA2HXAZXCjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkA2HXAZXCjs.waitForTransactionReceipt; exports.watchBlockNumber = _chunkA2HXAZXCjs.watchBlockNumber; exports.watchBlocks = _chunkA2HXAZXCjs.watchBlocks; exports.watchPendingTransactions = _chunkA2HXAZXCjs.watchPendingTransactions;
exports.call = _chunkCD2XJOBJjs.call; exports.createBlockFilter = _chunkCD2XJOBJjs.createBlockFilter; exports.createPendingTransactionFilter = _chunkCD2XJOBJjs.createPendingTransactionFilter; exports.estimateGas = _chunkCD2XJOBJjs.estimateGas; exports.getBalance = _chunkCD2XJOBJjs.getBalance; exports.getBlock = _chunkCD2XJOBJjs.getBlock; exports.getBlockNumber = _chunkCD2XJOBJjs.getBlockNumber; exports.getBlockNumberCache = _chunkCD2XJOBJjs.getBlockNumberCache; exports.getBlockTransactionCount = _chunkCD2XJOBJjs.getBlockTransactionCount; exports.getBytecode = _chunkCD2XJOBJjs.getBytecode; exports.getChainId = _chunkCD2XJOBJjs.getChainId; exports.getFeeHistory = _chunkCD2XJOBJjs.getFeeHistory; exports.getFilterChanges = _chunkCD2XJOBJjs.getFilterChanges; exports.getFilterLogs = _chunkCD2XJOBJjs.getFilterLogs; exports.getGasPrice = _chunkCD2XJOBJjs.getGasPrice; exports.getLogs = _chunkCD2XJOBJjs.getLogs; exports.getTransaction = _chunkCD2XJOBJjs.getTransaction; exports.getTransactionConfirmations = _chunkCD2XJOBJjs.getTransactionConfirmations; exports.getTransactionCount = _chunkCD2XJOBJjs.getTransactionCount; exports.getTransactionReceipt = _chunkCD2XJOBJjs.getTransactionReceipt; exports.uninstallFilter = _chunkCD2XJOBJjs.uninstallFilter; exports.waitForTransactionReceipt = _chunkCD2XJOBJjs.waitForTransactionReceipt; exports.watchBlockNumber = _chunkCD2XJOBJjs.watchBlockNumber; exports.watchBlocks = _chunkCD2XJOBJjs.watchBlocks; exports.watchEvent = _chunkCD2XJOBJjs.watchEvent; exports.watchPendingTransactions = _chunkCD2XJOBJjs.watchPendingTransactions;
//# sourceMappingURL=public.js.map

@@ -1,6 +0,161 @@

export { D as DropTransactionArgs, I as ImpersonateAccountArgs, a as IncreaseTimeArgs, M as MineArgs, R as ResetArgs, b as RevertArgs, S as SendUnsignedTransactionArgs, c as SendUnsignedTransactionResponse, d as SetBalanceArgs, e as SetBlockGasLimitArgs, j as SetBlockTimestampIntervalArgs, f as SetCodeArgs, g as SetCoinbaseArgs, h as SetIntervalMiningArgs, i as SetMinGasPriceArgs, l as SetNextBlockBaseFeePerGasArgs, k as SetNextBlockTimestampArgs, m as SetNonceArgs, n as SetStorageAtArgs, o as StopImpersonatingAccountArgs, p as dropTransaction, q as getAutomine, r as getTxpoolContent, s as getTxpoolStatus, t as impersonateAccount, u as increaseTime, v as inspectTxpool, w as mine, x as removeBlockTimestampInterval, y as reset, z as revert, A as sendUnsignedTransaction, B as setAutomine, C as setBalance, E as setBlockGasLimit, F as setBlockTimestampInterval, G as setCode, H as setCoinbase, J as setIntervalMining, K as setLoggingEnabled, L as setMinGasPrice, N as setNextBlockBaseFeePerGas, O as setNextBlockTimestamp, P as setNonce, Q as setStorageAt, T as snapshot, U as stopImpersonatingAccount } from './stopImpersonatingAccount-c1a4b7e5.js';
import './chain-afa13f5a.js';
import { a as Hash, o as RpcTransaction, A as Address, Q as Quantity, s as TransactionRequest, H as Hex } from './chain-f16512e8.js';
import { T as TestClient } from './createTestClient-dedf321e.js';
import '@wagmi/chains';
import './createTestClient-5f4532c4.js';
import './eip1193-9317a312.js';
import './createClient-60e3ab98.js';
import './eip1193-6f9ba163.js';
import './createClient-68ee4bb4.js';
type DropTransactionArgs = {
/** The hash of the transaction to drop. */
hash: Hash;
};
declare function dropTransaction(client: TestClient, { hash }: DropTransactionArgs): Promise<void>;
type GetAutomineResponse = boolean;
declare function getAutomine(client: TestClient): Promise<GetAutomineResponse>;
declare function getTxpoolContent(client: TestClient): Promise<{
pending: Record<`0x${string}`, Record<string, RpcTransaction>>;
queued: Record<`0x${string}`, Record<string, RpcTransaction>>;
}>;
declare function getTxpoolStatus(client: TestClient): Promise<{
pending: number;
queued: number;
}>;
type ImpersonateAccountArgs = {
/** The account to impersonate. */
address: Address;
};
declare function impersonateAccount(client: TestClient, { address }: ImpersonateAccountArgs): Promise<void>;
type IncreaseTimeArgs = {
/** The amount of seconds to jump forward in time. */
seconds: number;
};
declare function increaseTime(client: TestClient, { seconds }: IncreaseTimeArgs): Promise<`0x${string}`>;
declare function inspectTxpool(client: TestClient): Promise<{
pending: Record<`0x${string}`, Record<string, string>>;
queued: Record<`0x${string}`, Record<string, string>>;
}>;
type MineArgs = {
/** Number of blocks to mine. */
blocks: number;
/** Interval between each block in seconds. */
interval?: number;
};
declare function mine(client: TestClient, { blocks, interval }: MineArgs): Promise<void>;
declare function removeBlockTimestampInterval(client: TestClient): Promise<void>;
type ResetArgs = {
/** The block number to reset from. */
blockNumber?: bigint;
/** The JSON RPC URL. */
jsonRpcUrl?: string;
};
declare function reset(client: TestClient, { blockNumber, jsonRpcUrl }?: ResetArgs): Promise<void>;
type RevertArgs = {
/** The snapshot ID to revert to. */
id: Quantity;
};
declare function revert(client: TestClient, { id }: RevertArgs): Promise<void>;
type SendUnsignedTransactionArgs = TransactionRequest;
type SendUnsignedTransactionResponse = Hash;
declare function sendUnsignedTransaction(client: TestClient, request: SendUnsignedTransactionArgs): Promise<SendUnsignedTransactionResponse>;
declare function setAutomine(client: TestClient, enabled: boolean): Promise<void>;
type SetBalanceArgs = {
/** The account address. */
address: Address;
/** Amount (in wei) to set */
value: bigint;
};
declare function setBalance(client: TestClient, { address, value }: SetBalanceArgs): Promise<void>;
type SetBlockGasLimitArgs = {
/** Gas limit (in wei). */
gasLimit: bigint;
};
declare function setBlockGasLimit(client: TestClient, { gasLimit }: SetBlockGasLimitArgs): Promise<void>;
type SetBlockTimestampIntervalArgs = {
/** The interval (in seconds). */
interval: number;
};
declare function setBlockTimestampInterval(client: TestClient, { interval }: SetBlockTimestampIntervalArgs): Promise<void>;
type SetCodeArgs = {
/** The account address. */
address: Address;
/** The bytecode to set */
bytecode: Hex;
};
declare function setCode(client: TestClient, { address, bytecode }: SetCodeArgs): Promise<void>;
type SetCoinbaseArgs = {
/** The coinbase address. */
address: Address;
};
declare function setCoinbase(client: TestClient, { address }: SetCoinbaseArgs): Promise<void>;
type SetIntervalMiningArgs = {
/** The mining interval. */
interval: number;
};
declare function setIntervalMining(client: TestClient, { interval }: SetIntervalMiningArgs): Promise<void>;
declare function setLoggingEnabled(client: TestClient, enabled: boolean): Promise<void>;
type SetMinGasPriceArgs = {
/** The gas price. */
gasPrice: bigint;
};
declare function setMinGasPrice(client: TestClient, { gasPrice }: SetMinGasPriceArgs): Promise<void>;
type SetNextBlockBaseFeePerGasArgs = {
/** Base fee per gas (in wei). */
baseFeePerGas: bigint;
};
declare function setNextBlockBaseFeePerGas(client: TestClient, { baseFeePerGas }: SetNextBlockBaseFeePerGasArgs): Promise<void>;
type SetNextBlockTimestampArgs = {
/** The timestamp (in seconds). */
timestamp: bigint;
};
declare function setNextBlockTimestamp(client: TestClient, { timestamp }: SetNextBlockTimestampArgs): Promise<void>;
type SetNonceArgs = {
/** The account address. */
address: Address;
/** The nonce to set. */
nonce: number;
};
declare function setNonce(client: TestClient, { address, nonce }: SetNonceArgs): Promise<void>;
declare function setRpcUrl(client: TestClient, jsonRpcUrl: string): Promise<void>;
type SetStorageAtArgs = {
/** The account address. */
address: Address;
/** The storage slot (index). Can either be a number or hash value. */
index: number | Hash;
/** The value to store as a 32 byte hex string. */
value: Hex;
};
declare function setStorageAt(client: TestClient, { address, index, value }: SetStorageAtArgs): Promise<void>;
declare function snapshot(client: TestClient): Promise<`0x${string}`>;
type StopImpersonatingAccountArgs = {
/** The account to impersonate. */
address: Address;
};
declare function stopImpersonatingAccount(client: TestClient, { address }: StopImpersonatingAccountArgs): Promise<void>;
export { DropTransactionArgs, ImpersonateAccountArgs, IncreaseTimeArgs, MineArgs, ResetArgs, RevertArgs, SendUnsignedTransactionArgs, SendUnsignedTransactionResponse, SetBalanceArgs, SetBlockGasLimitArgs, SetBlockTimestampIntervalArgs, SetCodeArgs, SetCoinbaseArgs, SetIntervalMiningArgs, SetMinGasPriceArgs, SetNextBlockBaseFeePerGasArgs, SetNextBlockTimestampArgs, SetNonceArgs, SetStorageAtArgs, StopImpersonatingAccountArgs, dropTransaction, getAutomine, getTxpoolContent, getTxpoolStatus, impersonateAccount, increaseTime, inspectTxpool, mine, removeBlockTimestampInterval, reset, revert, sendUnsignedTransaction, setAutomine, setBalance, setBlockGasLimit, setBlockTimestampInterval, setCode, setCoinbase, setIntervalMining, setLoggingEnabled, setMinGasPrice, setNextBlockBaseFeePerGas, setNextBlockTimestamp, setNonce, setRpcUrl, setStorageAt, snapshot, stopImpersonatingAccount };

@@ -5,32 +5,231 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkTHMRUG4Djs = require('./chunk-THMRUG4D.js');
// src/actions/test/dropTransaction.ts
async function dropTransaction(client, { hash }) {
return await client.request({
method: `${client.mode}_dropTransaction`,
params: [hash]
});
}
// src/actions/test/getAutomine.ts
async function getAutomine(client) {
return await client.request({
method: `${client.mode}_getAutomine`
});
}
// src/actions/test/getTxpoolContent.ts
async function getTxpoolContent(client) {
return await client.request({
method: "txpool_content"
});
}
// src/actions/test/getTxpoolStatus.ts
async function getTxpoolStatus(client) {
const { pending, queued } = await client.request({
method: "txpool_status"
});
return {
pending: _chunkTHMRUG4Djs.hexToNumber.call(void 0, pending),
queued: _chunkTHMRUG4Djs.hexToNumber.call(void 0, queued)
};
}
// src/actions/test/impersonateAccount.ts
async function impersonateAccount(client, { address }) {
return await client.request({
method: `${client.mode}_impersonateAccount`,
params: [address]
});
}
// src/actions/test/increaseTime.ts
async function increaseTime(client, { seconds }) {
return await client.request({
method: "evm_increaseTime",
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, seconds)]
});
}
// src/actions/test/inspectTxpool.ts
async function inspectTxpool(client) {
return await client.request({
method: "txpool_inspect"
});
}
// src/actions/test/mine.ts
async function mine(client, { blocks, interval }) {
return await client.request({
method: `${client.mode}_mine`,
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, blocks), _chunkTHMRUG4Djs.numberToHex.call(void 0, interval || 0)]
});
}
// src/actions/test/removeBlockTimestampInterval.ts
async function removeBlockTimestampInterval(client) {
return await client.request({
method: `${client.mode}_removeBlockTimestampInterval`
});
}
// src/actions/test/reset.ts
async function reset(client, { blockNumber, jsonRpcUrl } = {}) {
return await client.request({
method: `${client.mode}_reset`,
params: [{ forking: { blockNumber: Number(blockNumber), jsonRpcUrl } }]
});
}
// src/actions/test/revert.ts
async function revert(client, { id }) {
return await client.request({
method: "evm_revert",
params: [id]
});
}
// src/actions/test/sendUnsignedTransaction.ts
async function sendUnsignedTransaction(client, request) {
const request_ = _chunkTHMRUG4Djs.formatTransactionRequest.call(void 0, request);
const hash = await client.request({
method: "eth_sendUnsignedTransaction",
params: [request_]
});
return hash;
}
// src/actions/test/setAutomine.ts
async function setAutomine(client, enabled) {
return await client.request({
method: "evm_setAutomine",
params: [enabled]
});
}
// src/actions/test/setBalance.ts
async function setBalance(client, { address, value }) {
return await client.request({
method: `${client.mode}_setBalance`,
params: [address, _chunkTHMRUG4Djs.numberToHex.call(void 0, value)]
});
}
// src/actions/test/setBlockGasLimit.ts
async function setBlockGasLimit(client, { gasLimit }) {
return await client.request({
method: "evm_setBlockGasLimit",
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, gasLimit)]
});
}
// src/actions/test/setBlockTimestampInterval.ts
async function setBlockTimestampInterval(client, { interval }) {
return await client.request({
method: `${client.mode}_setBlockTimestampInterval`,
params: [interval]
});
}
// src/actions/test/setCode.ts
async function setCode(client, { address, bytecode }) {
return await client.request({
method: `${client.mode}_setCode`,
params: [address, bytecode]
});
}
// src/actions/test/setCoinbase.ts
async function setCoinbase(client, { address }) {
return await client.request({
method: `${client.mode}_setCoinbase`,
params: [address]
});
}
// src/actions/test/setIntervalMining.ts
async function setIntervalMining(client, { interval }) {
return await client.request({
method: "evm_setIntervalMining",
params: [interval]
});
}
// src/actions/test/setLoggingEnabled.ts
async function setLoggingEnabled(client, enabled) {
return await client.request({
method: `${client.mode}_setLoggingEnabled`,
params: [enabled]
});
}
// src/actions/test/setMinGasPrice.ts
async function setMinGasPrice(client, { gasPrice }) {
return await client.request({
method: `${client.mode}_setMinGasPrice`,
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, gasPrice)]
});
}
// src/actions/test/setNextBlockBaseFeePerGas.ts
async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
return await client.request({
method: `${client.mode}_setNextBlockBaseFeePerGas`,
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, baseFeePerGas)]
});
}
// src/actions/test/setNextBlockTimestamp.ts
async function setNextBlockTimestamp(client, { timestamp }) {
return await client.request({
method: "evm_setNextBlockTimestamp",
params: [_chunkTHMRUG4Djs.numberToHex.call(void 0, timestamp)]
});
}
var _chunkN3IOPT3Rjs = require('./chunk-N3IOPT3R.js');
require('./chunk-4D5XG6XB.js');
// src/actions/test/setNonce.ts
async function setNonce(client, { address, nonce }) {
return await client.request({
method: `${client.mode}_setNonce`,
params: [address, _chunkTHMRUG4Djs.numberToHex.call(void 0, nonce)]
});
}
// src/actions/test/setRpcUrl.ts
async function setRpcUrl(client, jsonRpcUrl) {
return await client.request({
method: `${client.mode}_setRpcUrl`,
params: [jsonRpcUrl]
});
}
// src/actions/test/setStorageAt.ts
async function setStorageAt(client, { address, index, value }) {
return await client.request({
method: `${client.mode}_setStorageAt`,
params: [
address,
typeof index === "number" ? _chunkTHMRUG4Djs.numberToHex.call(void 0, index) : index,
value
]
});
}
// src/actions/test/snapshot.ts
async function snapshot(client) {
return await client.request({
method: "evm_snapshot"
});
}
// src/actions/test/stopImpersonatingAccount.ts
async function stopImpersonatingAccount(client, { address }) {
return await client.request({
method: `${client.mode}_stopImpersonatingAccount`,
params: [address]
});
}

@@ -60,3 +259,8 @@

exports.dropTransaction = _chunkN3IOPT3Rjs.dropTransaction; exports.getAutomine = _chunkN3IOPT3Rjs.getAutomine; exports.getTxpoolContent = _chunkN3IOPT3Rjs.getTxpoolContent; exports.getTxpoolStatus = _chunkN3IOPT3Rjs.getTxpoolStatus; exports.impersonateAccount = _chunkN3IOPT3Rjs.impersonateAccount; exports.increaseTime = _chunkN3IOPT3Rjs.increaseTime; exports.inspectTxpool = _chunkN3IOPT3Rjs.inspectTxpool; exports.mine = _chunkN3IOPT3Rjs.mine; exports.removeBlockTimestampInterval = _chunkN3IOPT3Rjs.removeBlockTimestampInterval; exports.reset = _chunkN3IOPT3Rjs.reset; exports.revert = _chunkN3IOPT3Rjs.revert; exports.sendUnsignedTransaction = _chunkN3IOPT3Rjs.sendUnsignedTransaction; exports.setAutomine = _chunkN3IOPT3Rjs.setAutomine; exports.setBalance = _chunkN3IOPT3Rjs.setBalance; exports.setBlockGasLimit = _chunkN3IOPT3Rjs.setBlockGasLimit; exports.setBlockTimestampInterval = _chunkN3IOPT3Rjs.setBlockTimestampInterval; exports.setCode = _chunkN3IOPT3Rjs.setCode; exports.setCoinbase = _chunkN3IOPT3Rjs.setCoinbase; exports.setIntervalMining = _chunkN3IOPT3Rjs.setIntervalMining; exports.setLoggingEnabled = _chunkN3IOPT3Rjs.setLoggingEnabled; exports.setMinGasPrice = _chunkN3IOPT3Rjs.setMinGasPrice; exports.setNextBlockBaseFeePerGas = _chunkN3IOPT3Rjs.setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = _chunkN3IOPT3Rjs.setNextBlockTimestamp; exports.setNonce = _chunkN3IOPT3Rjs.setNonce; exports.setStorageAt = _chunkN3IOPT3Rjs.setStorageAt; exports.snapshot = _chunkN3IOPT3Rjs.snapshot; exports.stopImpersonatingAccount = _chunkN3IOPT3Rjs.stopImpersonatingAccount;
exports.dropTransaction = dropTransaction; exports.getAutomine = getAutomine; exports.getTxpoolContent = getTxpoolContent; exports.getTxpoolStatus = getTxpoolStatus; exports.impersonateAccount = impersonateAccount; exports.increaseTime = increaseTime; exports.inspectTxpool = inspectTxpool; exports.mine = mine; exports.removeBlockTimestampInterval = removeBlockTimestampInterval; exports.reset = reset; exports.revert = revert; exports.sendUnsignedTransaction = sendUnsignedTransaction; exports.setAutomine = setAutomine; exports.setBalance = setBalance; exports.setBlockGasLimit = setBlockGasLimit; exports.setBlockTimestampInterval = setBlockTimestampInterval; exports.setCode = setCode; exports.setCoinbase = setCoinbase; exports.setIntervalMining = setIntervalMining; exports.setLoggingEnabled = setLoggingEnabled; exports.setMinGasPrice = setMinGasPrice; exports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = setNextBlockTimestamp; exports.setNonce = setNonce; exports.setRpcUrl = setRpcUrl; exports.setStorageAt = setStorageAt; exports.snapshot = snapshot; exports.stopImpersonatingAccount = stopImpersonatingAccount;
//# sourceMappingURL=test.js.map

@@ -1,26 +0,40 @@

import { B as BaseError, C as ContractFunctionExecutionError } from '../parseGwei-492ab7dd.js';
export { D as DecodeAbiArgs, c as DecodeErrorResultArgs, aq as DecodeErrorResultResponse, d as DecodeFunctionDataArgs, e as DecodeFunctionResultArgs, f as DecodeFunctionResultResponse, E as EncodeAbiArgs, g as EncodeDeployDataArgs, h as EncodeErrorResultArgs, i as EncodeEventTopicsArgs, j as EncodeFunctionDataArgs, k as EncodeFunctionResultArgs, o as EncodeRlpResponse, n as GetAbiItemArgs, G as GetContractAddressOptions, m as GetCreate2AddressOptions, l as GetCreateAddressOptions, r as boolToBytes, s as boolToHex, t as bytesToBigint, u as bytesToBool, p as bytesToHex, v as bytesToNumber, q as bytesToString, w as decodeAbi, x as decodeBytes, y as decodeErrorResult, z as decodeFunctionData, A as decodeFunctionResult, F as decodeHex, H as decodeRlp, I as encodeAbi, J as encodeBytes, K as encodeDeployData, L as encodeErrorResult, M as encodeEventTopics, N as encodeFunctionData, O as encodeFunctionResult, P as encodeHex, Q as encodeRlp, R as etherUnits, Z as formatEther, ae as formatGwei, af as formatUnit, ar as getAbiItem, S as getAddress, T as getContractAddress, V as getCreate2Address, U as getCreateAddress, W as getEventSignature, X as getFunctionSignature, Y as gweiUnits, a2 as hexToBigInt, a3 as hexToBool, a4 as hexToBytes, ag as hexToNumber, a5 as hexToString, _ as isAddress, $ as isAddressEqual, a0 as isBytes, a1 as isHex, a6 as keccak256, a7 as numberToBytes, ah as numberToHex, a8 as pad, a9 as padBytes, aa as padHex, ab as parseEther, ac as parseGwei, ad as parseUnit, ai as size, aj as slice, ak as sliceBytes, al as sliceHex, am as stringToBytes, an as stringToHex, ao as trim, ap as weiUnits } from '../parseGwei-492ab7dd.js';
import { A as AbiItem } from '../contract-70f4ddbe.js';
export { B as BlockFormatter, F as FormattedBlock, g as FormattedTransactionReceipt, T as TransactionReceiptFormatter, m as defineBlock, n as defineTransactionReceipt, f as formatBlock } from '../contract-70f4ddbe.js';
export { d as defineChain } from '../chain-e33d019b.js';
export { D as DecodeAbiArgs, a as DecodeEventLogArgs, b as DecodeEventLogResponse, c as DecodeFunctionDataArgs, d as DecodeFunctionResultArgs, e as DecodeFunctionResultResponse, E as EncodeAbiArgs, f as EncodeDeployDataArgs, g as EncodeErrorResultArgs, h as EncodeEventTopicsArgs, i as EncodeFunctionDataArgs, j as EncodeFunctionResultArgs, G as GetAbiItemArgs, k as decodeAbi, l as decodeEventLog, m as decodeFunctionData, n as decodeFunctionResult, o as encodeAbi, p as encodeDeployData, q as encodeErrorResult, r as encodeEventTopics, s as encodeFunctionData, t as encodeFunctionResult, v as formatAbiItem, u as formatAbiItemWithArgs, w as getAbiItem } from '../getAbiItem-c8e6e7d4.js';
export { a as DecodeErrorResultArgs, D as DecodeErrorResultResponse, d as decodeErrorResult } from '../decodeErrorResult-0b934d23.js';
import { A as Address, B as ByteArray, H as Hex, O as Formatter } from '../chain-f16512e8.js';
export { W as ExtractFormatter, V as Formatted, Y as FormattedTransaction, Z as TransactionFormatter, _ as defineFormatter, $ as defineTransaction, a0 as format, a1 as formatTransaction, a2 as transactionType } from '../chain-f16512e8.js';
export { d as defineChain } from '../chain-c4ccb458.js';
import { Abi } from 'abitype';
import { A as Address, K as Formatter } from '../chain-afa13f5a.js';
export { Q as ExtractFormatter, N as Formatted, G as FormattedTransaction, P as TransactionFormatter, _ as defineFormatter, $ as defineTransaction, a0 as format, I as formatTransaction, J as transactionType } from '../chain-afa13f5a.js';
export { l as labelhash, n as namehash, a as normalize } from '../normalize-ef9240c0.js';
export { F as FormattedTransactionRequest, T as TransactionRequestFormatter, d as defineTransactionRequest, f as formatTransactionRequest } from '../transactionRequest-bdf57f7d.js';
export { r as rpc } from '../rpc-26932bae.js';
import { B as BaseError, C as ContractFunctionExecutionError } from '../rpc-a5a7f376.js';
export { r as rpc } from '../rpc-a5a7f376.js';
export { B as BlockFormatter, F as FormattedBlock, a as FormattedTransactionReceipt, T as TransactionReceiptFormatter, d as defineBlock, b as defineTransactionReceipt, f as formatBlock } from '../transactionReceipt-2a86c7c7.js';
export { F as FormattedTransactionRequest, T as TransactionRequestFormatter, d as defineTransactionRequest, f as formatTransactionRequest } from '../transactionRequest-c7794f5e.js';
import { j as EventDefinition } from '../contract-9e76e561.js';
import 'abitype/dist/abi-78346466';
import '@wagmi/chains';
import 'isomorphic-ws';
declare function formatAbiItemWithArgs({ abiItem, args, includeFunctionName, includeName, }: {
abiItem: AbiItem;
args: readonly unknown[];
includeFunctionName?: boolean;
includeName?: boolean;
}): string | undefined;
declare function getAddress(address: Address): `0x${string}`;
declare function formatAbiItem(abiItem: AbiItem, { includeName }?: {
includeName?: boolean;
}): string;
type GetCreateAddressOptions = {
from: Address;
nonce: bigint;
};
type GetCreate2AddressOptions = {
bytecode: ByteArray | Hex;
from: Address;
salt: ByteArray | Hex;
};
type GetContractAddressOptions = ({
opcode?: 'CREATE';
} & GetCreateAddressOptions) | ({
opcode: 'CREATE2';
} & GetCreate2AddressOptions);
declare function getContractAddress(opts: GetContractAddressOptions): `0x${string}`;
declare function getCreateAddress(opts: GetCreateAddressOptions): `0x${string}`;
declare function getCreate2Address(opts: GetCreate2AddressOptions): `0x${string}`;
declare function isAddress(address: Address): boolean;
declare function isAddressEqual(a: Address, b: Address): boolean;
declare function buildRequest<TRequest extends (args: any) => Promise<any>>(request: TRequest): TRequest;

@@ -50,3 +64,56 @@

declare function isBytes(value: any): boolean;
declare function isHex(value: any): boolean;
type PadOptions = {
dir?: 'left' | 'right';
size?: number;
};
type PadResult<TValue extends ByteArray | Hex> = TValue extends Hex ? Hex : ByteArray;
declare function pad<TValue extends ByteArray | Hex>(hexOrBytes: TValue, { dir, size }?: PadOptions): PadResult<TValue>;
declare function padHex(hex_: Hex, { dir, size }?: PadOptions): `0x${string}`;
declare function padBytes(bytes: ByteArray, { dir, size }?: PadOptions): Uint8Array;
type TrimOptions = {
dir?: 'left' | 'right';
};
type TrimResult<TValue extends ByteArray | Hex> = TValue extends Hex ? Hex : ByteArray;
declare function trim<TValue extends ByteArray | Hex>(hexOrBytes: TValue, { dir }?: TrimOptions): TrimResult<TValue>;
/**
* @description Retrieves the size of the value (in bytes).
*
* @param value The value (hex or byte array) to retrieve the size of.
* @returns The size of the value (in bytes).
*/
declare function size(value: Hex | ByteArray): number;
type SliceResult<TValue extends ByteArray | Hex> = TValue extends Hex ? Hex : ByteArray;
/**
* @description Returns a section of the hex or byte array given a start/end bytes offset.
*
* @param value The hex or byte array to slice.
* @param start The start offset (in bytes).
* @param end The end offset (in bytes).
*/
declare function slice<TValue extends ByteArray | Hex>(value: TValue, start?: number, end?: number): SliceResult<TValue>;
/**
* @description Returns a section of the byte array given a start/end bytes offset.
*
* @param value The byte array to slice.
* @param start The start offset (in bytes).
* @param end The end offset (in bytes).
*/
declare function sliceBytes(value: ByteArray, start?: number, end?: number): Uint8Array;
/**
* @description Returns a section of the hex value given a start/end bytes offset.
*
* @param value The hex value to slice.
* @param start The start offset (in bytes).
* @param end The end offset (in bytes).
*/
declare function sliceHex(value_: Hex, start?: number, end?: number): string;
/**
* @description Picks out the keys from `value` that exist in the formatter.

@@ -58,4 +125,141 @@ */

/**
* @description Encodes a boolean into a hex string
*/
declare function boolToHex(value: boolean): Hex;
/**
* @description Encodes a bytes array into a hex string
*/
declare function bytesToHex(value: ByteArray): Hex;
/**
* @description Encodes a string, number, bigint, or ByteArray into a hex string
*/
declare function encodeHex(value: string | number | bigint | boolean | ByteArray): Hex;
type NumberToHexOpts$1 = {
signed?: boolean;
size: number;
} | {
signed?: never;
size?: never;
};
/**
* @description Encodes a number or bigint into a hex string
*/
declare function numberToHex(value_: number | bigint, opts?: NumberToHexOpts$1): Hex;
/**
* @description Encodes a UTF-8 string into a hex string
*/
declare function stringToHex(value: string): Hex;
/**
* @description Encodes a boolean into a byte array.
*/
declare function boolToBytes(value: boolean): Uint8Array;
/** @description Encodes a UTF-8 string, hex value, bigint, number or boolean to a byte array. */
declare function encodeBytes(value: string | bigint | number | boolean | Hex): ByteArray;
/**
* @description Encodes a hex string into a byte array.
*/
declare function hexToBytes(hex_: Hex): ByteArray;
/**
* @description Encodes a number into a byte array.
*/
declare function numberToBytes(value: bigint | number, opts?: NumberToHexOpts$1): Uint8Array;
/**
* @description Encodes a UTF-8 string into a byte array.
*/
declare function stringToBytes(value: string): ByteArray;
type RecursiveArray<T> = T | Array<RecursiveArray<T>>;
type To$1 = 'hex' | 'bytes';
type EncodeRlpResponse<TTo extends To$1> = TTo extends 'bytes' ? ByteArray : TTo extends 'hex' ? Hex : never;
declare function encodeRlp<TTo extends To$1 = 'hex'>(hexOrBytes: RecursiveArray<Hex> | RecursiveArray<ByteArray>, to_?: TTo): EncodeRlpResponse<TTo>;
type DecodeBytesResponse<TTo> = TTo extends 'string' ? string : TTo extends 'hex' ? Hex : TTo extends 'bigint' ? bigint : TTo extends 'number' ? number : TTo extends 'boolean' ? boolean : never;
/**
* @description Decodes a byte array into a UTF-8 string, hex value, number, bigint or boolean.
*/
declare function decodeBytes<TTo extends 'string' | 'hex' | 'bigint' | 'number' | 'boolean'>(bytes: ByteArray, to: TTo): DecodeBytesResponse<TTo>;
/**
* @description Decodes a byte array into a bigint.
*/
declare function bytesToBigint(bytes: ByteArray): bigint;
/**
* @description Decodes a byte array into a boolean.
*/
declare function bytesToBool(bytes: ByteArray): boolean;
/**
* @description Decodes a byte array into a number.
*/
declare function bytesToNumber(bytes: ByteArray): number;
/**
* @description Decodes a byte array into a UTF-8 string.
*/
declare function bytesToString(bytes: ByteArray): string;
type DecodeHexResponse<TTo> = TTo extends 'string' ? string : TTo extends 'bigint' ? bigint : TTo extends 'number' ? number : TTo extends 'bytes' ? ByteArray : TTo extends 'boolean' ? boolean : never;
/**
* @description Decodes a hex string into a string, number, bigint, boolean, or bytes32 array.
*/
declare function decodeHex<TTo extends 'string' | 'bigint' | 'number' | 'bytes' | 'boolean'>(hex: Hex, to: TTo): DecodeHexResponse<TTo>;
type HexToBigIntOpts = {
signed?: boolean;
};
/**
* @description Decodes a hex string into a bigint.
*/
declare function hexToBigInt(hex: Hex, opts?: HexToBigIntOpts): bigint;
/**
* @description Decodes a hex string into a boolean.
*/
declare function hexToBool(hex: Hex): boolean;
type NumberToHexOpts = HexToBigIntOpts;
/**
* @description Decodes a hex string into a number.
*/
declare function hexToNumber(hex: Hex, opts?: NumberToHexOpts): number;
/**
* @description Decodes a hex string into a UTF-8 string.
*/
declare function hexToString(hex: Hex): string;
type DecodeRlpResponse<TTo> = TTo extends 'bytes' ? ByteArray : TTo extends 'hex' ? Hex : never;
declare function decodeRlp<TTo extends 'bytes' | 'hex'>(value: ByteArray | Hex, to: TTo): RecursiveArray<DecodeRlpResponse<TTo>>;
declare const getEventSignature: (event: EventDefinition) => `0x${string}`;
declare const getFunctionSignature: (fn: string) => `0x${string}`;
type To = 'hex' | 'bytes';
type Keccak256Hash<TTo extends To> = (TTo extends 'bytes' ? ByteArray : never) | (TTo extends 'hex' ? Hex : never);
declare function keccak256<TTo extends To = 'hex'>(value: ByteArray, to_?: TTo): Keccak256Hash<TTo>;
declare function stringify(value: unknown): string;
export { buildRequest, extract, extractFunctionName, extractFunctionParams, extractFunctionParts, extractFunctionType, formatAbiItem, formatAbiItemWithArgs, getContractError, stringify };
declare const etherUnits: {
gwei: number;
wei: number;
};
declare const gweiUnits: {
ether: number;
wei: number;
};
declare const weiUnits: {
ether: number;
gwei: number;
};
declare function formatEther(wei: bigint, unit?: 'wei' | 'gwei'): string;
declare function formatGwei(wei: bigint, unit?: 'wei'): string;
declare function formatUnit(value: bigint, decimals: number): string;
declare function parseUnit(value: `${number}`, decimals: number): bigint;
declare function parseEther(ether: `${number}`, unit?: 'wei' | 'gwei'): bigint;
declare function parseGwei(ether: `${number}`, unit?: 'wei'): bigint;
export { EncodeRlpResponse, GetContractAddressOptions, GetCreate2AddressOptions, GetCreateAddressOptions, boolToBytes, boolToHex, buildRequest, bytesToBigint, bytesToBool, bytesToHex, bytesToNumber, bytesToString, decodeBytes, decodeHex, decodeRlp, encodeBytes, encodeHex, encodeRlp, etherUnits, extract, extractFunctionName, extractFunctionParams, extractFunctionParts, extractFunctionType, formatEther, formatGwei, formatUnit, getAddress, getContractAddress, getContractError, getCreate2Address, getCreateAddress, getEventSignature, getFunctionSignature, gweiUnits, hexToBigInt, hexToBool, hexToBytes, hexToNumber, hexToString, isAddress, isAddressEqual, isBytes, isHex, keccak256, numberToBytes, numberToHex, pad, padBytes, padHex, parseEther, parseGwei, parseUnit, size, slice, sliceBytes, sliceHex, stringToBytes, stringToHex, stringify, trim, weiUnits };

@@ -86,5 +86,5 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkTHMRUG4Djs = require('../chunk-THMRUG4D.js');
var _chunk4D5XG6XBjs = require('../chunk-4D5XG6XB.js');

@@ -173,7 +173,3 @@

exports.boolToBytes = _chunk4D5XG6XBjs.boolToBytes; exports.boolToHex = _chunk4D5XG6XBjs.boolToHex; exports.buildRequest = _chunk4D5XG6XBjs.buildRequest; exports.bytesToBigint = _chunk4D5XG6XBjs.bytesToBigint; exports.bytesToBool = _chunk4D5XG6XBjs.bytesToBool; exports.bytesToHex = _chunk4D5XG6XBjs.bytesToHex; exports.bytesToNumber = _chunk4D5XG6XBjs.bytesToNumber; exports.bytesToString = _chunk4D5XG6XBjs.bytesToString; exports.decodeAbi = _chunk4D5XG6XBjs.decodeAbi; exports.decodeBytes = _chunk4D5XG6XBjs.decodeBytes; exports.decodeErrorResult = _chunk4D5XG6XBjs.decodeErrorResult; exports.decodeFunctionData = _chunk4D5XG6XBjs.decodeFunctionData; exports.decodeFunctionResult = _chunk4D5XG6XBjs.decodeFunctionResult; exports.decodeHex = _chunk4D5XG6XBjs.decodeHex; exports.decodeRlp = _chunk4D5XG6XBjs.decodeRlp; exports.defineBlock = _chunk4D5XG6XBjs.defineBlock; exports.defineChain = _chunk4D5XG6XBjs.defineChain; exports.defineFormatter = _chunk4D5XG6XBjs.defineFormatter; exports.defineTransaction = _chunk4D5XG6XBjs.defineTransaction; exports.defineTransactionReceipt = _chunk4D5XG6XBjs.defineTransactionReceipt; exports.defineTransactionRequest = _chunk4D5XG6XBjs.defineTransactionRequest; exports.encodeAbi = _chunk4D5XG6XBjs.encodeAbi; exports.encodeBytes = _chunk4D5XG6XBjs.encodeBytes; exports.encodeDeployData = _chunk4D5XG6XBjs.encodeDeployData; exports.encodeErrorResult = _chunk4D5XG6XBjs.encodeErrorResult; exports.encodeEventTopics = _chunk4D5XG6XBjs.encodeEventTopics; exports.encodeFunctionData = _chunk4D5XG6XBjs.encodeFunctionData; exports.encodeFunctionResult = _chunk4D5XG6XBjs.encodeFunctionResult; exports.encodeHex = _chunk4D5XG6XBjs.encodeHex; exports.encodeRlp = _chunk4D5XG6XBjs.encodeRlp; exports.etherUnits = _chunk4D5XG6XBjs.etherUnits; exports.extract = _chunk4D5XG6XBjs.extract; exports.extractFunctionName = _chunk4D5XG6XBjs.extractFunctionName; exports.extractFunctionParams = _chunk4D5XG6XBjs.extractFunctionParams; exports.extractFunctionParts = _chunk4D5XG6XBjs.extractFunctionParts; exports.extractFunctionType = _chunk4D5XG6XBjs.extractFunctionType; exports.format = _chunk4D5XG6XBjs.format; exports.formatAbiItem = _chunk4D5XG6XBjs.formatAbiItem; exports.formatAbiItemWithArgs = _chunk4D5XG6XBjs.formatAbiItemWithArgs; exports.formatBlock = _chunk4D5XG6XBjs.formatBlock; exports.formatEther = _chunk4D5XG6XBjs.formatEther; exports.formatGwei = _chunk4D5XG6XBjs.formatGwei; exports.formatTransaction = _chunk4D5XG6XBjs.formatTransaction; exports.formatTransactionRequest = _chunk4D5XG6XBjs.formatTransactionRequest; exports.formatUnit = _chunk4D5XG6XBjs.formatUnit; exports.getAbiItem = _chunk4D5XG6XBjs.getAbiItem; exports.getAddress = _chunk4D5XG6XBjs.getAddress; exports.getContractAddress = _chunk4D5XG6XBjs.getContractAddress; exports.getContractError = _chunk4D5XG6XBjs.getContractError; exports.getCreate2Address = _chunk4D5XG6XBjs.getCreate2Address; exports.getCreateAddress = _chunk4D5XG6XBjs.getCreateAddress; exports.getEventSignature = _chunk4D5XG6XBjs.getEventSignature; exports.getFunctionSignature = _chunk4D5XG6XBjs.getFunctionSignature; exports.gweiUnits = _chunk4D5XG6XBjs.gweiUnits; exports.hexToBigInt = _chunk4D5XG6XBjs.hexToBigInt; exports.hexToBool = _chunk4D5XG6XBjs.hexToBool; exports.hexToBytes = _chunk4D5XG6XBjs.hexToBytes; exports.hexToNumber = _chunk4D5XG6XBjs.hexToNumber; exports.hexToString = _chunk4D5XG6XBjs.hexToString; exports.isAddress = _chunk4D5XG6XBjs.isAddress; exports.isAddressEqual = _chunk4D5XG6XBjs.isAddressEqual; exports.isBytes = _chunk4D5XG6XBjs.isBytes; exports.isHex = _chunk4D5XG6XBjs.isHex; exports.keccak256 = _chunk4D5XG6XBjs.keccak256; exports.labelhash = _chunk4D5XG6XBjs.labelhash; exports.namehash = _chunk4D5XG6XBjs.namehash; exports.normalize = _chunk4D5XG6XBjs.normalize; exports.numberToBytes = _chunk4D5XG6XBjs.numberToBytes; exports.numberToHex = _chunk4D5XG6XBjs.numberToHex; exports.pad = _chunk4D5XG6XBjs.pad; exports.padBytes = _chunk4D5XG6XBjs.padBytes; exports.padHex = _chunk4D5XG6XBjs.padHex; exports.parseEther = _chunk4D5XG6XBjs.parseEther; exports.parseGwei = _chunk4D5XG6XBjs.parseGwei; exports.parseUnit = _chunk4D5XG6XBjs.parseUnit; exports.rpc = _chunk4D5XG6XBjs.rpc; exports.size = _chunk4D5XG6XBjs.size; exports.slice = _chunk4D5XG6XBjs.slice; exports.sliceBytes = _chunk4D5XG6XBjs.sliceBytes; exports.sliceHex = _chunk4D5XG6XBjs.sliceHex; exports.stringToBytes = _chunk4D5XG6XBjs.stringToBytes; exports.stringToHex = _chunk4D5XG6XBjs.stringToHex; exports.stringify = _chunk4D5XG6XBjs.stringify; exports.transactionType = _chunk4D5XG6XBjs.transactionType; exports.trim = _chunk4D5XG6XBjs.trim; exports.weiUnits = _chunk4D5XG6XBjs.weiUnits;
exports.boolToBytes = _chunkTHMRUG4Djs.boolToBytes; exports.boolToHex = _chunkTHMRUG4Djs.boolToHex; exports.buildRequest = _chunkTHMRUG4Djs.buildRequest; exports.bytesToBigint = _chunkTHMRUG4Djs.bytesToBigint; exports.bytesToBool = _chunkTHMRUG4Djs.bytesToBool; exports.bytesToHex = _chunkTHMRUG4Djs.bytesToHex; exports.bytesToNumber = _chunkTHMRUG4Djs.bytesToNumber; exports.bytesToString = _chunkTHMRUG4Djs.bytesToString; exports.decodeAbi = _chunkTHMRUG4Djs.decodeAbi; exports.decodeBytes = _chunkTHMRUG4Djs.decodeBytes; exports.decodeErrorResult = _chunkTHMRUG4Djs.decodeErrorResult; exports.decodeEventLog = _chunkTHMRUG4Djs.decodeEventLog; exports.decodeFunctionData = _chunkTHMRUG4Djs.decodeFunctionData; exports.decodeFunctionResult = _chunkTHMRUG4Djs.decodeFunctionResult; exports.decodeHex = _chunkTHMRUG4Djs.decodeHex; exports.decodeRlp = _chunkTHMRUG4Djs.decodeRlp; exports.defineBlock = _chunkTHMRUG4Djs.defineBlock; exports.defineChain = _chunkTHMRUG4Djs.defineChain; exports.defineFormatter = _chunkTHMRUG4Djs.defineFormatter; exports.defineTransaction = _chunkTHMRUG4Djs.defineTransaction; exports.defineTransactionReceipt = _chunkTHMRUG4Djs.defineTransactionReceipt; exports.defineTransactionRequest = _chunkTHMRUG4Djs.defineTransactionRequest; exports.encodeAbi = _chunkTHMRUG4Djs.encodeAbi; exports.encodeBytes = _chunkTHMRUG4Djs.encodeBytes; exports.encodeDeployData = _chunkTHMRUG4Djs.encodeDeployData; exports.encodeErrorResult = _chunkTHMRUG4Djs.encodeErrorResult; exports.encodeEventTopics = _chunkTHMRUG4Djs.encodeEventTopics; exports.encodeFunctionData = _chunkTHMRUG4Djs.encodeFunctionData; exports.encodeFunctionResult = _chunkTHMRUG4Djs.encodeFunctionResult; exports.encodeHex = _chunkTHMRUG4Djs.encodeHex; exports.encodeRlp = _chunkTHMRUG4Djs.encodeRlp; exports.etherUnits = _chunkTHMRUG4Djs.etherUnits; exports.extract = _chunkTHMRUG4Djs.extract; exports.extractFunctionName = _chunkTHMRUG4Djs.extractFunctionName; exports.extractFunctionParams = _chunkTHMRUG4Djs.extractFunctionParams; exports.extractFunctionParts = _chunkTHMRUG4Djs.extractFunctionParts; exports.extractFunctionType = _chunkTHMRUG4Djs.extractFunctionType; exports.format = _chunkTHMRUG4Djs.format; exports.formatAbiItem = _chunkTHMRUG4Djs.formatAbiItem; exports.formatAbiItemWithArgs = _chunkTHMRUG4Djs.formatAbiItemWithArgs; exports.formatBlock = _chunkTHMRUG4Djs.formatBlock; exports.formatEther = _chunkTHMRUG4Djs.formatEther; exports.formatGwei = _chunkTHMRUG4Djs.formatGwei; exports.formatTransaction = _chunkTHMRUG4Djs.formatTransaction; exports.formatTransactionRequest = _chunkTHMRUG4Djs.formatTransactionRequest; exports.formatUnit = _chunkTHMRUG4Djs.formatUnit; exports.getAbiItem = _chunkTHMRUG4Djs.getAbiItem; exports.getAddress = _chunkTHMRUG4Djs.getAddress; exports.getContractAddress = _chunkTHMRUG4Djs.getContractAddress; exports.getContractError = _chunkTHMRUG4Djs.getContractError; exports.getCreate2Address = _chunkTHMRUG4Djs.getCreate2Address; exports.getCreateAddress = _chunkTHMRUG4Djs.getCreateAddress; exports.getEventSignature = _chunkTHMRUG4Djs.getEventSignature; exports.getFunctionSignature = _chunkTHMRUG4Djs.getFunctionSignature; exports.gweiUnits = _chunkTHMRUG4Djs.gweiUnits; exports.hexToBigInt = _chunkTHMRUG4Djs.hexToBigInt; exports.hexToBool = _chunkTHMRUG4Djs.hexToBool; exports.hexToBytes = _chunkTHMRUG4Djs.hexToBytes; exports.hexToNumber = _chunkTHMRUG4Djs.hexToNumber; exports.hexToString = _chunkTHMRUG4Djs.hexToString; exports.isAddress = _chunkTHMRUG4Djs.isAddress; exports.isAddressEqual = _chunkTHMRUG4Djs.isAddressEqual; exports.isBytes = _chunkTHMRUG4Djs.isBytes; exports.isHex = _chunkTHMRUG4Djs.isHex; exports.keccak256 = _chunkTHMRUG4Djs.keccak256; exports.numberToBytes = _chunkTHMRUG4Djs.numberToBytes; exports.numberToHex = _chunkTHMRUG4Djs.numberToHex; exports.pad = _chunkTHMRUG4Djs.pad; exports.padBytes = _chunkTHMRUG4Djs.padBytes; exports.padHex = _chunkTHMRUG4Djs.padHex; exports.parseEther = _chunkTHMRUG4Djs.parseEther; exports.parseGwei = _chunkTHMRUG4Djs.parseGwei; exports.parseUnit = _chunkTHMRUG4Djs.parseUnit; exports.rpc = _chunkTHMRUG4Djs.rpc; exports.size = _chunkTHMRUG4Djs.size; exports.slice = _chunkTHMRUG4Djs.slice; exports.sliceBytes = _chunkTHMRUG4Djs.sliceBytes; exports.sliceHex = _chunkTHMRUG4Djs.sliceHex; exports.stringToBytes = _chunkTHMRUG4Djs.stringToBytes; exports.stringToHex = _chunkTHMRUG4Djs.stringToHex; exports.stringify = _chunkTHMRUG4Djs.stringify; exports.transactionType = _chunkTHMRUG4Djs.transactionType; exports.trim = _chunkTHMRUG4Djs.trim; exports.weiUnits = _chunkTHMRUG4Djs.weiUnits;
//# sourceMappingURL=index.js.map

@@ -1,8 +0,42 @@

export { G as GetPermissionsResponse, R as RequestPermissionsResponse, S as SignMessageArgs, a as SignMessageResponse, b as SwitchChainArgs, W as WatchAssetArgs, c as WatchAssetResponse, d as addChain, g as getAccounts, e as getPermissions, r as requestAccounts, f as requestPermissions, s as signMessage, h as switchChain, w as watchAsset } from './watchAsset-d59d6e35.js';
export { F as FormattedTransactionRequest, S as SendTransactionArgs, a as SendTransactionResponse, s as sendTransaction } from './sendTransaction-54a0d509.js';
import './chain-afa13f5a.js';
import { C as Chain, A as Address, H as Hex, B as ByteArray } from './chain-f16512e8.js';
import { W as WalletClient } from './createWalletClient-75813d83.js';
import { a as WalletPermission, b as WatchAssetParams } from './eip1193-6f9ba163.js';
export { F as FormattedTransactionRequest, S as SendTransactionArgs, a as SendTransactionResponse, s as sendTransaction } from './sendTransaction-e713f90c.js';
import '@wagmi/chains';
import './createWalletClient-9ec3df4f.js';
import './eip1193-9317a312.js';
import './createClient-60e3ab98.js';
import './transactionRequest-bdf57f7d.js';
import './createClient-68ee4bb4.js';
import './transactionRequest-c7794f5e.js';
declare function addChain(client: WalletClient, chain: Chain): Promise<void>;
declare function getAccounts(client: WalletClient): Promise<`0x${string}`[]>;
type GetPermissionsResponse = WalletPermission[];
declare function getPermissions(client: WalletClient): Promise<WalletPermission[]>;
declare function requestAccounts(client: WalletClient): Promise<`0x${string}`[]>;
type RequestPermissionsArgs = {
eth_accounts: Record<string, any>;
} & {
[key: string]: Record<string, any>;
};
type RequestPermissionsResponse = WalletPermission[];
declare function requestPermissions(client: WalletClient, permissions: RequestPermissionsArgs): Promise<WalletPermission[]>;
type SignMessageArgs = {
from: Address;
data: Hex | ByteArray;
};
type SignMessageResponse = Hex;
declare function signMessage(client: WalletClient, { from, data: data_ }: SignMessageArgs): Promise<SignMessageResponse>;
type SwitchChainArgs = {
id: Chain['id'];
};
declare function switchChain(client: WalletClient, { id }: SwitchChainArgs): Promise<void>;
type WatchAssetArgs = WatchAssetParams;
type WatchAssetResponse = boolean;
declare function watchAsset(client: WalletClient, params: WatchAssetParams): Promise<WatchAssetResponse>;
export { GetPermissionsResponse, RequestPermissionsResponse, SignMessageArgs, SignMessageResponse, SwitchChainArgs, WatchAssetArgs, WatchAssetResponse, addChain, getAccounts, getPermissions, requestAccounts, requestPermissions, signMessage, switchChain, watchAsset };

@@ -11,4 +11,4 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});

var _chunkZYSXBTBBjs = require('./chunk-ZYSXBTBB.js');
require('./chunk-4D5XG6XB.js');
var _chunkNUXMGPMKjs = require('./chunk-NUXMGPMK.js');
require('./chunk-THMRUG4D.js');

@@ -24,3 +24,3 @@

exports.addChain = _chunkZYSXBTBBjs.addChain; exports.getAccounts = _chunkZYSXBTBBjs.getAccounts; exports.getPermissions = _chunkZYSXBTBBjs.getPermissions; exports.requestAccounts = _chunkZYSXBTBBjs.requestAccounts; exports.requestPermissions = _chunkZYSXBTBBjs.requestPermissions; exports.sendTransaction = _chunkZYSXBTBBjs.sendTransaction; exports.signMessage = _chunkZYSXBTBBjs.signMessage; exports.switchChain = _chunkZYSXBTBBjs.switchChain; exports.watchAsset = _chunkZYSXBTBBjs.watchAsset;
exports.addChain = _chunkNUXMGPMKjs.addChain; exports.getAccounts = _chunkNUXMGPMKjs.getAccounts; exports.getPermissions = _chunkNUXMGPMKjs.getPermissions; exports.requestAccounts = _chunkNUXMGPMKjs.requestAccounts; exports.requestPermissions = _chunkNUXMGPMKjs.requestPermissions; exports.sendTransaction = _chunkNUXMGPMKjs.sendTransaction; exports.signMessage = _chunkNUXMGPMKjs.signMessage; exports.switchChain = _chunkNUXMGPMKjs.switchChain; exports.watchAsset = _chunkNUXMGPMKjs.watchAsset;
//# sourceMappingURL=wallet.js.map

@@ -1,3 +0,3 @@

import { R as Requests, E as Events } from './eip1193-9317a312.js';
import './chain-afa13f5a.js';
import { R as Requests, E as Events } from './eip1193-6f9ba163.js';
import './chain-f16512e8.js';
import '@wagmi/chains';

@@ -4,0 +4,0 @@

@@ -6,15 +6,19 @@ {

"@noble/hashes": "^1.1.2",
"@wagmi/chains": "~0.2.6",
"@wagmi/chains": "~0.2.8",
"abitype": "~0.3.0",
"idna-uts46-hx": "^4.1.2"
"idna-uts46-hx": "^4.1.2",
"isomorphic-unfetch": "^4.0.2",
"isomorphic-ws": "^5.0.0",
"ws": "^8.12.0"
},
"version": "0.0.1-alpha.24",
"version": "0.0.1-alpha.25",
"files": [
"/actions",
"/chains",
"/contract",
"/dist",
"/clients",
"/ens",
"/src",
"/types",
"/utils",
"/wallet",
"/window"

@@ -33,6 +37,6 @@ ],

},
"./clients": {
"types": "./dist/clients/index.d.ts",
"module": "./dist/clients/index.mjs",
"default": "./dist/clients/index.js"
"./contract": {
"types": "./dist/contract.d.ts",
"module": "./dist/contract.mjs",
"default": "./dist/contract.js"
},

@@ -39,0 +43,0 @@ "./ens": {

@@ -47,2 +47,4 @@ import type { Hex } from '../types'

export const address = {
burn: '0x0000000000000000000000000000000000000000',
usdcHolder: '0x5414d89a8bf7e99d732bc52f3e6a3ef461c0c078',
vitalik: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',

@@ -49,0 +51,0 @@ } as const

@@ -10,3 +10,3 @@ /* c8 ignore start */

} from '../actions'
import { Chain, localhost } from '../chains'
import { Chain, localhost, mainnet } from '../chains'
import {

@@ -31,6 +31,11 @@ createPublicClient,

const anvil = {
...localhost,
contracts: mainnet.contracts,
} as const satisfies Chain
export const publicClient =
process.env.VITE_NETWORK_TRANSPORT_MODE === 'webSocket'
? createPublicClient({
chain: localhost,
chain: anvil,
pollingInterval: 1_000,

@@ -40,3 +45,3 @@ transport: webSocket(localWsUrl),

: createPublicClient({
chain: localhost,
chain: anvil,
pollingInterval: 1_000,

@@ -92,3 +97,3 @@ transport: http(),

const { result } = await rpc.http(localhost.rpcUrls.default.http[0], {
const { result } = await rpc.http(anvil.rpcUrls.default.http[0], {
body: {

@@ -105,3 +110,3 @@ method,

export const testClient = createTestClient({
chain: localhost,
chain: anvil,
mode: 'anvil',

@@ -108,0 +113,0 @@ transport: http(),

@@ -7,3 +7,2 @@ export {

createPendingTransactionFilter,
deployContract,
estimateGas,

@@ -47,4 +46,2 @@ getBalance,

CreatePendingTransactionFilterResponse,
DeployContractArgs,
DeployContractResponse,
EstimateGasArgs,

@@ -161,2 +158,3 @@ EstimateGasResponse,

addChain,
deployContract,
getAccounts,

@@ -173,2 +171,4 @@ getPermissions,

export type {
DeployContractArgs,
DeployContractResponse,
FormattedTransactionRequest,

@@ -175,0 +175,0 @@ GetPermissionsResponse,

@@ -114,3 +114,3 @@ import { describe, expect, test } from 'vitest'

test.skip('named args', () => {
test('named args', () => {
expect(

@@ -159,5 +159,39 @@ buildFilterTopics({

])
expect(
buildFilterTopics({
event:
'Transfer(string indexed baz, uint indexed foo, bool indexed bar)',
args: {
baz: 'watermelon sugar high',
foo: 12,
bar: true,
},
}),
).toEqual([
'0xd72ffe8f642f870a4e0b389d4e008752294ecfa2a379b4a9790c067aef635088',
'0xdb31e24017b555ff340729aa37fadedf910b5395e13a218e76e155c39527bf02',
'0x000000000000000000000000000000000000000000000000000000000000000c',
'0x0000000000000000000000000000000000000000000000000000000000000001',
])
expect(
buildFilterTopics({
event:
'Transfer(bytes indexed baz, uint indexed foo, bool indexed bar)',
args: {
baz: '0x69420',
foo: 12,
bar: true,
},
}),
).toEqual([
'0xd0ac01db7189fe6027705e6dda462153bf4aec72630a11dcec054ac78bac314d',
'0xd36b1a27d526376a81ba9b34292f4103e8340cc80a493e43aa00a14ebd0df4c5',
'0x000000000000000000000000000000000000000000000000000000000000000c',
'0x0000000000000000000000000000000000000000000000000000000000000001',
])
})
test.skip('unnamed args', () => {
test('unnamed args', () => {
expect(

@@ -245,4 +279,2 @@ buildFilterTopics({

})
// TODO: more arg types
})

@@ -0,1 +1,2 @@

import { Abi } from 'abitype'
import type { PublicClient } from '../../clients'

@@ -12,3 +13,10 @@

} from '../../types'
import { getEventSignature, numberToHex } from '../../utils'
import {
EncodeEventTopicsArgs,
encodeEventTopics,
extractFunctionName,
extractFunctionParams,
numberToHex,
getAbiItem,
} from '../../utils'

@@ -47,5 +55,3 @@ export type EventFilterArgs<TEventDefinition extends EventDefinition> =

let topics: LogTopic[] = []
if (event) {
topics = buildFilterTopics({ event, args })
}
if (event) topics = buildFilterTopics({ event, args })
const id = await client.request({

@@ -66,5 +72,5 @@ method: 'eth_newFilter',

export function buildFilterTopics<TEventDefinition extends EventDefinition,>({
export function buildFilterTopics<TEventDefinition extends EventDefinition>({
event,
args: _args,
args,
}: {

@@ -74,7 +80,18 @@ event: TEventDefinition

}) {
const signature = getEventSignature(event)
const eventName = extractFunctionName(event)!
const abi = unstable_parseAbi(event)
return encodeEventTopics({ abi, eventName, args } as EncodeEventTopicsArgs)
}
// TODO: support args
return [signature]
// REFACTOR: Implement a full version of `parseAbi` that supports more types (functions, errors) & more complex arg types (structs & arrays).
function unstable_parseAbi(definition: EventDefinition): Abi {
const name = extractFunctionName(definition)!
const params = extractFunctionParams(definition)
return [
{
type: 'event',
name,
inputs: params || [],
},
]
}

@@ -20,3 +20,3 @@ import { afterAll, assertType, beforeAll, describe, expect, test } from 'vitest'

} from '../test'
import { sendTransaction } from '../wallet'
import { sendTransaction, writeContract } from '../wallet'
import { parseEther } from '../../utils'

@@ -34,2 +34,5 @@ import type { Hash, Log } from '../../types'

})
await impersonateAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -42,2 +45,5 @@

})
await stopImpersonatingAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -141,3 +147,4 @@

const filter = await createEventFilter(publicClient, {
event: 'Transfer(address from, address to, uint256 value)',
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
})

@@ -179,3 +186,4 @@

const filter = await createEventFilter(publicClient, {
event: 'Transfer(address from, address to, uint256 value)',
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
fromBlock: initialBlockNumber - 5n,

@@ -193,3 +201,189 @@ toBlock: initialBlockNumber,

test.todo('args: args')
test('args: singular `from`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: address.vitalik,
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [address.vitalik],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterChanges(publicClient, { filter: namedFilter })).length,
).toBe(2)
expect(
(await getFilterChanges(publicClient, { filter: unnamedFilter })).length,
).toBe(2)
})
test('args: multiple `from`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: [address.usdcHolder, address.vitalik],
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [[address.usdcHolder, address.vitalik]],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterChanges(publicClient, { filter: namedFilter })).length,
).toBe(3)
expect(
(await getFilterChanges(publicClient, { filter: unnamedFilter })).length,
).toBe(3)
})
test('args: singular `to`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: accounts[0].address,
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, accounts[0].address],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterChanges(publicClient, { filter: namedFilter })).length,
).toBe(1)
expect(
(await getFilterChanges(publicClient, { filter: unnamedFilter })).length,
).toBe(1)
})
test('args: multiple `to`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: [accounts[0].address, accounts[1].address],
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, [accounts[0].address, accounts[1].address]],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterChanges(publicClient, { filter: namedFilter })).length,
).toBe(3)
expect(
(await getFilterChanges(publicClient, { filter: unnamedFilter })).length,
).toBe(3)
})
})

@@ -20,3 +20,3 @@ import { afterAll, assertType, beforeAll, describe, expect, test } from 'vitest'

} from '../test'
import { sendTransaction } from '../wallet'
import { sendTransaction, writeContract } from '../wallet'
import type { Log } from '../../types'

@@ -31,2 +31,5 @@ import { createEventFilter } from './createEventFilter'

})
await impersonateAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -39,2 +42,5 @@

})
await stopImpersonatingAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -90,2 +96,3 @@

let logs = await getFilterLogs(publicClient, { filter })
console.log(logs[0])
assertType<Log[]>(logs)

@@ -107,3 +114,189 @@ expect(logs.length).toBe(2)

test.todo('args: args')
test('args: singular `from`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: address.vitalik,
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [address.vitalik],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterLogs(publicClient, { filter: namedFilter })).length,
).toBe(2)
expect(
(await getFilterLogs(publicClient, { filter: unnamedFilter })).length,
).toBe(2)
})
test('args: multiple `from`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: [address.usdcHolder, address.vitalik],
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [[address.usdcHolder, address.vitalik]],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterLogs(publicClient, { filter: namedFilter })).length,
).toBe(3)
expect(
(await getFilterLogs(publicClient, { filter: unnamedFilter })).length,
).toBe(3)
})
test('args: singular `to`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: accounts[0].address,
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, accounts[0].address],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterLogs(publicClient, { filter: namedFilter })).length,
).toBe(1)
expect(
(await getFilterLogs(publicClient, { filter: unnamedFilter })).length,
).toBe(1)
})
test('args: multiple `to`', async () => {
const namedFilter = await createEventFilter(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: [accounts[0].address, accounts[1].address],
},
})
const unnamedFilter = await createEventFilter(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, [accounts[0].address, accounts[1].address]],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(await getFilterLogs(publicClient, { filter: namedFilter })).length,
).toBe(3)
expect(
(await getFilterLogs(publicClient, { filter: unnamedFilter })).length,
).toBe(3)
})
})

@@ -20,3 +20,3 @@ import { afterAll, assertType, beforeAll, describe, expect, test } from 'vitest'

} from '../test'
import { sendTransaction } from '../wallet'
import { sendTransaction, writeContract } from '../wallet'
import type { Log } from '../../types'

@@ -31,2 +31,5 @@ import { getLogs } from './getLogs'

})
await impersonateAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -39,2 +42,5 @@

})
await impersonateAccount(testClient, {
address: address.usdcHolder,
})
})

@@ -109,3 +115,196 @@

test.todo('args: args')
test('args: singular `from`', async () => {
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(
await getLogs(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: address.vitalik,
},
})
).length,
).toBe(2)
expect(
(
await getLogs(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [address.vitalik],
})
).length,
).toBe(2)
})
test('args: multiple `from`', async () => {
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(
await getLogs(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: [address.usdcHolder, address.vitalik],
},
})
).length,
).toBe(3)
expect(
(
await getLogs(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
from: [address.usdcHolder, address.vitalik],
},
})
).length,
).toBe(3)
})
test('args: singular `to`', async () => {
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(
await getLogs(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: accounts[0].address,
},
})
).length,
).toBe(1)
expect(
(
await getLogs(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, accounts[0].address],
})
).length,
).toBe(1)
})
test('args: multiple `to`', async () => {
await writeContract(walletClient, {
...usdcContractConfig,
from: address.usdcHolder,
functionName: 'transfer',
args: [accounts[0].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'transfer',
args: [accounts[1].address, 1n],
})
await writeContract(walletClient, {
...usdcContractConfig,
from: address.vitalik,
functionName: 'approve',
args: [address.vitalik, 1n],
})
await mine(testClient, { blocks: 1 })
expect(
(
await getLogs(publicClient, {
event:
'Transfer(address indexed from, address indexed to, uint256 value)',
args: {
to: [accounts[0].address, accounts[1].address],
},
})
).length,
).toBe(3)
expect(
(
await getLogs(publicClient, {
event: 'Transfer(address indexed, address indexed, uint256)',
args: [null, [accounts[0].address, accounts[1].address]],
})
).length,
).toBe(3)
})
})

@@ -13,3 +13,2 @@ import { expect, test } from 'vitest'

"createPendingTransactionFilter": [Function],
"deployContract": [Function],
"estimateGas": [Function],

@@ -16,0 +15,0 @@ "getBalance": [Function],

@@ -28,8 +28,2 @@ export { call } from './call'

export { deployContract } from './deployContract'
export type {
DeployContractArgs,
DeployContractResponse,
} from './deployContract'
export { estimateGas } from './estimateGas'

@@ -110,3 +104,3 @@ export type { EstimateGasArgs, EstimateGasResponse } from './estimateGas'

export { multicall } from './multicall'
export type { MulticallArgs } from './multicall'
export type { MulticallArgs, MulticallResponse } from './multicall'

@@ -113,0 +107,0 @@ export { readContract } from './readContract'

@@ -11,5 +11,5 @@ import { PublicClient } from '../../clients'

import {
EncodeFunctionDataArgs,
decodeFunctionResult,
encodeFunctionData,
EncodeFunctionDataArgs,
getContractError,

@@ -21,3 +21,3 @@ } from '../../utils'

export type MulticallArgs<
TContracts extends ContractConfig[],
TContracts extends ContractConfig[] = ContractConfig[],
TAllowFailure extends boolean = true,

@@ -30,2 +30,7 @@ > = Pick<CallArgs, 'blockNumber' | 'blockTag'> & {

export type MulticallResponse<
TContracts extends ContractConfig[] = ContractConfig[],
TAllowFailure extends boolean = true,
> = MulticallResults<TContracts, TAllowFailure>
export async function multicall<

@@ -37,3 +42,3 @@ TContracts extends ContractConfig[],

args: MulticallArgs<TContracts, TAllowFailure>,
): Promise<MulticallResults<TContracts, TAllowFailure>> {
): Promise<MulticallResponse<TContracts, TAllowFailure>> {
const {

@@ -40,0 +45,0 @@ allowFailure = true,

@@ -6,11 +6,9 @@ import { Abi, Narrow } from 'abitype'

import type {
Address,
Chain,
ContractConfig,
ExtractArgsFromAbi,
ExtractResultFromAbi,
ExtractFunctionNameFromAbi,
GetValue,
} from '../../types'
import {
DecodeFunctionResultArgs,
EncodeFunctionDataArgs,

@@ -20,3 +18,2 @@ decodeFunctionResult,

getContractError,
DecodeFunctionResultArgs,
} from '../../utils'

@@ -23,0 +20,0 @@ import { WriteContractArgs } from '../wallet'

@@ -22,3 +22,3 @@ import { afterAll, beforeAll, describe, expect, test, vi } from 'vitest'

await impersonateAccount(testClient, {
address: '0x5414d89a8bf7e99d732bc52f3e6a3ef461c0c078',
address: address.usdcHolder,
})

@@ -32,3 +32,3 @@ })

await stopImpersonatingAccount(testClient, {
address: '0x5414d89a8bf7e99d732bc52f3e6a3ef461c0c078',
address: address.usdcHolder,
})

@@ -236,3 +236,3 @@ })

args: {
from: '0x5414d89a8bf7e99d732bc52f3e6a3ef461c0c078',
from: address.usdcHolder,
},

@@ -244,3 +244,3 @@ onLogs: (logs_) => logs.push(logs_),

...usdcContractConfig,
from: '0x5414d89a8bf7e99d732bc52f3e6a3ef461c0c078',
from: address.usdcHolder,
functionName: 'transfer',

@@ -247,0 +247,0 @@ args: [accounts[0].address, 1n],

@@ -9,2 +9,3 @@ import { expect, test } from 'vitest'

"addChain": [Function],
"deployContract": [Function],
"getAccounts": [Function],

@@ -11,0 +12,0 @@ "getPermissions": [Function],

export { addChain } from './addChain'
export { deployContract } from './deployContract'
export type {
DeployContractArgs,
DeployContractResponse,
} from './deployContract'
export { getAccounts } from './getAccounts'

@@ -4,0 +10,0 @@

@@ -6,1519 +6,46 @@ import { describe, expect, test } from 'vitest'

test('exports chains', () => {
expect(chains).toMatchInlineSnapshot(`
{
"arbitrum": {
"blockExplorers": {
"default": {
"name": "Arbiscan",
"url": "https://arbiscan.io",
},
"etherscan": {
"name": "Arbiscan",
"url": "https://arbiscan.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 7654707,
},
},
"id": 42161,
"name": "Arbitrum One",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "arbitrum",
"rpcUrls": {
"alchemy": {
"http": [
"https://arb-mainnet.g.alchemy.com/v2",
],
"webSocket": [
"wss://arb-mainnet.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://arb1.arbitrum.io/rpc",
],
},
"infura": {
"http": [
"https://arbitrum-mainnet.infura.io/v3",
],
"webSocket": [
"wss://arbitrum-mainnet.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://arb1.arbitrum.io/rpc",
],
},
},
},
"arbitrumGoerli": {
"blockExplorers": {
"default": {
"name": "Arbiscan",
"url": "https://goerli.arbiscan.io/",
},
"etherscan": {
"name": "Arbiscan",
"url": "https://goerli.arbiscan.io/",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 88114,
},
},
"id": 421613,
"name": "Arbitrum Goerli",
"nativeCurrency": {
"decimals": 18,
"name": "Arbitrum Goerli Ether",
"symbol": "ETH",
},
"network": "arbitrum-goerli",
"rpcUrls": {
"alchemy": {
"http": [
"https://arb-goerli.g.alchemy.com/v2",
],
"webSocket": [
"wss://arb-goerli.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://goerli-rollup.arbitrum.io/rpc",
],
},
"infura": {
"http": [
"https://arbitrum-goerli.infura.io/v3",
],
"webSocket": [
"wss://arbitrum-goerli.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://goerli-rollup.arbitrum.io/rpc",
],
},
},
"testnet": true,
},
"aurora": {
"blockExplorers": {
"default": {
"name": "Aurorascan",
"url": "https://aurorascan.dev",
},
"etherscan": {
"name": "Aurorascan",
"url": "https://aurorascan.dev",
},
},
"id": 1313161554,
"name": "Aurora",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "aurora",
"rpcUrls": {
"default": {
"http": [
"https://mainnet.aurora.dev",
],
},
"infura": {
"http": [
"https://aurora-mainnet.infura.io/v3",
],
},
"public": {
"http": [
"https://mainnet.aurora.dev",
],
},
},
},
"auroraGoerli": {
"blockExplorers": {
"default": {
"name": "Aurorascan",
"url": "https://testnet.aurorascan.dev",
},
"etherscan": {
"name": "Aurorascan",
"url": "https://testnet.aurorascan.dev",
},
},
"id": 1313161555,
"name": "Aurora Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "aurora-testnet",
"rpcUrls": {
"default": {
"http": [
"https://testnet.aurora.dev",
],
},
"infura": {
"http": [
"https://aurora-testnet.infura.io/v3",
],
},
"public": {
"http": [
"https://testnet.aurora.dev",
],
},
},
"testnet": true,
},
"avalanche": {
"blockExplorers": {
"default": {
"name": "SnowTrace",
"url": "https://snowtrace.io",
},
"etherscan": {
"name": "SnowTrace",
"url": "https://snowtrace.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 11907934,
},
},
"id": 43114,
"name": "Avalanche",
"nativeCurrency": {
"decimals": 18,
"name": "Avalanche",
"symbol": "AVAX",
},
"network": "avalanche",
"rpcUrls": {
"default": {
"http": [
"https://api.avax.network/ext/bc/C/rpc",
],
},
"public": {
"http": [
"https://api.avax.network/ext/bc/C/rpc",
],
},
},
},
"avalancheFuji": {
"blockExplorers": {
"default": {
"name": "SnowTrace",
"url": "https://testnet.snowtrace.io",
},
"etherscan": {
"name": "SnowTrace",
"url": "https://testnet.snowtrace.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 7096959,
},
},
"id": 43113,
"name": "Avalanche Fuji",
"nativeCurrency": {
"decimals": 18,
"name": "Avalanche Fuji",
"symbol": "AVAX",
},
"network": "avalanche-fuji",
"rpcUrls": {
"default": {
"http": [
"https://api.avax-test.network/ext/bc/C/rpc",
],
},
"public": {
"http": [
"https://api.avax-test.network/ext/bc/C/rpc",
],
},
},
"testnet": true,
},
"bronos": {
"blockExplorers": {
"default": {
"name": "BronoScan",
"url": "https://broscan.bronos.org",
},
},
"id": 1039,
"name": "Bronos",
"nativeCurrency": {
"decimals": 18,
"name": "BRO",
"symbol": "BRO",
},
"network": "bronos",
"rpcUrls": {
"default": {
"http": [
"https://evm.bronos.org",
],
},
"public": {
"http": [
"https://evm.bronos.org",
],
},
},
},
"bronosTestnet": {
"blockExplorers": {
"default": {
"name": "BronoScan",
"url": "https://tbroscan.bronos.org",
},
},
"id": 1038,
"name": "Bronos Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Bronos Coin",
"symbol": "tBRO",
},
"network": "bronos-testnet",
"rpcUrls": {
"default": {
"http": [
"https://evm-testnet.bronos.org",
],
},
"public": {
"http": [
"https://evm-testnet.bronos.org",
],
},
},
"testnet": true,
},
"bsc": {
"blockExplorers": {
"default": {
"name": "BscScan",
"url": "https://bscscan.com",
},
"etherscan": {
"name": "BscScan",
"url": "https://bscscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 15921452,
},
},
"id": 56,
"name": "BNB Smart Chain",
"nativeCurrency": {
"decimals": 18,
"name": "BNB",
"symbol": "BNB",
},
"network": "bsc",
"rpcUrls": {
"default": {
"http": [
"https://rpc.ankr.com/bsc",
],
},
"public": {
"http": [
"https://rpc.ankr.com/bsc",
],
},
},
},
"bscTestnet": {
"blockExplorers": {
"default": {
"name": "BscScan",
"url": "https://testnet.bscscan.com",
},
"etherscan": {
"name": "BscScan",
"url": "https://testnet.bscscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 17422483,
},
},
"id": 97,
"name": "Binance Smart Chain Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "BNB",
"symbol": "tBNB",
},
"network": "bsc-testnet",
"rpcUrls": {
"default": {
"http": [
"https://bsc-testnet.public.blastapi.io",
],
},
"public": {
"http": [
"https://bsc-testnet.public.blastapi.io",
],
},
},
"testnet": true,
},
"canto": {
"blockExplorers": {
"default": {
"name": "Canto EVM Explorer (Blockscout)",
"url": "https://evm.explorer.canto.io",
},
},
"id": 7700,
"name": "Canto",
"nativeCurrency": {
"decimals": 18,
"name": "Canto",
"symbol": "CANTO",
},
"network": "canto",
"rpcUrls": {
"default": {
"http": [
"https://canto.slingshot.finance",
],
},
"public": {
"http": [
"https://canto.slingshot.finance",
],
},
},
},
"celo": {
"blockExplorers": {
"default": {
"name": "Celo Explorer",
"url": "https://explorer.celo.org/mainnet",
},
"etherscan": {
"name": "CeloScan",
"url": "https://celoscan.io",
},
},
"contracts": {
"multicall3": {
"address": "0xcA11bde05977b3631167028862bE2a173976CA11",
"blockCreated": 13112599,
},
},
"formatters": {
"block": [Function],
"transaction": [Function],
"transactionReceipt": [Function],
"transactionRequest": [Function],
},
"id": 42220,
"name": "Celo",
"nativeCurrency": {
"decimals": 18,
"name": "CELO",
"symbol": "CELO",
},
"network": "celo",
"rpcUrls": {
"default": {
"http": [
"https://forno.celo.org",
],
},
"infura": {
"http": [
"https://celo-mainnet.infura.io/v3",
],
},
"public": {
"http": [
"https://forno.celo.org",
],
},
},
"testnet": false,
},
"celoAlfajores": {
"blockExplorers": {
"default": {
"name": "Celo Explorer",
"url": "https://explorer.celo.org/alfajores",
},
"etherscan": {
"name": "CeloScan",
"url": "https://alfajores.celoscan.io/",
},
},
"contracts": {
"multicall3": {
"address": "0xcA11bde05977b3631167028862bE2a173976CA11",
"blockCreated": 14569001,
},
},
"formatters": {
"block": [Function],
"transaction": [Function],
"transactionReceipt": [Function],
"transactionRequest": [Function],
},
"id": 44787,
"name": "Alfajores",
"nativeCurrency": {
"decimals": 18,
"name": "CELO",
"symbol": "A-CELO",
},
"network": "celo-alfajores",
"rpcUrls": {
"default": {
"http": [
"https://alfajores-forno.celo-testnet.org",
],
},
"infura": {
"http": [
"https://celo-alfajores.infura.io/v3",
],
},
"public": {
"http": [
"https://alfajores-forno.celo-testnet.org",
],
},
},
"testnet": true,
},
"crossbell": {
"blockExplorers": {
"default": {
"name": "CrossScan",
"url": "https://scan.crossbell.io",
},
},
"contracts": {
"multicall3": {
"address": "0xBB9759009cDaC82774EfC84D94cD9F7440f75Fcf",
"blockCreated": 23499787,
},
},
"id": 3737,
"name": "Crossbell",
"nativeCurrency": {
"decimals": 18,
"name": "CSB",
"symbol": "CSB",
},
"network": "crossbell",
"rpcUrls": {
"default": {
"http": [
"https://rpc.crossbell.io",
],
},
"public": {
"http": [
"https://rpc.crossbell.io",
],
},
},
},
"defineChain": [Function],
"evmos": {
"blockExplorers": {
"default": {
"name": "Evmos Block Explorer",
"url": "https://escan.live/",
},
},
"id": 9001,
"name": "Evmos",
"nativeCurrency": {
"decimals": 18,
"name": "Evmos",
"symbol": "EVMOS",
},
"network": "evmos",
"rpcUrls": {
"default": {
"http": [
"https://eth.bd.evmos.org:8545",
],
},
"public": {
"http": [
"https://eth.bd.evmos.org:8545",
],
},
},
},
"evmosTestnet": {
"blockExplorers": {
"default": {
"name": "Evmos Testnet Block Explorer",
"url": "https://evm.evmos.dev/",
},
},
"id": 9000,
"name": "Evmos Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Evmos",
"symbol": "EVMOS",
},
"network": "evmos-testnet",
"rpcUrls": {
"default": {
"http": [
"https://eth.bd.evmos.dev:8545",
],
},
"public": {
"http": [
"https://eth.bd.evmos.dev:8545",
],
},
},
},
"fantom": {
"blockExplorers": {
"default": {
"name": "FTMScan",
"url": "https://ftmscan.com",
},
"etherscan": {
"name": "FTMScan",
"url": "https://ftmscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 33001987,
},
},
"id": 250,
"name": "Fantom",
"nativeCurrency": {
"decimals": 18,
"name": "Fantom",
"symbol": "FTM",
},
"network": "fantom",
"rpcUrls": {
"default": {
"http": [
"https://rpc.ankr.com/fantom",
],
},
"public": {
"http": [
"https://rpc.ankr.com/fantom",
],
},
},
},
"fantomTestnet": {
"blockExplorers": {
"default": {
"name": "FTMScan",
"url": "https://testnet.ftmscan.com",
},
"etherscan": {
"name": "FTMScan",
"url": "https://testnet.ftmscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 8328688,
},
},
"id": 4002,
"name": "Fantom Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Fantom",
"symbol": "FTM",
},
"network": "fantom-testnet",
"rpcUrls": {
"default": {
"http": [
"https://rpc.testnet.fantom.network",
],
},
"public": {
"http": [
"https://rpc.testnet.fantom.network",
],
},
},
},
"filecoin": {
"blockExplorers": {
"default": {
"name": "Filfox",
"url": "https://filfox.info/en",
},
"filscan": {
"name": "Filscan",
"url": "https://filscan.io",
},
"filscout": {
"name": "Filscout",
"url": "https://filscout.io/en",
},
},
"id": 314,
"name": "Filecoin Mainnet",
"nativeCurrency": {
"decimals": 18,
"name": "filecoin",
"symbol": "FIL",
},
"network": "filecoin-mainnet",
"rpcUrls": {
"default": {
"http": [
"https://api.node.glif.io",
],
},
"public": {
"http": [
"https://api.node.glif.io",
],
},
},
},
"filecoinTestnet": {
"blockExplorers": {
"default": {
"name": "Filfox",
"url": "https://hyperspace.filfox.info/en",
},
"gilf": {
"name": "Glif",
"url": "https://explorer.glif.io/?network=hyperspace",
},
},
"id": 3141,
"name": "Filecoin Hyperspace",
"nativeCurrency": {
"decimals": 18,
"name": "testnet filecoin",
"symbol": "tFIL",
},
"network": "filecoin-hyperspace",
"rpcUrls": {
"default": {
"http": [
"https://api.hyperspace.node.glif.io/rpc/v1",
],
},
"public": {
"http": [
"https://api.hyperspace.node.glif.io/rpc/v1",
],
},
},
},
"foundry": {
"id": 31337,
"name": "Foundry",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "foundry",
"rpcUrls": {
"default": {
"http": [
"http://127.0.0.1:8545",
],
},
"public": {
"http": [
"http://127.0.0.1:8545",
],
},
},
},
"gnosis": {
"blockExplorers": {
"default": {
"name": "Gnosis Chain Explorer",
"url": "https://blockscout.com/xdai/mainnet/",
},
"etherscan": {
"name": "Gnosisscan",
"url": "https://gnosisscan.io/",
},
},
"id": 100,
"name": "Gnosis",
"nativeCurrency": {
"decimals": 18,
"name": "Gnosis",
"symbol": "xDAI",
},
"network": "gnosis",
"rpcUrls": {
"default": {
"http": [
"https://rpc.gnosischain.com",
],
},
"public": {
"http": [
"https://rpc.gnosischain.com",
],
},
},
},
"gnosisChiado": {
"blockExplorers": {
"default": {
"name": "Blockscout",
"url": "https://blockscout.chiadochain.net",
},
},
"id": 10200,
"name": "Gnosis Chiado",
"nativeCurrency": {
"decimals": 18,
"name": "Gnosis",
"symbol": "xDAI",
},
"network": "chiado",
"rpcUrls": {
"default": {
"http": [
"https://rpc.chiadochain.net",
],
},
"public": {
"http": [
"https://rpc.chiadochain.net",
],
},
},
},
"goerli": {
"blockExplorers": {
"default": {
"name": "Etherscan",
"url": "https://goerli.etherscan.io",
},
"etherscan": {
"name": "Etherscan",
"url": "https://goerli.etherscan.io",
},
},
"contracts": {
"ensRegistry": {
"address": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
},
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 6507670,
},
},
"id": 5,
"name": "Goerli",
"nativeCurrency": {
"decimals": 18,
"name": "Goerli Ether",
"symbol": "ETH",
},
"network": "goerli",
"rpcUrls": {
"alchemy": {
"http": [
"https://eth-goerli.g.alchemy.com/v2",
],
"webSocket": [
"wss://eth-goerli.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://rpc.ankr.com/eth_goerli",
],
},
"infura": {
"http": [
"https://goerli.infura.io/v3",
],
"webSocket": [
"wss://goerli.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://rpc.ankr.com/eth_goerli",
],
},
},
"testnet": true,
},
"hardhat": {
"id": 31337,
"name": "Hardhat",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "hardhat",
"rpcUrls": {
"default": {
"http": [
"http://127.0.0.1:8545",
],
},
"public": {
"http": [
"http://127.0.0.1:8545",
],
},
},
},
"iotex": {
"blockExplorers": {
"default": {
"name": "IoTeXScan",
"url": "https://iotexscan.io",
},
},
"id": 4689,
"name": "IoTeX",
"nativeCurrency": {
"decimals": 18,
"name": "IoTeX",
"symbol": "IOTX",
},
"network": "iotex",
"rpcUrls": {
"default": {
"http": [
"https://babel-api.mainnet.iotex.io",
],
"webSocket": [
"wss://babel-api.mainnet.iotex.io",
],
},
"public": {
"http": [
"https://babel-api.mainnet.iotex.io",
],
"webSocket": [
"wss://babel-api.mainnet.iotex.io",
],
},
},
},
"iotexTestnet": {
"blockExplorers": {
"default": {
"name": "IoTeXScan",
"url": "https://testnet.iotexscan.io",
},
},
"id": 4690,
"name": "IoTeX Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "IoTeX",
"symbol": "IOTX",
},
"network": "iotex-testnet",
"rpcUrls": {
"default": {
"http": [
"https://babel-api.testnet.iotex.io",
],
"webSocket": [
"wss://babel-api.testnet.iotex.io",
],
},
"public": {
"http": [
"https://babel-api.testnet.iotex.io",
],
"webSocket": [
"wss://babel-api.testnet.iotex.io",
],
},
},
},
"localhost": {
"id": 1337,
"name": "Localhost",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "localhost",
"rpcUrls": {
"default": {
"http": [
"http://127.0.0.1:8545",
],
},
"public": {
"http": [
"http://127.0.0.1:8545",
],
},
},
},
"mainnet": {
"blockExplorers": {
"default": {
"name": "Etherscan",
"url": "https://etherscan.io",
},
"etherscan": {
"name": "Etherscan",
"url": "https://etherscan.io",
},
},
"contracts": {
"ensRegistry": {
"address": "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",
},
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 14353601,
},
},
"id": 1,
"name": "Ethereum",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "homestead",
"rpcUrls": {
"alchemy": {
"http": [
"https://eth-mainnet.g.alchemy.com/v2",
],
"webSocket": [
"wss://eth-mainnet.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://cloudflare-eth.com",
],
},
"infura": {
"http": [
"https://mainnet.infura.io/v3",
],
"webSocket": [
"wss://mainnet.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://cloudflare-eth.com",
],
},
},
},
"metis": {
"blockExplorers": {
"default": {
"name": "Andromeda Explorer",
"url": "https://andromeda-explorer.metis.io",
},
},
"id": 1088,
"name": "Metis",
"nativeCurrency": {
"decimals": 18,
"name": "Metis",
"symbol": "METIS",
},
"network": "andromeda",
"rpcUrls": {
"default": {
"http": [
"https://andromeda.metis.io/?owner=1088",
],
},
"public": {
"http": [
"https://andromeda.metis.io/?owner=1088",
],
},
},
},
"metisGoerli": {
"blockExplorers": {
"default": {
"name": "Metis Goerli Explorer",
"url": "https://goerli.explorer.metisdevops.link",
},
},
"id": 599,
"name": "Metis Goerli",
"nativeCurrency": {
"decimals": 18,
"name": "Metis Goerli",
"symbol": "METIS",
},
"network": "metis-goerli",
"rpcUrls": {
"default": {
"http": [
"https://goerli.gateway.metisdevops.link",
],
},
"public": {
"http": [
"https://goerli.gateway.metisdevops.link",
],
},
},
},
"optimism": {
"blockExplorers": {
"default": {
"name": "Optimism Explorer",
"url": "https://explorer.optimism.io",
},
"etherscan": {
"name": "Etherscan",
"url": "https://optimistic.etherscan.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 4286263,
},
},
"id": 10,
"name": "Optimism",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "optimism",
"rpcUrls": {
"alchemy": {
"http": [
"https://opt-mainnet.g.alchemy.com/v2",
],
"webSocket": [
"wss://opt-mainnet.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://mainnet.optimism.io",
],
},
"infura": {
"http": [
"https://optimism-mainnet.infura.io/v3",
],
"webSocket": [
"wss://optimism-mainnet.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://mainnet.optimism.io",
],
},
},
},
"optimismGoerli": {
"blockExplorers": {
"default": {
"name": "Etherscan",
"url": "https://goerli-optimism.etherscan.io",
},
"etherscan": {
"name": "Etherscan",
"url": "https://goerli-optimism.etherscan.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 49461,
},
},
"id": 420,
"name": "Optimism Goerli",
"nativeCurrency": {
"decimals": 18,
"name": "Goerli Ether",
"symbol": "ETH",
},
"network": "optimism-goerli",
"rpcUrls": {
"alchemy": {
"http": [
"https://opt-goerli.g.alchemy.com/v2",
],
"webSocket": [
"wss://opt-goerli.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://goerli.optimism.io",
],
},
"infura": {
"http": [
"https://optimism-goerli.infura.io/v3",
],
"webSocket": [
"wss://optimism-goerli.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://goerli.optimism.io",
],
},
},
"testnet": true,
},
"polygon": {
"blockExplorers": {
"default": {
"name": "PolygonScan",
"url": "https://polygonscan.com",
},
"etherscan": {
"name": "PolygonScan",
"url": "https://polygonscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 25770160,
},
},
"id": 137,
"name": "Polygon",
"nativeCurrency": {
"decimals": 18,
"name": "MATIC",
"symbol": "MATIC",
},
"network": "matic",
"rpcUrls": {
"alchemy": {
"http": [
"https://polygon-mainnet.g.alchemy.com/v2",
],
"webSocket": [
"wss://polygon-mainnet.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://polygon-rpc.com",
],
},
"infura": {
"http": [
"https://polygon-mainnet.infura.io/v3",
],
"webSocket": [
"wss://polygon-mainnet.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://polygon-rpc.com",
],
},
},
},
"polygonMumbai": {
"blockExplorers": {
"default": {
"name": "PolygonScan",
"url": "https://mumbai.polygonscan.com",
},
"etherscan": {
"name": "PolygonScan",
"url": "https://mumbai.polygonscan.com",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 25770160,
},
},
"id": 80001,
"name": "Polygon Mumbai",
"nativeCurrency": {
"decimals": 18,
"name": "MATIC",
"symbol": "MATIC",
},
"network": "maticmum",
"rpcUrls": {
"alchemy": {
"http": [
"https://polygon-mumbai.g.alchemy.com/v2",
],
"webSocket": [
"wss://polygon-mumbai.g.alchemy.com/v2",
],
},
"default": {
"http": [
"https://matic-mumbai.chainstacklabs.com",
],
},
"infura": {
"http": [
"https://polygon-mumbai.infura.io/v3",
],
"webSocket": [
"wss://polygon-mumbai.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://matic-mumbai.chainstacklabs.com",
],
},
},
"testnet": true,
},
"sepolia": {
"blockExplorers": {
"default": {
"name": "Etherscan",
"url": "https://sepolia.etherscan.io",
},
"etherscan": {
"name": "Etherscan",
"url": "https://sepolia.etherscan.io",
},
},
"contracts": {
"multicall3": {
"address": "0xca11bde05977b3631167028862be2a173976ca11",
"blockCreated": 6507670,
},
},
"id": 11155111,
"name": "Sepolia",
"nativeCurrency": {
"decimals": 18,
"name": "Sepolia Ether",
"symbol": "SEP",
},
"network": "sepolia",
"rpcUrls": {
"default": {
"http": [
"https://rpc.sepolia.org",
],
},
"infura": {
"http": [
"https://sepolia.infura.io/v3",
],
"webSocket": [
"wss://sepolia.infura.io/ws/v3",
],
},
"public": {
"http": [
"https://rpc.sepolia.org",
],
},
},
"testnet": true,
},
"taraxa": {
"blockExplorers": {
"default": {
"name": "Taraxa Explorer",
"url": "https://explorer.mainnet.taraxa.io",
},
},
"id": 841,
"name": "Taraxa Mainnet",
"nativeCurrency": {
"decimals": 18,
"name": "Tara",
"symbol": "TARA",
},
"network": "taraxa",
"rpcUrls": {
"default": {
"http": [
"https://rpc.mainnet.taraxa.io",
],
},
"public": {
"http": [
"https://rpc.mainnet.taraxa.io",
],
},
},
},
"taraxaTestnet": {
"blockExplorers": {
"default": {
"name": "Taraxa Explorer",
"url": "https://explorer.testnet.taraxa.io",
},
},
"id": 842,
"name": "Taraxa Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Tara",
"symbol": "TARA",
},
"network": "taraxa-testnet",
"rpcUrls": {
"default": {
"http": [
"https://rpc.testnet.taraxa.io",
],
},
"public": {
"http": [
"https://rpc.testnet.taraxa.io",
],
},
},
"testnet": true,
},
"zkSync": {
"blockExplorers": {
"default": {
"name": "zkExplorer",
"url": "https://explorer.zksync.io",
},
},
"id": 324,
"name": "zkSync",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "zksync",
"rpcUrls": {
"default": {
"http": [
"https://zksync2-mainnet.zksync.io",
],
"webSocket": [
"wss://zksync2-mainnet.zksync.io/ws",
],
},
"public": {
"http": [
"https://zksync2-mainnet.zksync.io",
],
"webSocket": [
"wss://zksync2-mainnet.zksync.io/ws",
],
},
},
},
"zkSyncTestnet": {
"blockExplorers": {
"default": {
"name": "zkExplorer",
"url": "https://goerli.explorer.zksync.io",
},
},
"id": 280,
"name": "zkSync Testnet",
"nativeCurrency": {
"decimals": 18,
"name": "Ether",
"symbol": "ETH",
},
"network": "zksync-testnet",
"rpcUrls": {
"default": {
"http": [
"https://zksync2-testnet.zksync.dev",
],
"webSocket": [
"wss://zksync2-testnet.zksync.dev/ws",
],
},
"public": {
"http": [
"https://zksync2-testnet.zksync.dev",
],
"webSocket": [
"wss://zksync2-testnet.zksync.dev/ws",
],
},
},
"testnet": true,
},
}
expect(Object.keys(chains)).toMatchInlineSnapshot(`
[
"defineChain",
"arbitrum",
"arbitrumGoerli",
"aurora",
"auroraGoerli",
"avalanche",
"avalancheFuji",
"bronos",
"bronosTestnet",
"bsc",
"bscTestnet",
"canto",
"celo",
"celoAlfajores",
"crossbell",
"evmos",
"evmosTestnet",
"fantom",
"fantomTestnet",
"filecoin",
"filecoinTestnet",
"foundry",
"goerli",
"gnosis",
"gnosisChiado",
"hardhat",
"iotex",
"iotexTestnet",
"localhost",
"mainnet",
"metis",
"metisGoerli",
"optimism",
"optimismGoerli",
"polygon",
"polygonMumbai",
"sepolia",
"taraxa",
"taraxaTestnet",
"zkSync",
"zkSyncTestnet",
]
`)

@@ -1525,0 +52,0 @@ })

import { assertType, describe, expect, test } from 'vitest'
import WebSocket from 'isomorphic-ws'

@@ -3,0 +4,0 @@ import { localWsUrl } from '../../_test'

@@ -0,1 +1,2 @@

import WebSocket from 'isomorphic-ws'
import { UrlRequiredError } from '../../errors'

@@ -2,0 +3,0 @@ import type { Hash } from '../../types'

@@ -0,1 +1,4 @@

export type { GetEnsAddressArgs, GetEnsNameArgs } from './actions/ens'
export { getEnsAddress, getEnsName } from './actions/ens'
export {

@@ -5,2 +8,2 @@ labelhash,

normalize,
} from './utils'
} from './utils/ens'

@@ -124,3 +124,3 @@ import { Hex } from '../types'

'Make sure you are using the correct ABI and that the error exists on it.',
`You can look up the signature "${signature}" here: https://sig.eth.samczsun.com/.`,
`You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,
].join('\n'),

@@ -134,2 +134,18 @@ {

export class AbiEventSignatureNotFoundError extends BaseError {
name = 'AbiEventSignatureNotFoundError'
constructor(signature: Hex, { docsPath }: { docsPath: string }) {
super(
[
`Encoded event signature "${signature}" not found on ABI.`,
'Make sure you are using the correct ABI and that the event exists on it.',
`You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,
].join('\n'),
{
docsPath,
},
)
}
}
export class AbiEventNotFoundError extends BaseError {

@@ -188,3 +204,3 @@ name = 'AbiEventNotFoundError'

'Make sure you are using the correct ABI and that the function exists on it.',
`You can look up the signature "${signature}" here: https://sig.eth.samczsun.com/.`,
`You can look up the signature here: https://openchain.xyz/signatures?query=${signature}.`,
].join('\n'),

@@ -191,0 +207,0 @@ {

import { Abi } from 'abitype'
import { panicReasons } from '../constants'
import { Address, Hex } from '../types'
import { Address, Chain, Hex } from '../types'
import {

@@ -8,4 +8,4 @@ DecodeErrorResultResponse,

getAbiItem,
formatAbiItem,
formatAbiItemWithArgs,
formatAbiItem,
} from '../utils'

@@ -12,0 +12,0 @@ import { BaseError } from './base'

@@ -11,2 +11,3 @@ export {

AbiErrorSignatureNotFoundError,
AbiEventSignatureNotFoundError,
AbiEventNotFoundError,

@@ -28,2 +29,4 @@ AbiFunctionNotFoundError,

export { ChainDoesNotSupportContract } from './chain'
export {

@@ -30,0 +33,0 @@ ContractFunctionExecutionError,

@@ -62,16 +62,3 @@ import { expect, test } from 'vitest'

"WebSocketRequestError": [Function],
"addChain": [Function],
"boolToBytes": [Function],
"boolToHex": [Function],
"bytesToBigint": [Function],
"bytesToBool": [Function],
"bytesToHex": [Function],
"bytesToNumber": [Function],
"bytesToString": [Function],
"call": [Function],
"createBlockFilter": [Function],
"createClient": [Function],
"createContractEventFilter": [Function],
"createEventFilter": [Function],
"createPendingTransactionFilter": [Function],
"createPublicClient": [Function],

@@ -82,79 +69,4 @@ "createTestClient": [Function],

"custom": [Function],
"decodeAbi": [Function],
"decodeBytes": [Function],
"decodeErrorResult": [Function],
"decodeFunctionData": [Function],
"decodeFunctionResult": [Function],
"decodeHex": [Function],
"decodeRlp": [Function],
"deployContract": [Function],
"dropTransaction": [Function],
"encodeAbi": [Function],
"encodeBytes": [Function],
"encodeDeployData": [Function],
"encodeErrorResult": [Function],
"encodeEventTopics": [Function],
"encodeFunctionData": [Function],
"encodeFunctionResult": [Function],
"encodeHex": [Function],
"encodeRlp": [Function],
"estimateGas": [Function],
"etherUnits": {
"gwei": 9,
"wei": 18,
},
"fallback": [Function],
"formatBlock": [Function],
"formatEther": [Function],
"formatGwei": [Function],
"formatTransaction": [Function],
"formatTransactionRequest": [Function],
"formatUnit": [Function],
"getAccounts": [Function],
"getAddress": [Function],
"getAutomine": [Function],
"getBalance": [Function],
"getBlock": [Function],
"getBlockNumber": [Function],
"getBlockTransactionCount": [Function],
"getBytecode": [Function],
"getChainId": [Function],
"getContractAddress": [Function],
"getCreate2Address": [Function],
"getCreateAddress": [Function],
"getEventSignature": [Function],
"getFeeHistory": [Function],
"getFilterChanges": [Function],
"getFilterLogs": [Function],
"getFunctionSignature": [Function],
"getGasPrice": [Function],
"getLogs": [Function],
"getPermissions": [Function],
"getStorageAt": [Function],
"getTransaction": [Function],
"getTransactionConfirmations": [Function],
"getTransactionCount": [Function],
"getTransactionReceipt": [Function],
"getTxpoolContent": [Function],
"getTxpoolStatus": [Function],
"gweiUnits": {
"ether": -9,
"wei": 9,
},
"hexToBigInt": [Function],
"hexToBool": [Function],
"hexToBytes": [Function],
"hexToNumber": [Function],
"hexToString": [Function],
"http": [Function],
"impersonateAccount": [Function],
"increaseTime": [Function],
"inspectTxpool": [Function],
"isAddress": [Function],
"isAddressEqual": [Function],
"isBytes": [Function],
"isHex": [Function],
"keccak256": [Function],
"mine": [Function],
"multicall": [Function],
"multicall3Abi": [

@@ -203,64 +115,5 @@ {

],
"numberToBytes": [Function],
"numberToHex": [Function],
"pad": [Function],
"padBytes": [Function],
"padHex": [Function],
"parseEther": [Function],
"parseGwei": [Function],
"parseUnit": [Function],
"readContract": [Function],
"removeBlockTimestampInterval": [Function],
"requestAccounts": [Function],
"requestPermissions": [Function],
"reset": [Function],
"revert": [Function],
"sendTransaction": [Function],
"sendUnsignedTransaction": [Function],
"setAutomine": [Function],
"setBalance": [Function],
"setBlockGasLimit": [Function],
"setBlockTimestampInterval": [Function],
"setCode": [Function],
"setCoinbase": [Function],
"setIntervalMining": [Function],
"setLoggingEnabled": [Function],
"setMinGasPrice": [Function],
"setNextBlockBaseFeePerGas": [Function],
"setNextBlockTimestamp": [Function],
"setNonce": [Function],
"setStorageAt": [Function],
"signMessage": [Function],
"simulateContract": [Function],
"size": [Function],
"slice": [Function],
"sliceBytes": [Function],
"sliceHex": [Function],
"snapshot": [Function],
"stopImpersonatingAccount": [Function],
"stringToBytes": [Function],
"stringToHex": [Function],
"switchChain": [Function],
"transactionType": {
"0x0": "legacy",
"0x1": "eip2930",
"0x2": "eip1559",
},
"trim": [Function],
"uninstallFilter": [Function],
"waitForTransactionReceipt": [Function],
"watchAsset": [Function],
"watchBlockNumber": [Function],
"watchBlocks": [Function],
"watchContractEvent": [Function],
"watchEvent": [Function],
"watchPendingTransactions": [Function],
"webSocket": [Function],
"weiUnits": {
"ether": -18,
"gwei": -9,
},
"writeContract": [Function],
}
`)
})
export type {
CallArgs,
CallResponse,
CreateBlockFilterResponse,
CreateContractEventFilterArgs,
CreateContractEventFilterResponse,
CreateEventFilterArgs,
CreateEventFilterResponse,
CreatePendingTransactionFilterResponse,
EstimateGasArgs,
EstimateGasResponse,
DeployContractArgs,
DeployContractResponse,
DropTransactionArgs,
GetBalanceArgs,
GetBalanceResponse,
GetBlockArgs,
GetBlockNumberArgs,
GetBlockNumberResponse,
GetBlockResponse,
GetBlockTransactionCountArgs,
GetBlockTransactionCountResponse,
GetBytecodeArgs,
GetBytecodeResponse,
GetFeeHistoryArgs,
GetFeeHistoryResponse,
GetFilterChangesArgs,
GetFilterChangesResponse,
GetFilterLogsArgs,
GetFilterLogsResponse,
GetGasPriceResponse,
GetLogsArgs,
GetLogsResponse,
GetPermissionsResponse,
GetStorageAtArgs,
GetStorageAtResponse,
GetTransactionArgs,
GetTransactionConfirmationsArgs,
GetTransactionConfirmationsResponse,
GetTransactionCountArgs,
GetTransactionCountResponse,
GetTransactionResponse,
GetTransactionReceiptArgs,
GetTransactionReceiptResponse,
ImpersonateAccountArgs,
IncreaseTimeArgs,
MineArgs,
MulticallArgs,
OnBlock,
OnBlockNumber,
OnBlockNumberResponse,
OnBlockResponse,
OnLogs,
OnLogsResponse,
OnTransactions,
OnTransactionsResponse,
ReadContractArgs,
ReadContractResponse,
ResetArgs,
RequestPermissionsResponse,
RevertArgs,
SendTransactionArgs,
SendTransactionResponse,
SendUnsignedTransactionArgs,
SendUnsignedTransactionResponse,
SetBalanceArgs,
SetBlockGasLimitArgs,
SetCodeArgs,
SetCoinbaseArgs,
SetIntervalMiningArgs,
SetMinGasPriceArgs,
SetBlockTimestampIntervalArgs,
SetNextBlockTimestampArgs,
SetNextBlockBaseFeePerGasArgs,
SetNonceArgs,
SetStorageAtArgs,
SignMessageArgs,
SignMessageResponse,
SimulateContractArgs,
SimulateContractResponse,
StopImpersonatingAccountArgs,
SwitchChainArgs,
UninstallFilterArgs,
UninstallFilterResponse,
WaitForTransactionReceiptArgs,
WaitForTransactionReceiptResponse,
WatchAssetArgs,
WatchAssetResponse,
WatchBlockNumberArgs,
WatchBlocksArgs,
WatchPendingTransactionsArgs,
WatchContractEventArgs,
WatchEventArgs,
WriteContractArgs,
WriteContractResponse,
} from './actions'
export {
addChain,
call,
createBlockFilter,
createContractEventFilter,
createEventFilter,
createPendingTransactionFilter,
deployContract,
dropTransaction,
estimateGas,
getAccounts,
getAutomine,
getBalance,
getBlock,
getBlockNumber,
getBlockTransactionCount,
getBytecode,
getChainId,
getFeeHistory,
getFilterChanges,
getFilterLogs,
getGasPrice,
getLogs,
getPermissions,
getStorageAt,
getTransaction,
getTransactionConfirmations,
getTransactionCount,
getTransactionReceipt,
getTxpoolContent,
getTxpoolStatus,
impersonateAccount,
increaseTime,
inspectTxpool,
mine,
multicall,
readContract,
removeBlockTimestampInterval,
reset,
requestAccounts,
requestPermissions,
revert,
sendTransaction,
sendUnsignedTransaction,
setAutomine,
setBalance,
setBlockGasLimit,
setBlockTimestampInterval,
setCode,
setCoinbase,
setIntervalMining,
setLoggingEnabled,
setMinGasPrice,
setNextBlockBaseFeePerGas,
setNextBlockTimestamp,
setNonce,
setStorageAt,
signMessage,
simulateContract,
snapshot,
stopImpersonatingAccount,
switchChain,
uninstallFilter,
waitForTransactionReceipt,
watchAsset,
watchBlockNumber,
watchBlocks,
watchPendingTransactions,
watchContractEvent,
watchEvent,
writeContract,
} from './actions'
export type {
Client,

@@ -302,89 +133,1 @@ ClientConfig,

} from './types'
export type {
DecodeAbiArgs,
DecodeErrorResultArgs,
DecodeFunctionDataArgs,
DecodeFunctionResultArgs,
DecodeFunctionResultResponse,
EncodeAbiArgs,
EncodeDeployDataArgs,
EncodeErrorResultArgs,
EncodeEventTopicsArgs,
EncodeFunctionDataArgs,
EncodeFunctionResultArgs,
GetContractAddressOptions,
GetCreateAddressOptions,
GetCreate2AddressOptions,
GetAbiItemArgs,
EncodeRlpResponse,
FormattedBlock,
FormattedTransaction,
FormattedTransactionRequest,
} from './utils'
export {
bytesToHex,
bytesToString,
boolToBytes,
boolToHex,
bytesToBigint,
bytesToBool,
bytesToNumber,
decodeAbi,
decodeBytes,
decodeErrorResult,
decodeFunctionData,
decodeFunctionResult,
decodeHex,
decodeRlp,
encodeAbi,
encodeBytes,
encodeDeployData,
encodeErrorResult,
encodeEventTopics,
encodeFunctionData,
encodeFunctionResult,
encodeHex,
encodeRlp,
etherUnits,
getAddress,
getContractAddress,
getCreateAddress,
getCreate2Address,
getEventSignature,
getFunctionSignature,
gweiUnits,
formatEther,
isAddress,
isAddressEqual,
isBytes,
isHex,
hexToBigInt,
hexToBool,
hexToBytes,
hexToString,
keccak256,
numberToBytes,
pad,
padBytes,
padHex,
parseEther,
parseGwei,
parseUnit,
formatBlock,
formatGwei,
formatTransaction,
formatTransactionRequest,
formatUnit,
hexToNumber,
numberToHex,
size,
slice,
sliceBytes,
sliceHex,
stringToBytes,
stringToHex,
transactionType,
trim,
weiUnits,
} from './utils'

@@ -5,3 +5,2 @@ export {

createPendingTransactionFilter,
deployContract,
estimateGas,

@@ -18,2 +17,3 @@ getBalance,

getFilterLogs,
getLogs,
getGasPrice,

@@ -24,3 +24,2 @@ getTransaction,

getTransactionReceipt,
simulateContract,
uninstallFilter,

@@ -30,2 +29,3 @@ waitForTransactionReceipt,

watchBlocks,
watchEvent,
watchPendingTransactions,

@@ -38,4 +38,2 @@ } from './actions/public'

CreatePendingTransactionFilterResponse,
DeployContractArgs,
DeployContractResponse,
EstimateGasArgs,

@@ -76,4 +74,2 @@ EstimateGasResponse,

ReplacementResponse,
SimulateContractArgs,
SimulateContractResponse,
UninstallFilterArgs,

@@ -80,0 +76,0 @@ UninstallFilterResponse,

@@ -28,2 +28,3 @@ export {

snapshot,
setRpcUrl,
stopImpersonatingAccount,

@@ -30,0 +31,0 @@ } from './actions/test'

@@ -20,5 +20,5 @@ import type {

} from 'abitype'
import type { Address } from './misc'
import type { Address, Hex, LogTopic } from './misc'
import type { TransactionRequest } from './transaction'
import type { Trim } from './utils'
import type { NoUndefined, Prettify, Trim } from './utils'

@@ -30,37 +30,123 @@ //////////////////////////////////////////////////////////////////////

type HashedEventTypes = 'string' | 'bytes' | 'tuple' | `${string}[${string}]`
type EventTopicParam<
TPrimitiveType = Hex,
TTopic extends LogTopic = LogTopic,
> = NoUndefined<
| (TTopic extends Hex ? TPrimitiveType : undefined)
| (TTopic extends Hex[] ? TPrimitiveType[] : undefined)
| (TTopic extends null ? null : undefined)
>
export type AbiEventParameterToPrimitiveType<TParam extends AbiParameter> =
EventTopicParam<AbiParameterToPrimitiveType<TParam>>
export type AbiEventParametersToPrimitiveTypes<
TAbiParameters extends readonly AbiParameter[],
TBase = TAbiParameters[0] extends { name: string } ? {} : [],
> = TAbiParameters extends readonly [infer Head, ...infer Tail]
? Head extends { indexed: true }
? Head extends AbiParameter
? Head extends { name: infer Name }
? Name extends string
? {
[name in Name]?:
| AbiParameterToPrimitiveType<Head>
| AbiParameterToPrimitiveType<Head>[]
| null
} & (Tail extends readonly []
? {}
: Tail extends readonly AbiParameter[]
? AbiEventParametersToPrimitiveTypes<Tail>
: {})
: never
: [
(
| AbiParameterToPrimitiveType<Head>
| AbiParameterToPrimitiveType<Head>[]
| null
),
...(Tail extends readonly []
? []
: Tail extends readonly AbiParameter[]
? AbiEventParametersToPrimitiveTypes<Tail>
: []),
]
> = Prettify<
TAbiParameters extends readonly [infer Head, ...infer Tail]
? Head extends { indexed: true }
? Head extends AbiParameter
? Head extends { name: infer Name }
? Name extends string
? {
[name in Name]?: AbiEventParameterToPrimitiveType<Head>
} & (Tail extends readonly []
? {}
: Tail extends readonly AbiParameter[]
? AbiEventParametersToPrimitiveTypes<Tail>
: {})
: never
: [
AbiEventParameterToPrimitiveType<Head>,
...(Tail extends readonly []
? []
: Tail extends readonly AbiParameter[]
? AbiEventParametersToPrimitiveTypes<Tail>
: []),
]
: TBase
: TBase
: TBase
: TBase
>
export type AbiEventTopicToPrimitiveType<
TParam extends AbiParameter,
TTopic extends LogTopic,
TPrimitiveType = TParam['type'] extends HashedEventTypes
? TTopic
: AbiParameterToPrimitiveType<TParam>,
> = EventTopicParam<TPrimitiveType, TTopic>
export type AbiEventTopicsToPrimitiveTypes<
TAbiParameters extends readonly AbiParameter[],
TTopics extends LogTopic[] | undefined = undefined,
TData extends Hex | undefined = undefined,
TBase = TAbiParameters[0] extends { name: string } ? {} : [],
> = Prettify<
TAbiParameters extends readonly [infer Head, ...infer Tail]
? TTopics extends readonly [infer TopicHead, ...infer TopicTail]
? Head extends { indexed: true }
? Head extends AbiParameter
? Head extends { name: infer Name }
? Name extends string
? {
[name in Name]: TopicHead extends LogTopic
? AbiEventTopicToPrimitiveType<Head, TopicHead>
: never
} & (Tail extends readonly []
? {}
: Tail extends readonly AbiParameter[]
? TopicTail extends LogTopic[]
? AbiEventTopicsToPrimitiveTypes<Tail, TopicTail, TData>
: {}
: {})
: never
: [
TopicHead extends LogTopic
? AbiEventTopicToPrimitiveType<Head, TopicHead>
: never,
...(Tail extends readonly []
? []
: Tail extends readonly AbiParameter[]
? TopicTail extends LogTopic[]
? AbiEventTopicsToPrimitiveTypes<Tail, TopicTail, TData>
: []
: []),
]
: TBase
: TBase
: TTopics extends readonly []
? TData extends Hex
? Head extends AbiParameter
? Head extends { indexed: true }
? Tail extends readonly AbiParameter[]
? AbiEventTopicsToPrimitiveTypes<Tail, [], TData>
: TBase
: Head extends { name: infer Name }
? Name extends string
? {
[name in Name]: AbiParameterToPrimitiveType<Head>
} & (Tail extends readonly []
? {}
: Tail extends readonly AbiParameter[]
? AbiEventTopicsToPrimitiveTypes<Tail, [], TData>
: {})
: never
: [
AbiParameterToPrimitiveType<Head>,
...(Tail extends readonly []
? []
: Tail extends readonly AbiParameter[]
? AbiEventTopicsToPrimitiveTypes<Tail, [], TData>
: []),
]
: TBase
: TBase
: TBase
: undefined
>
export type ExtractArgsFromAbi<

@@ -170,2 +256,19 @@ TAbi extends Abi | readonly unknown[],

export type ExtractEventArgsFromTopics<
TAbi extends Abi | readonly unknown[],
TEventName extends string,
TTopics extends LogTopic[],
TData extends Hex | undefined,
TAbiEvent extends AbiEvent & { type: 'event' } = TAbi extends Abi
? ExtractAbiEvent<TAbi, TEventName>
: AbiEvent & { type: 'event' },
TArgs = AbiEventTopicsToPrimitiveTypes<TAbiEvent['inputs'], TTopics, TData>,
> = TTopics extends readonly []
? TData extends undefined
? { args?: never }
: { args?: TArgs }
: {
args?: TArgs
}
export type ExtractErrorNameFromAbi<

@@ -354,11 +457,12 @@ TAbi extends Abi | readonly unknown[] = Abi,

export type ExtractArgsFromEventDefinition<
TDef,
TConfig extends ExtractArgsFromDefinitionConfig = { indexedOnly: true },
> = ExtractArgsFromDefinition<TDef, TConfig> extends [...args: any]
? ExtractArgsFromDefinition<TDef, TConfig> | []
: ExtractArgsFromDefinition<TDef, TConfig>
export type ExtractArgsFromFunctionDefinition<TDef> = ExtractArgsFromDefinition<
TDef,
{ indexedOnly: false }
TDef extends EventDefinition | undefined,
TConfig extends ExtractArgsFromDefinitionConfig = {
indexedOnly: true
},
> = Prettify<
TDef extends EventDefinition
? ExtractArgsFromDefinition<TDef, TConfig> extends [...args: any]
? ExtractArgsFromDefinition<TDef, TConfig> | []
: ExtractArgsFromDefinition<TDef, TConfig>
: undefined
>

@@ -365,0 +469,0 @@

@@ -18,3 +18,2 @@ export type {

ExtractArgsFromEventDefinition,
ExtractArgsFromFunctionDefinition,
ExtractConstructorArgsFromAbi,

@@ -24,2 +23,3 @@ ExtractErrorArgsFromAbi,

ExtractEventArgsFromAbi,
ExtractEventArgsFromTopics,
ExtractEventNameFromAbi,

@@ -83,4 +83,5 @@ ExtractFunctionNameFromAbi,

PartialBy,
Prettify,
MergeIntersectionProperties,
OptionalNullable,
} from './utils'

@@ -33,2 +33,11 @@ export type MaybePromise<T> = T | Promise<T>

/**
* @description Constructs a type by excluding `undefined` from `T`.
*
* @example
* NoUndefined<string | undefined>
* => string
*/
export type NoUndefined<T> = T extends undefined ? never : T
/**
* @description Creates a type that is a partial of T, but with the required keys K.

@@ -42,2 +51,14 @@ *

/**
* @description Combines members of an intersection into a readable type.
*
* @link https://twitter.com/mattpocockuk/status/1622730173446557697?s=20&t=NdpAcmEFXY01xkqU3KO0Mg
* @example
* Prettify<{ a: string } | { b: string } | { c: number, d: bigint }>
* => { a: string, b: string, c: number, d: bigint }
*/
export type Prettify<T> = {
[K in keyof T]: T[K]
} & {}
type TrimLeft<T, Chars extends string = ' '> = T extends `${Chars}${infer R}`

@@ -44,0 +65,0 @@ ? TrimLeft<R>

@@ -225,3 +225,3 @@ import { expect, test } from 'vitest'

Make sure you are using the correct ABI and that the error exists on it.
You can look up the signature \\"0xa3741467\\" here: https://sig.eth.samczsun.com/.
You can look up the signature here: https://openchain.xyz/signatures?query=0xa3741467.

@@ -228,0 +228,0 @@ Docs: https://viem.sh/docs/contract/decodeErrorResult

@@ -22,3 +22,2 @@ import { expect, test } from 'vitest'

decodeFunctionData({
// @ts-expect-error
abi: [

@@ -135,3 +134,3 @@ {

Make sure you are using the correct ABI and that the function exists on it.
You can look up the signature \\"0xa3741467\\" here: https://sig.eth.samczsun.com/.
You can look up the signature here: https://openchain.xyz/signatures?query=0xa3741467.

@@ -138,0 +137,0 @@ Docs: https://viem.sh/docs/contract/decodeFunctionData

@@ -10,7 +10,10 @@ import { Abi } from 'abitype'

export type DecodeFunctionDataArgs = { abi: Abi; data: Hex }
export type DecodeFunctionDataArgs = {
abi: Abi | readonly unknown[]
data: Hex
}
export function decodeFunctionData({ abi, data }: DecodeFunctionDataArgs) {
const signature = slice(data, 0, 4)
const description = abi.find(
const description = (abi as Abi).find(
(x) => signature === getFunctionSignature(formatAbiItem(x)),

@@ -17,0 +20,0 @@ )

import { Abi, Narrow } from 'abitype'
import {
AbiEncodingLengthMismatchError,
AbiFunctionNotFoundError,
} from '../../errors'
import { AbiFunctionNotFoundError } from '../../errors'
import { ExtractArgsFromAbi, ExtractFunctionNameFromAbi } from '../../types'

@@ -8,0 +5,0 @@ import { concatHex } from '../data'

@@ -10,2 +10,3 @@ import { expect, test } from 'vitest'

"decodeErrorResult": [Function],
"decodeEventLog": [Function],
"decodeFunctionData": [Function],

@@ -12,0 +13,0 @@ "decodeFunctionResult": [Function],

@@ -10,2 +10,8 @@ export type { DecodeAbiArgs } from './decodeAbi'

export type {
DecodeEventLogArgs,
DecodeEventLogResponse,
} from './decodeEventLog'
export { decodeEventLog } from './decodeEventLog'
export type { DecodeFunctionDataArgs } from './decodeFunctionData'

@@ -12,0 +18,0 @@ export { decodeFunctionData } from './decodeFunctionData'

@@ -11,4 +11,5 @@ import { expect, test } from 'vitest'

"normalize": [Function],
"packetToBytes": [Function],
}
`)
})

@@ -6,1 +6,3 @@ export { labelhash } from './labelhash'

export { normalize } from './normalize'
export { packetToBytes } from './packetToBytes'

@@ -19,2 +19,3 @@ import { expect, test } from 'vitest'

"decodeErrorResult": [Function],
"decodeEventLog": [Function],
"decodeFunctionData": [Function],

@@ -79,5 +80,2 @@ "decodeFunctionResult": [Function],

"keccak256": [Function],
"labelhash": [Function],
"namehash": [Function],
"normalize": [Function],
"numberToBytes": [Function],

@@ -84,0 +82,0 @@ "numberToHex": [Function],

@@ -5,2 +5,4 @@ export type {

DecodeErrorResultResponse,
DecodeEventLogArgs,
DecodeEventLogResponse,
DecodeFunctionDataArgs,

@@ -20,2 +22,3 @@ DecodeFunctionResultArgs,

decodeErrorResult,
decodeEventLog,
decodeFunctionData,

@@ -73,4 +76,2 @@ decodeFunctionResult,

export { labelhash, namehash, normalize } from './ens'
export type {

@@ -77,0 +78,0 @@ BlockFormatter,

import { describe, expect, test } from 'vitest'
import WebSocket from 'isomorphic-ws'

@@ -3,0 +4,0 @@ import { createHttpServer, initialBlockNumber, localWsUrl } from '../_test'

@@ -0,1 +1,3 @@

import fetch from 'isomorphic-unfetch'
import WebSocket from 'isomorphic-ws'
import {

@@ -164,4 +166,4 @@ HttpRequestError,

const onMessage = ({ data }: { data: string }) => {
const message: RpcResponse = JSON.parse(data)
const onMessage: (event: WebSocket.MessageEvent) => void = ({ data }) => {
const message: RpcResponse = JSON.parse(data as string)
const isSubscription = message.method === 'eth_subscription'

@@ -168,0 +170,0 @@ const id = isSubscription ? message.params.subscription : message.id

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