Comparing version 6.12.0-beta.1 to 6.12.0
@@ -6,5 +6,14 @@ Change Log | ||
ethers/v6.12.0-beta.1 (2024-03-27 14:40) | ||
---------------------------------------- | ||
ethers/v6.12.0 (2024-04-17 01:09) | ||
--------------------------------- | ||
- Added Linea Sepolia network and Infura endpoint ([#4655](https://github.com/ethers-io/ethers.js/issues/4655); [b4aaab8](https://github.com/ethers-io/ethers.js/commit/b4aaab8d39fe47f8a1a296fa442f0856f84faf03)). | ||
- Do not send unsubscribe messages to destroyed Providers ([#4678](https://github.com/ethers-io/ethers.js/issues/4678); [c45935e](https://github.com/ethers-io/ethers.js/commit/c45935e29ca0dd1ecdf1277fa1107246041be580)). | ||
- Get definitive network from InfuraProvider when using InfuraWebSocketProvider ([38e32d8](https://github.com/ethers-io/ethers.js/commit/38e32d82145eb289e5179f9b6b11f4a9225a7022)). | ||
- Better error messages for transaction field mismatch ([#4659](https://github.com/ethers-io/ethers.js/issues/4659); [9230aa0](https://github.com/ethers-io/ethers.js/commit/9230aa0b9a88b5241915a8d6afa8a522d35abd5d)). | ||
- Added prevRandao to block ([#3372](https://github.com/ethers-io/ethers.js/issues/3372); [ec6a754](https://github.com/ethers-io/ethers.js/commit/ec6a754f0c8647dae59c73b2589225cb200d83dd)). | ||
- Added Polygon Amoy testnet ([#4645](https://github.com/ethers-io/ethers.js/issues/4645); [1717abb](https://github.com/ethers-io/ethers.js/commit/1717abbf29a14a6f6b106e479fe9a5b1f8768dc4)). | ||
- Added Chainstack provider ([#2741](https://github.com/ethers-io/ethers.js/issues/2741); [014004d](https://github.com/ethers-io/ethers.js/commit/014004d9402d7fd8c15553792cfb7a8a84ed327a)). | ||
- Added deep convertion to Result for toObject and toArray ([#4681](https://github.com/ethers-io/ethers.js/issues/4681); [03bfe2a](https://github.com/ethers-io/ethers.js/commit/03bfe2a4f7b29b15cd90127974b7fc1d8b03edf9)). | ||
- Added EIP-4844 broadcast support ([92bad88](https://github.com/ethers-io/ethers.js/commit/92bad88261a5d8a538535a7d5528162fe5010527)). | ||
- Fix ignored throttle parameters ([#4663](https://github.com/ethers-io/ethers.js/issues/4663); [12772e9](https://github.com/ethers-io/ethers.js/commit/12772e9498b70f8538838f30e16f3792ea90e173)). | ||
@@ -11,0 +20,0 @@ |
@@ -8,3 +8,3 @@ "use strict"; | ||
*/ | ||
exports.version = "6.12.0-beta.1"; | ||
exports.version = "6.12.0"; | ||
//# sourceMappingURL=_version.js.map |
@@ -21,3 +21,4 @@ import type { BigNumberish, BytesLike } from "../../utils/index.js"; | ||
/** | ||
* Returns the Result as a normal Array. | ||
* Returns the Result as a normal Array. If %%deep%%, any children | ||
* which are Result objects are also converted to a normal Array. | ||
* | ||
@@ -27,5 +28,7 @@ * This will throw if there are any outstanding deferred | ||
*/ | ||
toArray(): Array<any>; | ||
toArray(deep?: boolean): Array<any>; | ||
/** | ||
* Returns the Result as an Object with each name-value pair. | ||
* Returns the Result as an Object with each name-value pair. If | ||
* %%deep%%, any children which are Result objects are also | ||
* converted to an Object. | ||
* | ||
@@ -35,3 +38,3 @@ * This will throw if any value is unnamed, or if there are | ||
*/ | ||
toObject(): Record<string, any>; | ||
toObject(deep?: boolean): Record<string, any>; | ||
/** | ||
@@ -38,0 +41,0 @@ * @_ignore |
@@ -109,3 +109,4 @@ "use strict"; | ||
/** | ||
* Returns the Result as a normal Array. | ||
* Returns the Result as a normal Array. If %%deep%%, any children | ||
* which are Result objects are also converted to a normal Array. | ||
* | ||
@@ -115,3 +116,3 @@ * This will throw if there are any outstanding deferred | ||
*/ | ||
toArray() { | ||
toArray(deep) { | ||
const result = []; | ||
@@ -122,2 +123,5 @@ this.forEach((item, index) => { | ||
} | ||
if (deep && item instanceof Result) { | ||
item = item.toArray(deep); | ||
} | ||
result.push(item); | ||
@@ -128,3 +132,5 @@ }); | ||
/** | ||
* Returns the Result as an Object with each name-value pair. | ||
* Returns the Result as an Object with each name-value pair. If | ||
* %%deep%%, any children which are Result objects are also | ||
* converted to an Object. | ||
* | ||
@@ -134,3 +140,3 @@ * This will throw if any value is unnamed, or if there are | ||
*/ | ||
toObject() { | ||
toObject(deep) { | ||
return this.#names.reduce((accum, name, index) => { | ||
@@ -142,3 +148,7 @@ (0, index_js_1.assert)(name != null, "value at index ${ index } unnamed", "UNSUPPORTED_OPERATION", { | ||
if (!(name in accum)) { | ||
accum[name] = this.getValue(name); | ||
let child = this.getValue(name); | ||
if (deep && child instanceof Result) { | ||
child = child.toObject(deep); | ||
} | ||
accum[name] = child; | ||
} | ||
@@ -145,0 +155,0 @@ return accum; |
@@ -8,3 +8,3 @@ export { version } from "./_version.js"; | ||
export { id, ensNormalize, isValidName, namehash, dnsEncode, hashMessage, verifyMessage, solidityPacked, solidityPackedKeccak256, solidityPackedSha256, TypedDataEncoder, verifyTypedData } from "./hash/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, ChainstackProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { accessListify, computeAddress, recoverAddress, Transaction } from "./transaction/index.js"; | ||
@@ -11,0 +11,0 @@ export { decodeBase58, encodeBase58, decodeBase64, encodeBase64, concat, dataLength, dataSlice, getBytes, getBytesCopy, hexlify, isHexString, isBytesLike, stripZerosLeft, zeroPadBytes, zeroPadValue, defineProperties, resolveProperties, assert, assertArgument, assertArgumentCount, assertNormalize, assertPrivate, makeError, isCallException, isError, EventPayload, FetchRequest, FetchResponse, FetchCancelSignal, FixedNumber, getBigInt, getNumber, getUint, toBeArray, toBigInt, toBeHex, toNumber, toQuantity, fromTwos, toTwos, mask, formatEther, parseEther, formatUnits, parseUnits, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs, decodeRlp, encodeRlp, uuidV4, } from "./utils/index.js"; |
@@ -6,5 +6,5 @@ "use strict"; | ||
exports.ripemd160 = exports.keccak256 = exports.randomBytes = exports.computeHmac = exports.UndecodedEventLog = exports.EventLog = exports.ContractUnknownEventPayload = exports.ContractTransactionResponse = exports.ContractTransactionReceipt = exports.ContractEventPayload = exports.ContractFactory = exports.Contract = exports.BaseContract = exports.MessagePrefix = exports.EtherSymbol = exports.ZeroHash = exports.N = exports.MaxInt256 = exports.MinInt256 = exports.MaxUint256 = exports.WeiPerEther = exports.ZeroAddress = exports.resolveAddress = exports.isAddress = exports.isAddressable = exports.getCreate2Address = exports.getCreateAddress = exports.getIcapAddress = exports.getAddress = exports.Typed = exports.TransactionDescription = exports.Result = exports.LogDescription = exports.Interface = exports.Indexed = exports.ErrorDescription = exports.checkResultErrors = exports.StructFragment = exports.ParamType = exports.NamedFragment = exports.FunctionFragment = exports.FallbackFragment = exports.Fragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = exports.AbiCoder = exports.encodeBytes32String = exports.decodeBytes32String = exports.version = void 0; | ||
exports.EtherscanPlugin = exports.EnsPlugin = exports.Network = exports.EnsResolver = exports.WebSocketProvider = exports.SocketProvider = exports.IpcSocketProvider = exports.QuickNodeProvider = exports.PocketProvider = exports.InfuraWebSocketProvider = exports.InfuraProvider = exports.EtherscanProvider = exports.CloudflareProvider = exports.AnkrProvider = exports.AlchemyProvider = exports.BrowserProvider = exports.JsonRpcSigner = exports.JsonRpcProvider = exports.JsonRpcApiProvider = exports.FallbackProvider = exports.AbstractProvider = exports.VoidSigner = exports.NonceManager = exports.AbstractSigner = exports.TransactionResponse = exports.TransactionReceipt = exports.Log = exports.FeeData = exports.Block = exports.getDefaultProvider = exports.verifyTypedData = exports.TypedDataEncoder = exports.solidityPackedSha256 = exports.solidityPackedKeccak256 = exports.solidityPacked = exports.verifyMessage = exports.hashMessage = exports.dnsEncode = exports.namehash = exports.isValidName = exports.ensNormalize = exports.id = exports.SigningKey = exports.Signature = exports.lock = exports.scryptSync = exports.scrypt = exports.pbkdf2 = exports.sha512 = exports.sha256 = void 0; | ||
exports.toBeArray = exports.getUint = exports.getNumber = exports.getBigInt = exports.FixedNumber = exports.FetchCancelSignal = exports.FetchResponse = exports.FetchRequest = exports.EventPayload = exports.isError = exports.isCallException = exports.makeError = exports.assertPrivate = exports.assertNormalize = exports.assertArgumentCount = exports.assertArgument = exports.assert = exports.resolveProperties = exports.defineProperties = exports.zeroPadValue = exports.zeroPadBytes = exports.stripZerosLeft = exports.isBytesLike = exports.isHexString = exports.hexlify = exports.getBytesCopy = exports.getBytes = exports.dataSlice = exports.dataLength = exports.concat = exports.encodeBase64 = exports.decodeBase64 = exports.encodeBase58 = exports.decodeBase58 = exports.Transaction = exports.recoverAddress = exports.computeAddress = exports.accessListify = exports.showThrottleMessage = exports.copyRequest = exports.UnmanagedSubscriber = exports.SocketSubscriber = exports.SocketPendingSubscriber = exports.SocketEventSubscriber = exports.SocketBlockSubscriber = exports.MulticoinProviderPlugin = exports.NetworkPlugin = exports.GasCostPlugin = exports.FetchUrlFeeDataNetworkPlugin = exports.FeeDataNetworkPlugin = void 0; | ||
exports.wordlists = exports.WordlistOwlA = exports.WordlistOwl = exports.LangEn = exports.Wordlist = exports.encryptKeystoreJsonSync = exports.encryptKeystoreJson = exports.decryptKeystoreJson = exports.decryptKeystoreJsonSync = exports.decryptCrowdsaleJson = exports.isKeystoreJson = exports.isCrowdsaleJson = exports.getIndexedAccountPath = exports.getAccountPath = exports.defaultPath = exports.Wallet = exports.HDNodeVoidWallet = exports.HDNodeWallet = exports.BaseWallet = exports.Mnemonic = exports.uuidV4 = exports.encodeRlp = exports.decodeRlp = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.mask = exports.toTwos = exports.fromTwos = exports.toQuantity = exports.toNumber = exports.toBeHex = exports.toBigInt = void 0; | ||
exports.EnsPlugin = exports.Network = exports.EnsResolver = exports.WebSocketProvider = exports.SocketProvider = exports.IpcSocketProvider = exports.QuickNodeProvider = exports.PocketProvider = exports.InfuraWebSocketProvider = exports.InfuraProvider = exports.EtherscanProvider = exports.CloudflareProvider = exports.ChainstackProvider = exports.AnkrProvider = exports.AlchemyProvider = exports.BrowserProvider = exports.JsonRpcSigner = exports.JsonRpcProvider = exports.JsonRpcApiProvider = exports.FallbackProvider = exports.AbstractProvider = exports.VoidSigner = exports.NonceManager = exports.AbstractSigner = exports.TransactionResponse = exports.TransactionReceipt = exports.Log = exports.FeeData = exports.Block = exports.getDefaultProvider = exports.verifyTypedData = exports.TypedDataEncoder = exports.solidityPackedSha256 = exports.solidityPackedKeccak256 = exports.solidityPacked = exports.verifyMessage = exports.hashMessage = exports.dnsEncode = exports.namehash = exports.isValidName = exports.ensNormalize = exports.id = exports.SigningKey = exports.Signature = exports.lock = exports.scryptSync = exports.scrypt = exports.pbkdf2 = exports.sha512 = exports.sha256 = void 0; | ||
exports.getUint = exports.getNumber = exports.getBigInt = exports.FixedNumber = exports.FetchCancelSignal = exports.FetchResponse = exports.FetchRequest = exports.EventPayload = exports.isError = exports.isCallException = exports.makeError = exports.assertPrivate = exports.assertNormalize = exports.assertArgumentCount = exports.assertArgument = exports.assert = exports.resolveProperties = exports.defineProperties = exports.zeroPadValue = exports.zeroPadBytes = exports.stripZerosLeft = exports.isBytesLike = exports.isHexString = exports.hexlify = exports.getBytesCopy = exports.getBytes = exports.dataSlice = exports.dataLength = exports.concat = exports.encodeBase64 = exports.decodeBase64 = exports.encodeBase58 = exports.decodeBase58 = exports.Transaction = exports.recoverAddress = exports.computeAddress = exports.accessListify = exports.showThrottleMessage = exports.copyRequest = exports.UnmanagedSubscriber = exports.SocketSubscriber = exports.SocketPendingSubscriber = exports.SocketEventSubscriber = exports.SocketBlockSubscriber = exports.MulticoinProviderPlugin = exports.NetworkPlugin = exports.GasCostPlugin = exports.FetchUrlFeeDataNetworkPlugin = exports.FeeDataNetworkPlugin = exports.EtherscanPlugin = void 0; | ||
exports.wordlists = exports.WordlistOwlA = exports.WordlistOwl = exports.LangEn = exports.Wordlist = exports.encryptKeystoreJsonSync = exports.encryptKeystoreJson = exports.decryptKeystoreJson = exports.decryptKeystoreJsonSync = exports.decryptCrowdsaleJson = exports.isKeystoreJson = exports.isCrowdsaleJson = exports.getIndexedAccountPath = exports.getAccountPath = exports.defaultPath = exports.Wallet = exports.HDNodeVoidWallet = exports.HDNodeWallet = exports.BaseWallet = exports.Mnemonic = exports.uuidV4 = exports.encodeRlp = exports.decodeRlp = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.mask = exports.toTwos = exports.fromTwos = exports.toQuantity = exports.toNumber = exports.toBeHex = exports.toBigInt = exports.toBeArray = void 0; | ||
var _version_js_1 = require("./_version.js"); | ||
@@ -105,2 +105,3 @@ Object.defineProperty(exports, "version", { enumerable: true, get: function () { return _version_js_1.version; } }); | ||
Object.defineProperty(exports, "AnkrProvider", { enumerable: true, get: function () { return index_js_7.AnkrProvider; } }); | ||
Object.defineProperty(exports, "ChainstackProvider", { enumerable: true, get: function () { return index_js_7.ChainstackProvider; } }); | ||
Object.defineProperty(exports, "CloudflareProvider", { enumerable: true, get: function () { return index_js_7.CloudflareProvider; } }); | ||
@@ -107,0 +108,0 @@ Object.defineProperty(exports, "EtherscanProvider", { enumerable: true, get: function () { return index_js_7.EtherscanProvider; } }); |
@@ -27,2 +27,3 @@ import type { AbstractProvider } from "./abstract-provider.js"; | ||
* - ``"cloudflare"`` | ||
* - ``"chainstack"`` | ||
* - ``"etherscan"`` | ||
@@ -29,0 +30,0 @@ * - ``"infura"`` |
@@ -7,2 +7,3 @@ "use strict"; | ||
const provider_alchemy_js_1 = require("./provider-alchemy.js"); | ||
const provider_chainstack_js_1 = require("./provider-chainstack.js"); | ||
const provider_cloudflare_js_1 = require("./provider-cloudflare.js"); | ||
@@ -45,2 +46,3 @@ const provider_etherscan_js_1 = require("./provider-etherscan.js"); | ||
* - ``"cloudflare"`` | ||
* - ``"chainstack"`` | ||
* - ``"etherscan"`` | ||
@@ -99,2 +101,5 @@ * - ``"infura"`` | ||
} | ||
else if (staticNetwork.name === "matic-amoy") { | ||
providers.push(new provider_jsonrpc_js_1.JsonRpcProvider("https:/\/rpc-amoy.polygon.technology/", staticNetwork, { staticNetwork })); | ||
} | ||
} | ||
@@ -113,2 +118,8 @@ if (allowService("alchemy")) { | ||
} | ||
if (allowService("chainstack")) { | ||
try { | ||
providers.push(new provider_chainstack_js_1.ChainstackProvider(network, options.chainstack)); | ||
} | ||
catch (error) { } | ||
} | ||
if (allowService("cloudflare")) { | ||
@@ -115,0 +126,0 @@ try { |
@@ -125,4 +125,7 @@ "use strict"; | ||
miner: allowNull(index_js_1.getAddress), | ||
prevRandao: allowNull(formatHash, null), | ||
extraData: formatData, | ||
baseFeePerGas: allowNull(index_js_4.getBigInt) | ||
}, { | ||
prevRandao: ["mixHash"] | ||
}); | ||
@@ -129,0 +132,0 @@ function formatBlock(value) { |
@@ -69,2 +69,7 @@ /** | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
prevRandao?: null | string; | ||
/** | ||
* Additional data the miner choose to include. | ||
@@ -71,0 +76,0 @@ */ |
@@ -27,2 +27,3 @@ /** | ||
export { CloudflareProvider } from "./provider-cloudflare.js"; | ||
export { ChainstackProvider } from "./provider-chainstack.js"; | ||
export { EtherscanProvider, EtherscanPlugin } from "./provider-etherscan.js"; | ||
@@ -29,0 +30,0 @@ export { InfuraProvider, InfuraWebSocketProvider } from "./provider-infura.js"; |
@@ -14,3 +14,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SocketEventSubscriber = exports.SocketPendingSubscriber = exports.SocketBlockSubscriber = exports.SocketSubscriber = exports.WebSocketProvider = exports.SocketProvider = exports.IpcSocketProvider = exports.QuickNodeProvider = exports.PocketProvider = exports.InfuraWebSocketProvider = exports.InfuraProvider = exports.EtherscanPlugin = exports.EtherscanProvider = exports.CloudflareProvider = exports.AnkrProvider = exports.AlchemyProvider = exports.BrowserProvider = exports.JsonRpcSigner = exports.JsonRpcProvider = exports.JsonRpcApiProvider = exports.FallbackProvider = exports.copyRequest = exports.TransactionResponse = exports.TransactionReceipt = exports.Log = exports.FeeData = exports.Block = exports.FetchUrlFeeDataNetworkPlugin = exports.FeeDataNetworkPlugin = exports.EnsPlugin = exports.GasCostPlugin = exports.NetworkPlugin = exports.NonceManager = exports.Network = exports.MulticoinProviderPlugin = exports.EnsResolver = exports.getDefaultProvider = exports.showThrottleMessage = exports.VoidSigner = exports.AbstractSigner = exports.UnmanagedSubscriber = exports.AbstractProvider = void 0; | ||
exports.SocketEventSubscriber = exports.SocketPendingSubscriber = exports.SocketBlockSubscriber = exports.SocketSubscriber = exports.WebSocketProvider = exports.SocketProvider = exports.IpcSocketProvider = exports.QuickNodeProvider = exports.PocketProvider = exports.InfuraWebSocketProvider = exports.InfuraProvider = exports.EtherscanPlugin = exports.EtherscanProvider = exports.ChainstackProvider = exports.CloudflareProvider = exports.AnkrProvider = exports.AlchemyProvider = exports.BrowserProvider = exports.JsonRpcSigner = exports.JsonRpcProvider = exports.JsonRpcApiProvider = exports.FallbackProvider = exports.copyRequest = exports.TransactionResponse = exports.TransactionReceipt = exports.Log = exports.FeeData = exports.Block = exports.FetchUrlFeeDataNetworkPlugin = exports.FeeDataNetworkPlugin = exports.EnsPlugin = exports.GasCostPlugin = exports.NetworkPlugin = exports.NonceManager = exports.Network = exports.MulticoinProviderPlugin = exports.EnsResolver = exports.getDefaultProvider = exports.showThrottleMessage = exports.VoidSigner = exports.AbstractSigner = exports.UnmanagedSubscriber = exports.AbstractProvider = void 0; | ||
var abstract_provider_js_1 = require("./abstract-provider.js"); | ||
@@ -60,2 +60,4 @@ Object.defineProperty(exports, "AbstractProvider", { enumerable: true, get: function () { return abstract_provider_js_1.AbstractProvider; } }); | ||
Object.defineProperty(exports, "CloudflareProvider", { enumerable: true, get: function () { return provider_cloudflare_js_1.CloudflareProvider; } }); | ||
var provider_chainstack_js_1 = require("./provider-chainstack.js"); | ||
Object.defineProperty(exports, "ChainstackProvider", { enumerable: true, get: function () { return provider_chainstack_js_1.ChainstackProvider; } }); | ||
var provider_etherscan_js_1 = require("./provider-etherscan.js"); | ||
@@ -62,0 +64,0 @@ Object.defineProperty(exports, "EtherscanProvider", { enumerable: true, get: function () { return provider_etherscan_js_1.EtherscanProvider; } }); |
@@ -345,2 +345,3 @@ "use strict"; | ||
registerEth("linea-goerli", 59140, {}); | ||
registerEth("linea-sepolia", 59141, {}); | ||
registerEth("matic", 137, { | ||
@@ -352,2 +353,3 @@ ensNetwork: 1, | ||
}); | ||
registerEth("matic-amoy", 80002, {}); | ||
registerEth("matic-mumbai", 80001, { | ||
@@ -354,0 +356,0 @@ altNames: ["maticMumbai", "maticmum"], |
@@ -20,2 +20,3 @@ /** | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -22,0 +23,0 @@ * |
@@ -21,2 +21,3 @@ "use strict"; | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -55,2 +56,4 @@ * | ||
return "polygon-mainnet.g.alchemy.com"; | ||
case "matic-amoy": | ||
return "polygon-amoy.g.alchemy.com"; | ||
case "matic-mumbai": | ||
@@ -57,0 +60,0 @@ return "polygon-mumbai.g.alchemy.com"; |
@@ -11,3 +11,3 @@ /** | ||
* - Sepolia Testnet (``sepolia``) | ||
* - Sepolia Testnet (``holesky``) | ||
* - Holesky Testnet (``holesky``) | ||
* - Arbitrum (``arbitrum``) | ||
@@ -14,0 +14,0 @@ * - Arbitrum Goerli Testnet (``arbitrum-goerli``) |
@@ -12,3 +12,3 @@ "use strict"; | ||
* - Sepolia Testnet (``sepolia``) | ||
* - Sepolia Testnet (``holesky``) | ||
* - Holesky Testnet (``holesky``) | ||
* - Arbitrum (``arbitrum``) | ||
@@ -15,0 +15,0 @@ * - Arbitrum Goerli Testnet (``arbitrum-goerli``) |
@@ -19,3 +19,4 @@ /** | ||
* - Linea (``linea``) | ||
* - Linea Goerlia Testnet (``linea-goerli``) | ||
* - Linea Goerli Testnet (``linea-goerli``) | ||
* - Linea Sepolia Testnet (``linea-sepolia``) | ||
* - Optimism (``optimism``) | ||
@@ -25,2 +26,3 @@ * - Optimism Goerli Testnet (``optimism-goerli``) | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -27,0 +29,0 @@ * |
@@ -22,3 +22,4 @@ "use strict"; | ||
* - Linea (``linea``) | ||
* - Linea Goerlia Testnet (``linea-goerli``) | ||
* - Linea Goerli Testnet (``linea-goerli``) | ||
* - Linea Sepolia Testnet (``linea-sepolia``) | ||
* - Optimism (``optimism``) | ||
@@ -28,2 +29,3 @@ * - Optimism Goerli Testnet (``optimism-goerli``) | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -67,4 +69,8 @@ * | ||
return "linea-goerli.infura.io"; | ||
case "linea-sepolia": | ||
return "linea-sepolia.infura.io"; | ||
case "matic": | ||
return "polygon-mainnet.infura.io"; | ||
case "matic-amoy": | ||
return "polygon-amoy.infura.io"; | ||
case "matic-mumbai": | ||
@@ -110,3 +116,3 @@ return "polygon-mumbai.infura.io"; | ||
const url = req.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/"); | ||
super(url, network); | ||
super(url, provider._network); | ||
(0, index_js_1.defineProperties)(this, { | ||
@@ -113,0 +119,0 @@ projectId: provider.projectId, |
@@ -51,2 +51,5 @@ "use strict"; | ||
(this.#filterId).then((filterId) => { | ||
if (this.#provider.destroyed) { | ||
return; | ||
} | ||
this.#provider.send("eth_unsubscribe", [filterId]); | ||
@@ -53,0 +56,0 @@ }); |
@@ -371,2 +371,7 @@ import type { AddressLike, NameResolver } from "../address/index.js"; | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
readonly prevRandao: null | string; | ||
/** | ||
* Any extra data the validator wished to include. | ||
@@ -373,0 +378,0 @@ */ |
@@ -225,2 +225,7 @@ "use strict"; | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
prevRandao; | ||
/** | ||
* Any extra data the validator wished to include. | ||
@@ -265,2 +270,3 @@ */ | ||
miner: block.miner, | ||
prevRandao: getValue(block.prevRandao), | ||
extraData: block.extraData, | ||
@@ -308,3 +314,3 @@ baseFeePerGas: getValue(block.baseFeePerGas), | ||
toJSON() { | ||
const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this; | ||
const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, prevRandao, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this; | ||
return { | ||
@@ -319,3 +325,3 @@ _type: "Block", | ||
excessBlobGas: toJson(this.excessBlobGas), | ||
hash, miner, nonce, number, parentHash, timestamp, | ||
hash, miner, prevRandao, nonce, number, parentHash, timestamp, | ||
parentBeaconBlockRoot, stateRoot, receiptsRoot, | ||
@@ -322,0 +328,0 @@ transactions, |
@@ -103,2 +103,5 @@ "use strict"; | ||
filterIdPromise.then((filterId) => { | ||
if (this.#provider.destroyed) { | ||
return; | ||
} | ||
this.#provider.send("eth_uninstallFilter", [filterId]); | ||
@@ -105,0 +108,0 @@ }); |
@@ -239,2 +239,7 @@ import { Signature } from "../crypto/index.js"; | ||
* | ||
* A BLOb is a sequence of field elements, each of which must | ||
* be within the BLS field modulo, so some additional processing | ||
* may be required to encode arbitrary data to ensure each 32 byte | ||
* field is within the valid range. | ||
* | ||
* Setting this automatically populates [[blobVersionedHashes]], | ||
@@ -241,0 +246,0 @@ * overwriting any existing values. Setting this to ``null`` |
@@ -601,2 +601,7 @@ "use strict"; | ||
* | ||
* A BLOb is a sequence of field elements, each of which must | ||
* be within the BLS field modulo, so some additional processing | ||
* may be required to encode arbitrary data to ensure each 32 byte | ||
* field is within the valid range. | ||
* | ||
* Setting this automatically populates [[blobVersionedHashes]], | ||
@@ -970,7 +975,7 @@ * overwriting any existing values. Setting this to ``null`` | ||
if (tx.hash != null) { | ||
(0, index_js_3.assertArgument)(result.isSigned(), "unsigned transaction cannot define hash", "tx", tx); | ||
(0, index_js_3.assertArgument)(result.isSigned(), "unsigned transaction cannot define '.hash'", "tx", tx); | ||
(0, index_js_3.assertArgument)(result.hash === tx.hash, "hash mismatch", "tx", tx); | ||
} | ||
if (tx.from != null) { | ||
(0, index_js_3.assertArgument)(result.isSigned(), "unsigned transaction cannot define from", "tx", tx); | ||
(0, index_js_3.assertArgument)(result.isSigned(), "unsigned transaction cannot define '.from'", "tx", tx); | ||
(0, index_js_3.assertArgument)(result.from.toLowerCase() === (tx.from || "").toLowerCase(), "from mismatch", "tx", tx); | ||
@@ -977,0 +982,0 @@ } |
@@ -5,3 +5,3 @@ /* Do NOT modify this file; see /src.ts/_admin/update-version.ts */ | ||
*/ | ||
export const version = "6.12.0-beta.1"; | ||
export const version = "6.12.0"; | ||
//# sourceMappingURL=_version.js.map |
@@ -21,3 +21,4 @@ import type { BigNumberish, BytesLike } from "../../utils/index.js"; | ||
/** | ||
* Returns the Result as a normal Array. | ||
* Returns the Result as a normal Array. If %%deep%%, any children | ||
* which are Result objects are also converted to a normal Array. | ||
* | ||
@@ -27,5 +28,7 @@ * This will throw if there are any outstanding deferred | ||
*/ | ||
toArray(): Array<any>; | ||
toArray(deep?: boolean): Array<any>; | ||
/** | ||
* Returns the Result as an Object with each name-value pair. | ||
* Returns the Result as an Object with each name-value pair. If | ||
* %%deep%%, any children which are Result objects are also | ||
* converted to an Object. | ||
* | ||
@@ -35,3 +38,3 @@ * This will throw if any value is unnamed, or if there are | ||
*/ | ||
toObject(): Record<string, any>; | ||
toObject(deep?: boolean): Record<string, any>; | ||
/** | ||
@@ -38,0 +41,0 @@ * @_ignore |
@@ -106,3 +106,4 @@ import { defineProperties, concat, getBytesCopy, getNumber, hexlify, toBeArray, toBigInt, toNumber, assert, assertArgument } from "../../utils/index.js"; | ||
/** | ||
* Returns the Result as a normal Array. | ||
* Returns the Result as a normal Array. If %%deep%%, any children | ||
* which are Result objects are also converted to a normal Array. | ||
* | ||
@@ -112,3 +113,3 @@ * This will throw if there are any outstanding deferred | ||
*/ | ||
toArray() { | ||
toArray(deep) { | ||
const result = []; | ||
@@ -119,2 +120,5 @@ this.forEach((item, index) => { | ||
} | ||
if (deep && item instanceof Result) { | ||
item = item.toArray(deep); | ||
} | ||
result.push(item); | ||
@@ -125,3 +129,5 @@ }); | ||
/** | ||
* Returns the Result as an Object with each name-value pair. | ||
* Returns the Result as an Object with each name-value pair. If | ||
* %%deep%%, any children which are Result objects are also | ||
* converted to an Object. | ||
* | ||
@@ -131,3 +137,3 @@ * This will throw if any value is unnamed, or if there are | ||
*/ | ||
toObject() { | ||
toObject(deep) { | ||
return this.#names.reduce((accum, name, index) => { | ||
@@ -139,3 +145,7 @@ assert(name != null, "value at index ${ index } unnamed", "UNSUPPORTED_OPERATION", { | ||
if (!(name in accum)) { | ||
accum[name] = this.getValue(name); | ||
let child = this.getValue(name); | ||
if (deep && child instanceof Result) { | ||
child = child.toObject(deep); | ||
} | ||
accum[name] = child; | ||
} | ||
@@ -142,0 +152,0 @@ return accum; |
@@ -8,3 +8,3 @@ export { version } from "./_version.js"; | ||
export { id, ensNormalize, isValidName, namehash, dnsEncode, hashMessage, verifyMessage, solidityPacked, solidityPackedKeccak256, solidityPackedSha256, TypedDataEncoder, verifyTypedData } from "./hash/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, ChainstackProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { accessListify, computeAddress, recoverAddress, Transaction } from "./transaction/index.js"; | ||
@@ -11,0 +11,0 @@ export { decodeBase58, encodeBase58, decodeBase64, encodeBase64, concat, dataLength, dataSlice, getBytes, getBytesCopy, hexlify, isHexString, isBytesLike, stripZerosLeft, zeroPadBytes, zeroPadValue, defineProperties, resolveProperties, assert, assertArgument, assertArgumentCount, assertNormalize, assertPrivate, makeError, isCallException, isError, EventPayload, FetchRequest, FetchResponse, FetchCancelSignal, FixedNumber, getBigInt, getNumber, getUint, toBeArray, toBigInt, toBeHex, toNumber, toQuantity, fromTwos, toTwos, mask, formatEther, parseEther, formatUnits, parseUnits, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs, decodeRlp, encodeRlp, uuidV4, } from "./utils/index.js"; |
@@ -10,3 +10,3 @@ ///////////////////////////// | ||
export { id, ensNormalize, isValidName, namehash, dnsEncode, hashMessage, verifyMessage, solidityPacked, solidityPackedKeccak256, solidityPackedSha256, TypedDataEncoder, verifyTypedData } from "./hash/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { getDefaultProvider, Block, FeeData, Log, TransactionReceipt, TransactionResponse, AbstractSigner, NonceManager, VoidSigner, AbstractProvider, FallbackProvider, JsonRpcApiProvider, JsonRpcProvider, JsonRpcSigner, BrowserProvider, AlchemyProvider, AnkrProvider, ChainstackProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, IpcSocketProvider, SocketProvider, WebSocketProvider, EnsResolver, Network, EnsPlugin, EtherscanPlugin, FeeDataNetworkPlugin, FetchUrlFeeDataNetworkPlugin, GasCostPlugin, NetworkPlugin, MulticoinProviderPlugin, SocketBlockSubscriber, SocketEventSubscriber, SocketPendingSubscriber, SocketSubscriber, UnmanagedSubscriber, copyRequest, showThrottleMessage } from "./providers/index.js"; | ||
export { accessListify, computeAddress, recoverAddress, Transaction } from "./transaction/index.js"; | ||
@@ -13,0 +13,0 @@ export { decodeBase58, encodeBase58, decodeBase64, encodeBase64, concat, dataLength, dataSlice, getBytes, getBytesCopy, hexlify, isHexString, isBytesLike, stripZerosLeft, zeroPadBytes, zeroPadValue, defineProperties, resolveProperties, assert, assertArgument, assertArgumentCount, assertNormalize, assertPrivate, makeError, isCallException, isError, EventPayload, FetchRequest, FetchResponse, FetchCancelSignal, FixedNumber, getBigInt, getNumber, getUint, toBeArray, toBigInt, toBeHex, toNumber, toQuantity, fromTwos, toTwos, mask, formatEther, parseEther, formatUnits, parseUnits, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs, decodeRlp, encodeRlp, uuidV4, } from "./utils/index.js"; |
@@ -27,2 +27,3 @@ import type { AbstractProvider } from "./abstract-provider.js"; | ||
* - ``"cloudflare"`` | ||
* - ``"chainstack"`` | ||
* - ``"etherscan"`` | ||
@@ -29,0 +30,0 @@ * - ``"infura"`` |
import { assert } from "../utils/index.js"; | ||
import { AnkrProvider } from "./provider-ankr.js"; | ||
import { AlchemyProvider } from "./provider-alchemy.js"; | ||
import { ChainstackProvider } from "./provider-chainstack.js"; | ||
import { CloudflareProvider } from "./provider-cloudflare.js"; | ||
@@ -41,2 +42,3 @@ import { EtherscanProvider } from "./provider-etherscan.js"; | ||
* - ``"cloudflare"`` | ||
* - ``"chainstack"`` | ||
* - ``"etherscan"`` | ||
@@ -95,2 +97,5 @@ * - ``"infura"`` | ||
} | ||
else if (staticNetwork.name === "matic-amoy") { | ||
providers.push(new JsonRpcProvider("https:/\/rpc-amoy.polygon.technology/", staticNetwork, { staticNetwork })); | ||
} | ||
} | ||
@@ -109,2 +114,8 @@ if (allowService("alchemy")) { | ||
} | ||
if (allowService("chainstack")) { | ||
try { | ||
providers.push(new ChainstackProvider(network, options.chainstack)); | ||
} | ||
catch (error) { } | ||
} | ||
if (allowService("cloudflare")) { | ||
@@ -111,0 +122,0 @@ try { |
@@ -114,4 +114,7 @@ /** | ||
miner: allowNull(getAddress), | ||
prevRandao: allowNull(formatHash, null), | ||
extraData: formatData, | ||
baseFeePerGas: allowNull(getBigInt) | ||
}, { | ||
prevRandao: ["mixHash"] | ||
}); | ||
@@ -118,0 +121,0 @@ export function formatBlock(value) { |
@@ -69,2 +69,7 @@ /** | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
prevRandao?: null | string; | ||
/** | ||
* Additional data the miner choose to include. | ||
@@ -71,0 +76,0 @@ */ |
@@ -27,2 +27,3 @@ /** | ||
export { CloudflareProvider } from "./provider-cloudflare.js"; | ||
export { ChainstackProvider } from "./provider-chainstack.js"; | ||
export { EtherscanProvider, EtherscanPlugin } from "./provider-etherscan.js"; | ||
@@ -29,0 +30,0 @@ export { InfuraProvider, InfuraWebSocketProvider } from "./provider-infura.js"; |
@@ -29,2 +29,3 @@ /** | ||
export { CloudflareProvider } from "./provider-cloudflare.js"; | ||
export { ChainstackProvider } from "./provider-chainstack.js"; | ||
export { EtherscanProvider, EtherscanPlugin } from "./provider-etherscan.js"; | ||
@@ -31,0 +32,0 @@ export { InfuraProvider, InfuraWebSocketProvider } from "./provider-infura.js"; |
@@ -341,2 +341,3 @@ /** | ||
registerEth("linea-goerli", 59140, {}); | ||
registerEth("linea-sepolia", 59141, {}); | ||
registerEth("matic", 137, { | ||
@@ -348,2 +349,3 @@ ensNetwork: 1, | ||
}); | ||
registerEth("matic-amoy", 80002, {}); | ||
registerEth("matic-mumbai", 80001, { | ||
@@ -350,0 +352,0 @@ altNames: ["maticMumbai", "maticmum"], |
@@ -20,2 +20,3 @@ /** | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -22,0 +23,0 @@ * |
@@ -20,2 +20,3 @@ /** | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -52,2 +53,4 @@ * | ||
return "polygon-mainnet.g.alchemy.com"; | ||
case "matic-amoy": | ||
return "polygon-amoy.g.alchemy.com"; | ||
case "matic-mumbai": | ||
@@ -54,0 +57,0 @@ return "polygon-mumbai.g.alchemy.com"; |
@@ -11,3 +11,3 @@ /** | ||
* - Sepolia Testnet (``sepolia``) | ||
* - Sepolia Testnet (``holesky``) | ||
* - Holesky Testnet (``holesky``) | ||
* - Arbitrum (``arbitrum``) | ||
@@ -14,0 +14,0 @@ * - Arbitrum Goerli Testnet (``arbitrum-goerli``) |
@@ -11,3 +11,3 @@ /** | ||
* - Sepolia Testnet (``sepolia``) | ||
* - Sepolia Testnet (``holesky``) | ||
* - Holesky Testnet (``holesky``) | ||
* - Arbitrum (``arbitrum``) | ||
@@ -14,0 +14,0 @@ * - Arbitrum Goerli Testnet (``arbitrum-goerli``) |
@@ -19,3 +19,4 @@ /** | ||
* - Linea (``linea``) | ||
* - Linea Goerlia Testnet (``linea-goerli``) | ||
* - Linea Goerli Testnet (``linea-goerli``) | ||
* - Linea Sepolia Testnet (``linea-sepolia``) | ||
* - Optimism (``optimism``) | ||
@@ -25,2 +26,3 @@ * - Optimism Goerli Testnet (``optimism-goerli``) | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -27,0 +29,0 @@ * |
@@ -19,3 +19,4 @@ /** | ||
* - Linea (``linea``) | ||
* - Linea Goerlia Testnet (``linea-goerli``) | ||
* - Linea Goerli Testnet (``linea-goerli``) | ||
* - Linea Sepolia Testnet (``linea-sepolia``) | ||
* - Optimism (``optimism``) | ||
@@ -25,2 +26,3 @@ * - Optimism Goerli Testnet (``optimism-goerli``) | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -64,4 +66,8 @@ * | ||
return "linea-goerli.infura.io"; | ||
case "linea-sepolia": | ||
return "linea-sepolia.infura.io"; | ||
case "matic": | ||
return "polygon-mainnet.infura.io"; | ||
case "matic-amoy": | ||
return "polygon-amoy.infura.io"; | ||
case "matic-mumbai": | ||
@@ -107,3 +113,3 @@ return "polygon-mumbai.infura.io"; | ||
const url = req.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/"); | ||
super(url, network); | ||
super(url, provider._network); | ||
defineProperties(this, { | ||
@@ -110,0 +116,0 @@ projectId: provider.projectId, |
@@ -48,2 +48,5 @@ /** | ||
(this.#filterId).then((filterId) => { | ||
if (this.#provider.destroyed) { | ||
return; | ||
} | ||
this.#provider.send("eth_unsubscribe", [filterId]); | ||
@@ -50,0 +53,0 @@ }); |
@@ -371,2 +371,7 @@ import type { AddressLike, NameResolver } from "../address/index.js"; | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
readonly prevRandao: null | string; | ||
/** | ||
* Any extra data the validator wished to include. | ||
@@ -373,0 +378,0 @@ */ |
@@ -220,2 +220,7 @@ //import { resolveAddress } from "@ethersproject/address"; | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
prevRandao; | ||
/** | ||
* Any extra data the validator wished to include. | ||
@@ -260,2 +265,3 @@ */ | ||
miner: block.miner, | ||
prevRandao: getValue(block.prevRandao), | ||
extraData: block.extraData, | ||
@@ -303,3 +309,3 @@ baseFeePerGas: getValue(block.baseFeePerGas), | ||
toJSON() { | ||
const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this; | ||
const { baseFeePerGas, difficulty, extraData, gasLimit, gasUsed, hash, miner, prevRandao, nonce, number, parentHash, parentBeaconBlockRoot, stateRoot, receiptsRoot, timestamp, transactions } = this; | ||
return { | ||
@@ -314,3 +320,3 @@ _type: "Block", | ||
excessBlobGas: toJson(this.excessBlobGas), | ||
hash, miner, nonce, number, parentHash, timestamp, | ||
hash, miner, prevRandao, nonce, number, parentHash, timestamp, | ||
parentBeaconBlockRoot, stateRoot, receiptsRoot, | ||
@@ -317,0 +323,0 @@ transactions, |
@@ -100,2 +100,5 @@ import { isError } from "../utils/index.js"; | ||
filterIdPromise.then((filterId) => { | ||
if (this.#provider.destroyed) { | ||
return; | ||
} | ||
this.#provider.send("eth_uninstallFilter", [filterId]); | ||
@@ -102,0 +105,0 @@ }); |
@@ -239,2 +239,7 @@ import { Signature } from "../crypto/index.js"; | ||
* | ||
* A BLOb is a sequence of field elements, each of which must | ||
* be within the BLS field modulo, so some additional processing | ||
* may be required to encode arbitrary data to ensure each 32 byte | ||
* field is within the valid range. | ||
* | ||
* Setting this automatically populates [[blobVersionedHashes]], | ||
@@ -241,0 +246,0 @@ * overwriting any existing values. Setting this to ``null`` |
@@ -598,2 +598,7 @@ import { getAddress } from "../address/index.js"; | ||
* | ||
* A BLOb is a sequence of field elements, each of which must | ||
* be within the BLS field modulo, so some additional processing | ||
* may be required to encode arbitrary data to ensure each 32 byte | ||
* field is within the valid range. | ||
* | ||
* Setting this automatically populates [[blobVersionedHashes]], | ||
@@ -967,7 +972,7 @@ * overwriting any existing values. Setting this to ``null`` | ||
if (tx.hash != null) { | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define hash", "tx", tx); | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define '.hash'", "tx", tx); | ||
assertArgument(result.hash === tx.hash, "hash mismatch", "tx", tx); | ||
} | ||
if (tx.from != null) { | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define from", "tx", tx); | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define '.from'", "tx", tx); | ||
assertArgument(result.from.toLowerCase() === (tx.from || "").toLowerCase(), "from mismatch", "tx", tx); | ||
@@ -974,0 +979,0 @@ } |
@@ -96,3 +96,3 @@ { | ||
], | ||
"gitHead": "12772e9498b70f8538838f30e16f3792ea90e173", | ||
"gitHead": "b4aaab8d39fe47f8a1a296fa442f0856f84faf03", | ||
"homepage": "https://ethers.org", | ||
@@ -110,3 +110,3 @@ "keywords": [ | ||
"access": "public", | ||
"tag": "next" | ||
"tag": "latest" | ||
}, | ||
@@ -136,3 +136,3 @@ "repository": { | ||
"sideEffects": false, | ||
"version": "6.12.0-beta.1" | ||
"version": "6.12.0" | ||
} |
@@ -6,2 +6,2 @@ /* Do NOT modify this file; see /src.ts/_admin/update-version.ts */ | ||
*/ | ||
export const version: string = "6.12.0-beta.1"; | ||
export const version: string = "6.12.0"; |
@@ -133,3 +133,4 @@ | ||
/** | ||
* Returns the Result as a normal Array. | ||
* Returns the Result as a normal Array. If %%deep%%, any children | ||
* which are Result objects are also converted to a normal Array. | ||
* | ||
@@ -139,6 +140,9 @@ * This will throw if there are any outstanding deferred | ||
*/ | ||
toArray(): Array<any> { | ||
toArray(deep?: boolean): Array<any> { | ||
const result: Array<any> = [ ]; | ||
this.forEach((item, index) => { | ||
if (item instanceof Error) { throwError(`index ${ index }`, item); } | ||
if (deep && item instanceof Result) { | ||
item = item.toArray(deep); | ||
} | ||
result.push(item); | ||
@@ -150,3 +154,5 @@ }); | ||
/** | ||
* Returns the Result as an Object with each name-value pair. | ||
* Returns the Result as an Object with each name-value pair. If | ||
* %%deep%%, any children which are Result objects are also | ||
* converted to an Object. | ||
* | ||
@@ -156,3 +162,3 @@ * This will throw if any value is unnamed, or if there are | ||
*/ | ||
toObject(): Record<string, any> { | ||
toObject(deep?: boolean): Record<string, any> { | ||
return this.#names.reduce((accum, name, index) => { | ||
@@ -165,3 +171,7 @@ assert(name != null, "value at index ${ index } unnamed", "UNSUPPORTED_OPERATION", { | ||
if (!(name in accum)) { | ||
accum[name] = this.getValue(name); | ||
let child = this.getValue(name); | ||
if (deep && child instanceof Result) { | ||
child = child.toObject(deep); | ||
} | ||
accum[name] = child; | ||
} | ||
@@ -168,0 +178,0 @@ |
@@ -72,4 +72,5 @@ | ||
AlchemyProvider, AnkrProvider, CloudflareProvider, EtherscanProvider, | ||
InfuraProvider, InfuraWebSocketProvider, PocketProvider, QuickNodeProvider, | ||
AlchemyProvider, AnkrProvider, ChainstackProvider, CloudflareProvider, | ||
EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, PocketProvider, | ||
QuickNodeProvider, | ||
@@ -76,0 +77,0 @@ IpcSocketProvider, SocketProvider, WebSocketProvider, |
@@ -6,2 +6,3 @@ | ||
import { AlchemyProvider } from "./provider-alchemy.js"; | ||
import { ChainstackProvider } from "./provider-chainstack.js"; | ||
import { CloudflareProvider } from "./provider-cloudflare.js"; | ||
@@ -52,2 +53,3 @@ import { EtherscanProvider } from "./provider-etherscan.js"; | ||
* - ``"cloudflare"`` | ||
* - ``"chainstack"`` | ||
* - ``"etherscan"`` | ||
@@ -107,2 +109,4 @@ * - ``"infura"`` | ||
providers.push(new JsonRpcProvider("https:/\/polygon-rpc.com/", staticNetwork, { staticNetwork })); | ||
} else if (staticNetwork.name === "matic-amoy") { | ||
providers.push(new JsonRpcProvider("https:/\/rpc-amoy.polygon.technology/", staticNetwork, { staticNetwork })); | ||
} | ||
@@ -123,2 +127,8 @@ } | ||
if (allowService("chainstack")) { | ||
try { | ||
providers.push(new ChainstackProvider(network, options.chainstack)); | ||
} catch (error) { } | ||
} | ||
if (allowService("cloudflare")) { | ||
@@ -125,0 +135,0 @@ try { |
@@ -132,5 +132,8 @@ /** | ||
miner: allowNull(getAddress), | ||
prevRandao: allowNull(formatHash, null), | ||
extraData: formatData, | ||
baseFeePerGas: allowNull(getBigInt) | ||
}, { | ||
prevRandao: [ "mixHash" ] | ||
}); | ||
@@ -137,0 +140,0 @@ |
@@ -87,2 +87,8 @@ /** | ||
/** | ||
* The latest RANDAO mix of the post beacon state of | ||
* the previous block. | ||
*/ | ||
prevRandao?: null | string; | ||
/** | ||
* Additional data the miner choose to include. | ||
@@ -89,0 +95,0 @@ */ |
@@ -65,2 +65,3 @@ /** | ||
export { CloudflareProvider } from "./provider-cloudflare.js"; | ||
export { ChainstackProvider } from "./provider-chainstack.js"; | ||
export { EtherscanProvider, EtherscanPlugin } from "./provider-etherscan.js"; | ||
@@ -67,0 +68,0 @@ export { InfuraProvider, InfuraWebSocketProvider } from "./provider-infura.js"; |
@@ -411,2 +411,3 @@ /** | ||
registerEth("linea-goerli", 59140, { }); | ||
registerEth("linea-sepolia", 59141, { }); | ||
@@ -419,2 +420,3 @@ registerEth("matic", 137, { | ||
}); | ||
registerEth("matic-amoy", 80002, { }); | ||
registerEth("matic-mumbai", 80001, { | ||
@@ -421,0 +423,0 @@ altNames: [ "maticMumbai", "maticmum" ], // @TODO: Future remove these alts |
@@ -20,2 +20,3 @@ /** | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -65,2 +66,4 @@ * | ||
return "polygon-mainnet.g.alchemy.com"; | ||
case "matic-amoy": | ||
return "polygon-amoy.g.alchemy.com"; | ||
case "matic-mumbai": | ||
@@ -67,0 +70,0 @@ return "polygon-mumbai.g.alchemy.com"; |
@@ -11,3 +11,3 @@ /** | ||
* - Sepolia Testnet (``sepolia``) | ||
* - Sepolia Testnet (``holesky``) | ||
* - Holesky Testnet (``holesky``) | ||
* - Arbitrum (``arbitrum``) | ||
@@ -14,0 +14,0 @@ * - Arbitrum Goerli Testnet (``arbitrum-goerli``) |
@@ -19,3 +19,4 @@ /** | ||
* - Linea (``linea``) | ||
* - Linea Goerlia Testnet (``linea-goerli``) | ||
* - Linea Goerli Testnet (``linea-goerli``) | ||
* - Linea Sepolia Testnet (``linea-sepolia``) | ||
* - Optimism (``optimism``) | ||
@@ -25,2 +26,3 @@ * - Optimism Goerli Testnet (``optimism-goerli``) | ||
* - Polygon (``matic``) | ||
* - Polygon Amoy Testnet (``matic-amoy``) | ||
* - Polygon Mumbai Testnet (``matic-mumbai``) | ||
@@ -75,4 +77,8 @@ * | ||
return "linea-goerli.infura.io"; | ||
case "linea-sepolia": | ||
return "linea-sepolia.infura.io"; | ||
case "matic": | ||
return "polygon-mainnet.infura.io"; | ||
case "matic-amoy": | ||
return "polygon-amoy.infura.io"; | ||
case "matic-mumbai": | ||
@@ -126,3 +132,3 @@ return "polygon-mumbai.infura.io"; | ||
const url = req.url.replace(/^http/i, "ws").replace("/v3/", "/ws/v3/"); | ||
super(url, network); | ||
super(url, provider._network); | ||
@@ -129,0 +135,0 @@ defineProperties<InfuraWebSocketProvider>(this, { |
@@ -72,2 +72,3 @@ /** | ||
(<Promise<number>>(this.#filterId)).then((filterId) => { | ||
if (this.#provider.destroyed) { return; } | ||
this.#provider.send("eth_unsubscribe", [ filterId ]); | ||
@@ -74,0 +75,0 @@ }); |
@@ -121,2 +121,3 @@ import { isError } from "../utils/index.js"; | ||
filterIdPromise.then((filterId) => { | ||
if (this.#provider.destroyed) { return; } | ||
this.#provider.send("eth_uninstallFilter", [ filterId ]); | ||
@@ -123,0 +124,0 @@ }); |
@@ -30,2 +30,5 @@ | ||
// The BLS Modulo; each field within a BLOb must be less than this | ||
//const BLOB_BLS_MODULO = BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"); | ||
/** | ||
@@ -797,2 +800,7 @@ * A **TransactionLike** is an object which is appropriate as a loose | ||
* | ||
* A BLOb is a sequence of field elements, each of which must | ||
* be within the BLS field modulo, so some additional processing | ||
* may be required to encode arbitrary data to ensure each 32 byte | ||
* field is within the valid range. | ||
* | ||
* Setting this automatically populates [[blobVersionedHashes]], | ||
@@ -1161,3 +1169,3 @@ * overwriting any existing values. Setting this to ``null`` | ||
if (tx.hash != null) { | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define hash", "tx", tx); | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define '.hash'", "tx", tx); | ||
assertArgument(result.hash === tx.hash, "hash mismatch", "tx", tx); | ||
@@ -1167,3 +1175,3 @@ } | ||
if (tx.from != null) { | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define from", "tx", tx); | ||
assertArgument(result.isSigned(), "unsigned transaction cannot define '.from'", "tx", tx); | ||
assertArgument(result.from.toLowerCase() === (tx.from || "").toLowerCase(), "from mismatch", "tx", tx); | ||
@@ -1170,0 +1178,0 @@ } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
1274
147104
0
12579255