forked from tornado-packages/ethers.js
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b39e955eb6 | ||
|
|
399356b912 | ||
|
|
4512e97f9b | ||
|
|
762c2f34ea | ||
|
|
48bbef7ade | ||
|
|
4665fb4c68 | ||
|
|
b1bb69356a | ||
|
|
a8afb72fbb | ||
|
|
085a9054f3 | ||
|
|
ddaa87a2e6 | ||
|
|
5afe840552 | ||
|
|
4d9b29de75 | ||
|
|
e1e0929348 | ||
|
|
92def9c148 | ||
|
|
557c7d4224 | ||
|
|
83957dc283 | ||
|
|
179e6ca520 | ||
|
|
2a30facb2b | ||
|
|
9b508a4656 |
81
.github/ISSUE_TEMPLATE/bug-report-legacy.yml
vendored
Normal file
81
.github/ISSUE_TEMPLATE/bug-report-legacy.yml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
name: Bug Report
|
||||
description: Open an issue for a bug in Ethers v5 (legacy)
|
||||
title: "Add Bug Title Here"
|
||||
labels: ["investigate", "v5"]
|
||||
assignees:
|
||||
- ricmoo
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**READ THIS FIRST** and follow all instructions, please. `:)`
|
||||
|
||||
Thank you for taking the time to report an issue. This form is for reporting **bugs within ethers**, specifically for the legacy v5 branch.
|
||||
|
||||
If you are **new to ethers** or *uncertain* whether this is a bug in ethers, a bug in another framework or a bug in your own code, please [start a discussion](https://github.com/ethers-io/ethers.js/discussions) first.
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Ethers Version
|
||||
description: What version of ethers are you using? Before opening an issue, please make sure you are up to date.
|
||||
placeholder: 5.y.z
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: search-terms
|
||||
attributes:
|
||||
label: Search Terms
|
||||
description: Have you searched for answers [in the documentation](https://docs.ethers.org), through [the issues](https://github.com/ethers-io/ethers.js/issues) and [on the discusions](https://github.com/ethers-io/ethers.js/discussions)? Please include the search terms you have tried. This helps us add more keywords where needed.
|
||||
placeholder: e.g. abi, network, utf8
|
||||
- type: textarea
|
||||
id: about-the-bug
|
||||
attributes:
|
||||
label: Describe the Problem
|
||||
description: Please describe what you expected to happen vs what did happen?
|
||||
placeholder: What happened?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: code-snippet
|
||||
attributes:
|
||||
label: Code Snippet
|
||||
description: If possible, please include a **short and concise** code snippets that can reproduce this issue. Ideally code that can be pasted into the [Ethers Playground](https://playground.ethers.org).
|
||||
placeholder: e.g. provider.getBlockNumber()
|
||||
render: shell
|
||||
- type: textarea
|
||||
id: contract-abi
|
||||
attributes:
|
||||
label: Contract ABI
|
||||
description: If this involves a contract, please include any **concise and relevant** ABI fragments.
|
||||
placeholder: e.g. [ 'function balanceOf(address owner) view returns (uint)' ]
|
||||
render: shell
|
||||
- type: textarea
|
||||
id: errors
|
||||
attributes:
|
||||
label: Errors
|
||||
description: If there is an error, please include the **entire error** (redacting any sensitive information).
|
||||
placeholder: "e.g. Error: invalid name (code='INVALID_ARGUMENT, ...)"
|
||||
render: shell
|
||||
- type: dropdown
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: What environment, platforms or frameworks are you using? Select all that apply.
|
||||
multiple: true
|
||||
options:
|
||||
- Ethereum (mainnet/ropsten/rinkeby/goerli)
|
||||
- Altcoin - Please specify (e.g. Polygon)
|
||||
- node.js (v12 or newer)
|
||||
- node.js (older than v12)
|
||||
- Browser (Chrome, Safari, etc)
|
||||
- React Native/Expo/JavaScriptCore
|
||||
- Hardhat
|
||||
- Geth
|
||||
- Parity
|
||||
- Ganache
|
||||
- Other (please specify)
|
||||
- type: input
|
||||
id: other-envrionment
|
||||
attributes:
|
||||
label: Environment (Other)
|
||||
placeholder: anything else?
|
||||
8
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
8
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@@ -1,7 +1,7 @@
|
||||
name: Bug Report
|
||||
description: Open an issue for a bug in Ethers
|
||||
title: "Bug Report Title"
|
||||
labels: ["investigate"]
|
||||
description: Open an issue for a bug in Ethers v6 (latest)
|
||||
title: "Add Bug Title Here"
|
||||
labels: ["investigate", "v6"]
|
||||
assignees:
|
||||
- ricmoo
|
||||
body:
|
||||
@@ -18,7 +18,7 @@ body:
|
||||
attributes:
|
||||
label: Ethers Version
|
||||
description: What version of ethers are you using? Before opening an issue, please make sure you are up to date.
|
||||
placeholder: x.y.z
|
||||
placeholder: 6.y.z
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
|
||||
@@ -4,6 +4,8 @@ tsconfig.*.json
|
||||
tsconfig.tsbuildinfo
|
||||
rollup.config.js
|
||||
output/**
|
||||
docs.wrm/**
|
||||
.github/**
|
||||
|
||||
# Ignore admin scripts and files
|
||||
src.ts/_admin/**
|
||||
|
||||
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016-2023 Richard Moore
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
219
dist/ethers.js
vendored
219
dist/ethers.js
vendored
@@ -1,4 +1,8 @@
|
||||
const version = "6.0.2";
|
||||
/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
const version = "6.0.4";
|
||||
|
||||
/**
|
||||
* Property helper functions.
|
||||
@@ -171,7 +175,7 @@ function makeError(message, code, info) {
|
||||
}
|
||||
defineProperties(error, { code });
|
||||
if (info) {
|
||||
defineProperties(error, info);
|
||||
Object.assign(error, info);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
@@ -411,7 +415,7 @@ function zeroPad(data, length, left) {
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **left**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **values** are in Solidity
|
||||
@@ -424,7 +428,7 @@ function zeroPadValue(data, length) {
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **right**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **bytes** are in Solidity
|
||||
@@ -497,7 +501,7 @@ function mask(_value, _bits) {
|
||||
return value & ((BN_1$5 << bits) - BN_1$5);
|
||||
}
|
||||
/**
|
||||
* Gets a [[BigInt]] from %%value%%. If it is an invalid value for
|
||||
* Gets a BigInt from %%value%%. If it is an invalid value for
|
||||
* a BigInt, then an ArgumentError will be thrown for %%name%%.
|
||||
*/
|
||||
function getBigInt(value, name) {
|
||||
@@ -795,7 +799,21 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
// Otherwise, process as if ignoring errors
|
||||
return ignoreFunc(reason, offset, bytes, output, badCodepoint);
|
||||
}
|
||||
// Common error handing strategies
|
||||
/**
|
||||
* A handful of popular, built-in UTF-8 error handling strategies.
|
||||
*
|
||||
* **``"error"``** - throws on ANY illegal UTF-8 sequence or
|
||||
* non-canonical (overlong) codepoints (this is the default)
|
||||
*
|
||||
* **``"ignore"``** - silently drops any illegal UTF-8 sequence
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
*/
|
||||
const Utf8ErrorFuncs = Object.freeze({
|
||||
error: errorFunc,
|
||||
ignore: ignoreFunc,
|
||||
@@ -942,7 +960,7 @@ function _toUtf8String(codePoints) {
|
||||
*
|
||||
* When %%onError%% function is specified, it is called on UTF-8
|
||||
* errors allowing recovery using the [[Utf8ErrorFunc]] API.
|
||||
* (default: [error](Utf8ErrorFuncs-error))
|
||||
* (default: [error](Utf8ErrorFuncs))
|
||||
*/
|
||||
function toUtf8String(bytes, onError) {
|
||||
return _toUtf8String(getUtf8CodePoints(bytes, onError));
|
||||
@@ -2462,7 +2480,7 @@ function formatUnits(value, unit) {
|
||||
return FixedNumber.fromValue(value, decimals, { decimals }).toString();
|
||||
}
|
||||
/**
|
||||
* Converts the //decimal string// %%value%% to a [[BigInt]], assuming
|
||||
* Converts the //decimal string// %%value%% to a BigInt, assuming
|
||||
* %%unit%% decimal places. The %%unit%% may the number of decimal places
|
||||
* or the name of a unit (e.g. ``"gwei"`` for 9 decimal places).
|
||||
*/
|
||||
@@ -2486,7 +2504,7 @@ function formatEther(wei) {
|
||||
return formatUnits(wei, 18);
|
||||
}
|
||||
/**
|
||||
* Converts the //decimal string// %%ether%% to a [[BigInt]], using 18
|
||||
* Converts the //decimal string// %%ether%% to a BigInt, using 18
|
||||
* decimal places.
|
||||
*/
|
||||
function parseEther(ether) {
|
||||
@@ -2527,7 +2545,7 @@ function uuidV4(randomBytes) {
|
||||
* Ethereum and to simplify the library, without increasing
|
||||
* the library dependencies for simple functions.
|
||||
*
|
||||
* @_section api/utils:Utilities [utils]
|
||||
* @_section api/utils:Utilities [about-utils]
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -5932,7 +5950,7 @@ const MessagePrefix = "\x19Ethereum Signed Message:\n";
|
||||
/**
|
||||
* Some common constants useful for Ethereum.
|
||||
*
|
||||
* @_section: api/constants: Constants [constants]
|
||||
* @_section: api/constants: Constants [about-constants]
|
||||
*/
|
||||
|
||||
// Constants
|
||||
@@ -5948,6 +5966,9 @@ function toUint256(value) {
|
||||
}
|
||||
/**
|
||||
* A Signature @TODO
|
||||
*
|
||||
*
|
||||
* @_docloc: api/crypto:Signing
|
||||
*/
|
||||
class Signature {
|
||||
#r;
|
||||
@@ -6231,6 +6252,11 @@ class Signature {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add details about signing here.
|
||||
*
|
||||
* @_subsection: api/crypto:Signing [about-signing]
|
||||
*/
|
||||
//const N = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141");
|
||||
// Make noble-secp256k1 sync
|
||||
utils.hmacSha256Sync = function (key, ...messages) {
|
||||
@@ -6402,7 +6428,7 @@ class SigningKey {
|
||||
* A fundamental building block of Ethereum is the underlying
|
||||
* cryptographic primitives.
|
||||
*
|
||||
* @_section: api/crypto:Cryptographic Functions [crypto]
|
||||
* @_section: api/crypto:Cryptographic Functions [about-crypto]
|
||||
*/
|
||||
null;
|
||||
function lock() {
|
||||
@@ -6762,7 +6788,7 @@ function resolveAddress(target, resolver) {
|
||||
* These functions help convert between various formats, validate
|
||||
* addresses and safely resolve ENS names.
|
||||
*
|
||||
* @_section: api/address:Addresses [addresses]
|
||||
* @_section: api/address:Addresses [about-addresses]
|
||||
*/
|
||||
null;
|
||||
|
||||
@@ -9218,7 +9244,7 @@ class Transaction {
|
||||
/**
|
||||
* Transactions..
|
||||
*
|
||||
* @_section api/transaction:Transactions [transactions]
|
||||
* @_section api/transaction:Transactions [about-transactions]
|
||||
*/
|
||||
null;
|
||||
|
||||
@@ -9751,13 +9777,13 @@ class TypedDataEncoder {
|
||||
/**
|
||||
* About hashing here...
|
||||
*
|
||||
* @_section: api/hashing:Hashing Utilities [hashing]
|
||||
* @_section: api/hashing:Hashing Utilities [about-hashing]
|
||||
*/
|
||||
|
||||
/**
|
||||
* About frgaments...
|
||||
*
|
||||
* @_subsection api/abi/abi-coder:Fragments
|
||||
* @_subsection api/abi/abi-coder:Fragments [about-fragments]
|
||||
*/
|
||||
;
|
||||
// [ "a", "b" ] => { "a": 1, "b": 1 }
|
||||
@@ -10109,26 +10135,25 @@ class ParamType {
|
||||
/**
|
||||
* True if the parameters is indexed.
|
||||
*
|
||||
* For non-indexable types (see [[ParamType_isIndexable]]) this
|
||||
* is ``null``.
|
||||
* For non-indexable types this is ``null``.
|
||||
*/
|
||||
indexed;
|
||||
/**
|
||||
* The components for the tuple.
|
||||
*
|
||||
* For non-tuple types (see [[ParamType_isTuple]]) this is ``null``.
|
||||
* For non-tuple types this is ``null``.
|
||||
*/
|
||||
components;
|
||||
/**
|
||||
* The array length, or ``-1`` for dynamic-lengthed arrays.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayLength;
|
||||
/**
|
||||
* The type of each child in the array.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayChildren;
|
||||
/**
|
||||
@@ -10979,7 +11004,11 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message = "execution reverted";
|
||||
const bytes = getBytes(data);
|
||||
data = hexlify(data);
|
||||
if (bytes.length % 32 !== 4) {
|
||||
if (bytes.length === 0) {
|
||||
message += " (no data present; likely require(false) occurred";
|
||||
reason = "require(false)";
|
||||
}
|
||||
else if (bytes.length % 32 !== 4) {
|
||||
message += " (could not decode reason; invalid data length)";
|
||||
}
|
||||
else if (hexlify(bytes.slice(0, 4)) === "0x08c379a0") {
|
||||
@@ -10994,8 +11023,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${JSON.stringify(reason)}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode reason; invalid data)";
|
||||
message += " (could not decode reason; invalid string data)";
|
||||
}
|
||||
}
|
||||
else if (hexlify(bytes.slice(0, 4)) === "0x4e487b71") {
|
||||
@@ -11011,8 +11039,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${reason}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode panic reason)";
|
||||
message += " (could not decode panic code)";
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -11117,7 +11144,7 @@ class AbiCoder {
|
||||
return defaultCoder;
|
||||
}
|
||||
/**
|
||||
* Returns an ethers-compatible [[CALL_EXCEPTION]] Error for the given
|
||||
* Returns an ethers-compatible [[CallExceptionError]] Error for the given
|
||||
* result %%data%% for the [[CallExceptionAction]] %%action%% against
|
||||
* the Transaction %%tx%%.
|
||||
*/
|
||||
@@ -11721,7 +11748,7 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
* specified error (see [[getError]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
@@ -11791,7 +11818,7 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
* specified function (see [[getFunction]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
@@ -11821,16 +11848,15 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
const data = getBytes(_data, "data");
|
||||
const error = AbiCoder.getBuiltinCallException("call", tx, data);
|
||||
// Not a built-in error; try finding a custom error
|
||||
if (!error.message.match(/could not decode/)) {
|
||||
const customPrefix = "execution reverted (unknown custom error)";
|
||||
if (error.message.startsWith(customPrefix)) {
|
||||
const selector = hexlify(data.slice(0, 4));
|
||||
error.message = "execution reverted (unknown custom error)";
|
||||
const ef = this.getError(selector);
|
||||
if (ef) {
|
||||
try {
|
||||
const args = this.#abiCoder.decode(ef.inputs, data.slice(4));
|
||||
error.revert = {
|
||||
name: ef.name,
|
||||
signature: ef.format(),
|
||||
args: this.#abiCoder.decode(ef.inputs, data.slice(4))
|
||||
name: ef.name, signature: ef.format(), args
|
||||
};
|
||||
error.reason = error.revert.signature;
|
||||
error.message = `execution reverted: ${error.reason}`;
|
||||
@@ -12140,7 +12166,7 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
/**
|
||||
* Explain about ABI here...
|
||||
*
|
||||
* @_section api/abi:Application Binary Interface [abi]
|
||||
* @_section api/abi:Application Binary Interface [about-abi]
|
||||
* @_navTitle: ABI
|
||||
*/
|
||||
|
||||
@@ -13489,7 +13515,7 @@ async function _emit(contract, event, args, payloadFunc) {
|
||||
}
|
||||
const count = sub.listeners.length;
|
||||
sub.listeners = sub.listeners.filter(({ listener, once }) => {
|
||||
const passArgs = args.slice();
|
||||
const passArgs = Array.from(args);
|
||||
if (payloadFunc) {
|
||||
passArgs.push(payloadFunc(once ? null : listener));
|
||||
}
|
||||
@@ -13875,7 +13901,7 @@ class ContractFactory {
|
||||
/**
|
||||
* About contracts...
|
||||
*
|
||||
* @_section: api/contract:Contracts [contracts]
|
||||
* @_section: api/contract:Contracts [about-contracts]
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -14486,7 +14512,7 @@ const _formatTransactionReceipt = object({
|
||||
cumulativeGasUsed: getBigInt,
|
||||
effectiveGasPrice: allowNull(getBigInt),
|
||||
status: allowNull(getNumber),
|
||||
type: getNumber
|
||||
type: allowNull(getNumber, 0)
|
||||
}, {
|
||||
effectiveGasPrice: ["gasPrice"],
|
||||
hash: ["transactionHash"],
|
||||
@@ -15895,14 +15921,23 @@ class AbstractProvider {
|
||||
"function name(bytes32) view returns (string)"
|
||||
], this);
|
||||
const name = await resolverContract.name(node);
|
||||
// Failed forward resolution
|
||||
const check = await this.resolveName(name);
|
||||
if (check !== address) {
|
||||
console.log("FAIL", address, check);
|
||||
return null;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
catch (error) {
|
||||
console.log("TEMP", error);
|
||||
// No data was returned from the resolver
|
||||
if (isError(error, "BAD_DATA") && error.value === "0x") {
|
||||
return null;
|
||||
}
|
||||
// Something reerted
|
||||
if (isError(error, "CALL_EXCEPTION")) {
|
||||
return null;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -16619,11 +16654,24 @@ class FilterIdSubscriber {
|
||||
}
|
||||
async #poll(blockNumber) {
|
||||
try {
|
||||
// Subscribe if necessary
|
||||
if (this.#filterIdPromise == null) {
|
||||
this.#filterIdPromise = this._subscribe(this.#provider);
|
||||
}
|
||||
const filterId = await this.#filterIdPromise;
|
||||
// Get the Filter ID
|
||||
let filterId = null;
|
||||
try {
|
||||
filterId = await this.#filterIdPromise;
|
||||
}
|
||||
catch (error) {
|
||||
if (!isError(error, "UNSUPPORTED_OPERATION") || error.operation !== "eth_newFilter") {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// The backend does not support Filter ID; downgrade to
|
||||
// polling
|
||||
if (filterId == null) {
|
||||
this.#filterIdPromise = null;
|
||||
this.#provider._recoverSubscriber(this, this._recover(this.#provider));
|
||||
return;
|
||||
}
|
||||
@@ -17127,6 +17175,9 @@ class JsonRpcApiProvider extends AbstractProvider {
|
||||
return new FilterIdPendingSubscriber(this);
|
||||
}
|
||||
if (sub.type === "event") {
|
||||
if (this._getOption("polling")) {
|
||||
return new PollingEventSubscriber(this, sub.filter);
|
||||
}
|
||||
return new FilterIdEventSubscriber(this, sub.filter);
|
||||
}
|
||||
// Orphaned Logs are handled automatically, by the filter, since
|
||||
@@ -17282,74 +17333,6 @@ class JsonRpcApiProvider extends AbstractProvider {
|
||||
const e = AbiCoder.getBuiltinCallException((method === "eth_call") ? "call" : "estimateGas", (payload.params[0]), (result ? result.data : null));
|
||||
e.info = { error, payload };
|
||||
return e;
|
||||
/*
|
||||
let message = "missing revert data during JSON-RPC call";
|
||||
|
||||
const action = <"call" | "estimateGas" | "unknown">(({ eth_call: "call", eth_estimateGas: "estimateGas" })[method] || "unknown");
|
||||
let data: null | string = null;
|
||||
let reason: null | string = null;
|
||||
const transaction = <{ from: string, to: string, data: string }>((<any>payload).params[0]);
|
||||
const invocation = null;
|
||||
let revert: null | { signature: string, name: string, args: Array<any> } = null;
|
||||
|
||||
if (result) {
|
||||
// @TODO: Extract errorSignature, errorName, errorArgs, reason if
|
||||
// it is Error(string) or Panic(uint25)
|
||||
message = "execution reverted during JSON-RPC call";
|
||||
data = result.data;
|
||||
|
||||
let bytes = getBytes(data);
|
||||
if (bytes.length % 32 !== 4) {
|
||||
message += " (could not parse reason; invalid data length)";
|
||||
|
||||
} else if (data.substring(0, 10) === "0x08c379a0") {
|
||||
// Error(string)
|
||||
try {
|
||||
if (bytes.length < 68) { throw new Error("bad length"); }
|
||||
bytes = bytes.slice(4);
|
||||
const pointer = getNumber(hexlify(bytes.slice(0, 32)));
|
||||
bytes = bytes.slice(pointer);
|
||||
if (bytes.length < 32) { throw new Error("overrun"); }
|
||||
const length = getNumber(hexlify(bytes.slice(0, 32)));
|
||||
bytes = bytes.slice(32);
|
||||
if (bytes.length < length) { throw new Error("overrun"); }
|
||||
reason = toUtf8String(bytes.slice(0, length));
|
||||
revert = {
|
||||
signature: "Error(string)",
|
||||
name: "Error",
|
||||
args: [ reason ]
|
||||
};
|
||||
message += `: ${ JSON.stringify(reason) }`;
|
||||
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not parse reason; invalid data length)";
|
||||
}
|
||||
|
||||
} else if (data.substring(0, 10) === "0x4e487b71") {
|
||||
// Panic(uint256)
|
||||
try {
|
||||
if (bytes.length !== 36) { throw new Error("bad length"); }
|
||||
const arg = getNumber(hexlify(bytes.slice(4)));
|
||||
revert = {
|
||||
signature: "Panic(uint256)",
|
||||
name: "Panic",
|
||||
args: [ arg ]
|
||||
};
|
||||
reason = `Panic due to ${ PanicReasons.get(Number(arg)) || "UNKNOWN" }(${ arg })`;
|
||||
message += `: ${ reason }`;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not parse panic reason)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return makeError(message, "CALL_EXCEPTION", {
|
||||
action, data, reason, transaction, invocation, revert,
|
||||
info: { payload, error }
|
||||
});
|
||||
*/
|
||||
}
|
||||
// Only estimateGas and call can return arbitrary contract-defined text, so now we
|
||||
// we can process text safely.
|
||||
@@ -17374,7 +17357,7 @@ class JsonRpcApiProvider extends AbstractProvider {
|
||||
const transaction = (payload.params[0]);
|
||||
if (message.match(/insufficient funds|base fee exceeds gas limit/i)) {
|
||||
return makeError("insufficient funds for intrinsic transaction cost", "INSUFFICIENT_FUNDS", {
|
||||
transaction
|
||||
transaction, info: { error }
|
||||
});
|
||||
}
|
||||
if (message.match(/nonce/i) && message.match(/too low/i)) {
|
||||
@@ -17392,7 +17375,7 @@ class JsonRpcApiProvider extends AbstractProvider {
|
||||
}
|
||||
if (message.match(/the method .* does not exist/i)) {
|
||||
return makeError("unsupported operation", "UNSUPPORTED_OPERATION", {
|
||||
operation: payload.method
|
||||
operation: payload.method, info: { error }
|
||||
});
|
||||
}
|
||||
return makeError("could not coalesce error", "UNKNOWN_ERROR", { error });
|
||||
@@ -19023,7 +19006,7 @@ function getMedian(quorum, results) {
|
||||
}
|
||||
// Get the sorted values
|
||||
values.sort((a, b) => ((a < b) ? -1 : (b > a) ? 1 : 0));
|
||||
const mid = values.length / 2;
|
||||
const mid = Math.floor(values.length / 2);
|
||||
// Odd-length; take the middle value
|
||||
if (values.length % 2) {
|
||||
return values[mid];
|
||||
@@ -19740,7 +19723,7 @@ const IpcSocketProvider = undefined;
|
||||
/**
|
||||
* About providers.
|
||||
*
|
||||
* @_section: api/providers:Providers [providers]
|
||||
* @_section: api/providers:Providers [about-providers]
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -19895,7 +19878,7 @@ function decodeOwl(data) {
|
||||
|
||||
/**
|
||||
* A Wordlist represents a collection of language-specific
|
||||
* words used to encode and devoce [[BIP-39]] encoded data
|
||||
* words used to encode and devoce [[link-bip-39]] encoded data
|
||||
* by mapping words to 11-bit values and vice versa.
|
||||
*/
|
||||
class Wordlist {
|
||||
@@ -20086,7 +20069,7 @@ function entropyToMnemonic(entropy, wordlist) {
|
||||
}
|
||||
const _guard$1 = {};
|
||||
/**
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip39]]
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip-39]]
|
||||
* seeds and convert between phrases and entropy.
|
||||
*/
|
||||
class Mnemonic {
|
||||
@@ -20166,7 +20149,7 @@ class Mnemonic {
|
||||
return mnemonicToEntropy(phrase, wordlist);
|
||||
}
|
||||
/**
|
||||
* Returns true if %%phrase%% is a valid [[link-bip39]] phrase.
|
||||
* Returns true if %%phrase%% is a valid [[link-bip-39]] phrase.
|
||||
*
|
||||
* This checks all the provided words belong to the %%wordlist%%,
|
||||
* that the length is valid and the checksum is correct.
|
||||
@@ -21828,7 +21811,7 @@ class Wallet extends BaseWallet {
|
||||
* low-level details of how an HD wallets are derived, exported
|
||||
* or imported.
|
||||
*
|
||||
* @_section: api/wallet:Wallets [wallets]
|
||||
* @_section: api/wallet:Wallets [about-wallets]
|
||||
*/
|
||||
|
||||
const Base64 = ")!@#$%^&*(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_";
|
||||
@@ -21933,7 +21916,7 @@ const wordlists = {
|
||||
* languages, but for maximal compatibility, the
|
||||
* [English Wordlist](LangEn) is recommended.
|
||||
*
|
||||
* @_section: api/wordlists:Wordlists [wordlists]
|
||||
* @_section: api/wordlists:Wordlists [about-wordlists]
|
||||
*/
|
||||
|
||||
/////////////////////////////
|
||||
|
||||
2
dist/ethers.js.map
vendored
2
dist/ethers.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/ethers.min.js
vendored
2
dist/ethers.min.js
vendored
File diff suppressed because one or more lines are too long
28
dist/wordlists-extra.js
vendored
28
dist/wordlists-extra.js
vendored
@@ -145,7 +145,11 @@ const u64 = {
|
||||
add, add3L, add3H, add4L, add4H, add5H, add5L,
|
||||
};
|
||||
|
||||
const version = "6.0.2";
|
||||
/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
const version = "6.0.4";
|
||||
|
||||
/**
|
||||
* Property helper functions.
|
||||
@@ -278,7 +282,7 @@ function makeError(message, code, info) {
|
||||
}
|
||||
defineProperties(error, { code });
|
||||
if (info) {
|
||||
defineProperties(error, info);
|
||||
Object.assign(error, info);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
@@ -426,7 +430,21 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
// Otherwise, process as if ignoring errors
|
||||
return ignoreFunc(reason, offset, bytes);
|
||||
}
|
||||
// Common error handing strategies
|
||||
/**
|
||||
* A handful of popular, built-in UTF-8 error handling strategies.
|
||||
*
|
||||
* **``"error"``** - throws on ANY illegal UTF-8 sequence or
|
||||
* non-canonical (overlong) codepoints (this is the default)
|
||||
*
|
||||
* **``"ignore"``** - silently drops any illegal UTF-8 sequence
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
*/
|
||||
const Utf8ErrorFuncs = Object.freeze({
|
||||
error: errorFunc,
|
||||
ignore: ignoreFunc,
|
||||
@@ -571,7 +589,7 @@ function _toUtf8String(codePoints) {
|
||||
*
|
||||
* When %%onError%% function is specified, it is called on UTF-8
|
||||
* errors allowing recovery using the [[Utf8ErrorFunc]] API.
|
||||
* (default: [error](Utf8ErrorFuncs-error))
|
||||
* (default: [error](Utf8ErrorFuncs))
|
||||
*/
|
||||
function toUtf8String(bytes, onError) {
|
||||
return _toUtf8String(getUtf8CodePoints(bytes, onError));
|
||||
@@ -897,7 +915,7 @@ function decodeOwl(data) {
|
||||
|
||||
/**
|
||||
* A Wordlist represents a collection of language-specific
|
||||
* words used to encode and devoce [[BIP-39]] encoded data
|
||||
* words used to encode and devoce [[link-bip-39]] encoded data
|
||||
* by mapping words to 11-bit values and vice versa.
|
||||
*/
|
||||
class Wordlist {
|
||||
|
||||
2
dist/wordlists-extra.js.map
vendored
2
dist/wordlists-extra.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/wordlists-extra.min.js
vendored
2
dist/wordlists-extra.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
_section: Contributings and Hacking @<about-contrib> @priority<-90>
|
||||
_section: Contributions and Hacking @<about-contrib> @priority<-90>
|
||||
|
||||
Pull requests are welcome, but please keep the following in mind:
|
||||
|
||||
@@ -93,7 +93,7 @@ _subsection: Adding Features @<about-contrib-feature>
|
||||
|
||||
Contributing new features usually require a deeper understanding
|
||||
of the internal interactions with Ethers and its components, and
|
||||
generally requires a minor version bumpincludes anything w
|
||||
generally requires a minor version bump.
|
||||
|
||||
When making any of the following changes, you must first open a
|
||||
[[link-discussion]] as the minor version will need to be bumped.
|
||||
|
||||
@@ -48,7 +48,7 @@ objects available and what they are responsible for, at a high level.
|
||||
_heading: Provider
|
||||
|
||||
A [[Provider]] is a read-only connection to the blockchain, which allows
|
||||
querying the blockchain state, such as accout, block or transaction details,
|
||||
querying the blockchain state, such as account, block or transaction details,
|
||||
querying event logs or evaluating read-only code using call.
|
||||
|
||||
If you are coming from Web3.js, you are used to a **Provider** offering
|
||||
@@ -118,7 +118,7 @@ extension that injects objects into the ``window``, providing:
|
||||
- authenticated write access backed by a private key (a [[Signer]])
|
||||
|
||||
When requesting access to the authenticated methods, such as
|
||||
sending a transaction or even requesting the private key addess,
|
||||
sending a transaction or even requesting the private key address,
|
||||
MetaMask will show a pop-up to the user asking for permission.
|
||||
|
||||
_code: @lang<script>
|
||||
@@ -172,7 +172,7 @@ _code: connecting to a JSON-RPC URL @lang<script>
|
||||
_subsection: User Interaction @<starting-display>
|
||||
|
||||
All units in Ethereum tend to be integer values, since dealing with
|
||||
decimals and floating points can lead to inprecise and non-obvious
|
||||
decimals and floating points can lead to imprecise and non-obvious
|
||||
results when performing mathematic operations.
|
||||
|
||||
As a result, the internal units used (e.g. wei) which are suited for
|
||||
@@ -272,7 +272,7 @@ _subsection: Contracts @<starting-contracts>
|
||||
|
||||
A **Contract** is a meta-class, which means that its definition
|
||||
its derived at run-time, based on the ABI it is passed, which then
|
||||
determined what mehods and properties are available on it.
|
||||
determined what methods and properties are available on it.
|
||||
|
||||
_heading: Application Binary Interface (ABI)
|
||||
|
||||
@@ -291,7 +291,7 @@ Any methods or events that are not needed can be safely excluded.
|
||||
There are several common formats available to describe an ABI. The
|
||||
Solidity compiler usually dumps a JSON representation but when typing
|
||||
an ABI by hand it is often easier (and more readable) to use the
|
||||
human-readable ABI, which is just the Solidity signautre.
|
||||
human-readable ABI, which is just the Solidity signature.
|
||||
|
||||
_code: simplified ERC-20 ABI @lang<script>
|
||||
abi = [
|
||||
@@ -478,7 +478,7 @@ it. It can also be used to sign other forms of data, which are then able
|
||||
to be validated for other purposes.
|
||||
|
||||
For example, signing **a message** can be used to prove ownership of an
|
||||
account which a website could use to authenicate a user and log them in.
|
||||
account which a website could use to authenticate a user and log them in.
|
||||
|
||||
_code: @lang<javascript>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ _section: Documentation @<about-home> @nav<Documentation>
|
||||
The ethers.js library aims to be a complete and compact library
|
||||
for interacting with the Ethereum Blockchain and its ecosystem.
|
||||
|
||||
It is ofen used to create decentralized applications (dapps),
|
||||
It is often used to create decentralized applications (dapps),
|
||||
wallets (such as [[link-metamask]] and [[link-tally]]) and
|
||||
other tools and simple scripts that require reading and writing
|
||||
to the blockchain.
|
||||
@@ -14,7 +14,7 @@ _subsection: About this documentation?
|
||||
These docs are still under construction, and are being expanded
|
||||
every day.
|
||||
|
||||
Developers new to Ethers shoud be sure to read through the
|
||||
Developers new to Ethers should be sure to read through the
|
||||
[[getting-started]] section.
|
||||
|
||||
And the [[about-api]] is available for drilling down into more details
|
||||
|
||||
@@ -34,7 +34,7 @@ link-infura-secret [link-infura-secret](https://infura.io/docs/gettingStarted/au
|
||||
link-parity-trace [link-parity-trace](https://openethereum.github.io/wiki/JSONRPC-trace-module)
|
||||
link-parity-rpc [link-parity-rpc](https://openethereum.github.io/wiki/JSONRPC)
|
||||
link-pocket-signup [link-pocket-signup](https://pokt.network/pocket-gateway-ethereum-mainnet/)
|
||||
link-web3 [link-web3](https://github.com/ethereum/web3.js)
|
||||
link-web3js [link-web3](https://github.com/ethereum/web3.js)
|
||||
link-web3-http [link-web3-http](https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-http)
|
||||
link-web3-ipc [link-web3-ipc](https://github.com/ethereum/web3.js/tree/1.x/packages/web3-providers-ipc)
|
||||
link-web3-send [link-web3-send](https://github.com/ethereum/web3.js/blob/1.x/packages/web3-providers-http/types/index.d.ts#L57)
|
||||
|
||||
@@ -10,7 +10,11 @@ so a lot of changes are largely internal.
|
||||
- [BigNumbers](migrate-bigint)
|
||||
- [Contracts](migrate-contracts)
|
||||
- [Importing](migrate-importing)
|
||||
- [Odds and Ends](migrate-other)
|
||||
- [Providers](migrate-providers)
|
||||
- [Signatures](migrate-signatures)
|
||||
- [Transactions](migrate-transactions)
|
||||
- [Utilities](migrate-utils)
|
||||
- [Removed Items](migrate-missing)
|
||||
|
||||
|
||||
_subsection: Big Numbers @<migrate-bigint>
|
||||
@@ -32,7 +36,7 @@ _code: creating large numbers @lang<script>
|
||||
// Using BigNumber in v5
|
||||
value = BigNumber.from("1000")
|
||||
|
||||
// Using BigInt in v6 (ysing literal notation).
|
||||
// Using BigInt in v6 (using literal notation).
|
||||
// Notice the suffix n
|
||||
value = 1000n
|
||||
|
||||
@@ -193,10 +197,95 @@ _code: importing in v6 @lang<script>
|
||||
import { InfuraProvider } from "ethers/providers"
|
||||
|
||||
|
||||
_subsection: Odds and Ends @<migrate-other>
|
||||
_subsection: Providers @<migrate-providers>
|
||||
|
||||
In addition to all the ``ethers.providers.*`` being moved to
|
||||
``ethers.*``, the biggest change developers need to keep in
|
||||
mind is that ``Web3Provider`` (which historically was used
|
||||
to wrap [[link-web3js]] providers) is now called
|
||||
[[BrowserProvider]] which is designed to wrap EIP-1193
|
||||
providers, which is the standard that both modern Web3.js and
|
||||
injected providers offer.
|
||||
|
||||
_code: wrapping EIP-1193 providers @lang<script>
|
||||
// v5
|
||||
provider = new ethers.providers.Web3Provider(window.ethereum)
|
||||
|
||||
// v6:
|
||||
provider = new ethers.BrowserProvider(window.ethereum)
|
||||
|
||||
|
||||
_code: default AbiCoder @lang<script>
|
||||
_subsection: Signatures @<migrate-signatures>
|
||||
|
||||
The Signature is now a class which facilitates all the parsing
|
||||
and serializing.
|
||||
|
||||
_code: signature manipulation
|
||||
// v5
|
||||
splitSig = splitSignature(sigBytes)
|
||||
sigBytes = joinSignature(splitSig)
|
||||
|
||||
// v6
|
||||
splitSig = ethers.Signature.from(sigBytes)
|
||||
sigBytes = ethers.Signature.from(splitSig).serialized
|
||||
|
||||
|
||||
_subsection: Transactions @<migrate-transactions>
|
||||
|
||||
The transaction helpers present in v5 were all wrapped into a
|
||||
[[Transaction]] class, which can handle any supported transaction
|
||||
format to be further processed
|
||||
|
||||
_code: parasing transactions @lang<script>
|
||||
|
||||
// v5
|
||||
tx = parseTransaction(txBytes)
|
||||
txBytes = serializeTransaction(tx)
|
||||
txBytes = serializeTransaction(tx, sig)
|
||||
|
||||
// v6
|
||||
tx = Transaction.from(txBytes)
|
||||
|
||||
// v6 (the tx can optionally include the signature)
|
||||
txBytes = Transaction.from(tx).serialized
|
||||
|
||||
|
||||
_subsection: Utilities @<migrate-utils>
|
||||
|
||||
_code: Bytes32 string helpers @lang<script>
|
||||
// In v5:
|
||||
bytes32 = ethers.utils.formatBytes32String(text)
|
||||
text = ethers.utils.parseBytes32String(bytes32)
|
||||
|
||||
// In v6:
|
||||
bytes32 = ethers.encodeBytes32String(text)
|
||||
text = ethers.decodeBytes32String(bytes32)
|
||||
|
||||
_code: constants @lang<script>
|
||||
// v5:
|
||||
ethers.constants.AddressZero
|
||||
ethers.constants.HashZero
|
||||
|
||||
// v6:
|
||||
ethers.ZeroAddress
|
||||
ethers.ZeroHash
|
||||
|
||||
_code: data manipulation @lang<script>
|
||||
// v5
|
||||
slice = ethers.utils.hexDataSlice(value, start, end)
|
||||
padded = ethers.utils.hexZeroPad(value, length)
|
||||
|
||||
// v5; converting numbers to hexstrings
|
||||
hex = hexlify(35)
|
||||
|
||||
// v6
|
||||
slice = ethers.dataSlice(value, start, end)
|
||||
padded = ethers.zeroPadValue(value, length)
|
||||
|
||||
// v6; converting numbers to hexstrings
|
||||
hex = toBeHex(35)
|
||||
|
||||
_code: defaultAbiCoder @lang<script>
|
||||
// In v5, it is a property of AbiCoder
|
||||
coder = AbiCoder.defaultAbiCoder
|
||||
|
||||
@@ -206,23 +295,27 @@ _code: default AbiCoder @lang<script>
|
||||
// instance is returned.
|
||||
coder = AbiCoder.defaultAbiCoder()
|
||||
|
||||
_code: getting a JSON-RPC quantity @lang<script>
|
||||
// In v5:
|
||||
hex = ethers.util.hexValue(value)
|
||||
_code: hex conversion @lang<script>
|
||||
// v5
|
||||
hex = ethers.utils.hexValue(value)
|
||||
array = ethers.utils.arrayify(value)
|
||||
|
||||
// In v6:
|
||||
// v6
|
||||
hex = ethers.toQuantity(value)
|
||||
array = ethers.getBytes(value)
|
||||
|
||||
_code: using Bytes32 strings @lang<script>
|
||||
// In v5:
|
||||
bytes32 = formatBytes32String(text)
|
||||
text = parseBytes32String(bytes32)
|
||||
_code: solidity non-standard packed @lang<script>
|
||||
// v5
|
||||
ethers.utils.solidityPack(types, values)
|
||||
|
||||
// In v6:
|
||||
bytes32 = encodeBytes32String(text)
|
||||
text = decodeBytes32String(bytes32)
|
||||
// v6
|
||||
ethers.solidityPacked(types, values)
|
||||
|
||||
_subsection: Removed Classes and functions
|
||||
|
||||
_subsection: Removed Classes and functions @<migrate-missing>
|
||||
|
||||
The **Logger** class has been replaced by
|
||||
[several Error utility functions](about-errors).
|
||||
|
||||
The ``checkProperties`` and ``shallowCopy`` have been
|
||||
removed in favor of using ``.map`` and ``Object.assign``.
|
||||
|
||||
@@ -189,11 +189,19 @@ describe("Test Provider Transaction operations", function () {
|
||||
assert_1.default.ok(receipt != null, "receipt != null");
|
||||
// Cloudflare doesn't return the root in legacy receipts; but it isn't
|
||||
// *actually* that important, so we'll give it a pass...
|
||||
if (providerName === "CloudflareProvider") {
|
||||
if (providerName === "CloudflareProvider" || providerName === "AnkrProvider" || providerName === "PocketProvider") {
|
||||
test = Object.assign({}, test, { root: undefined });
|
||||
}
|
||||
//if (providerName === "PocketProvider") {
|
||||
//}
|
||||
assertReceipt(receipt, test);
|
||||
};
|
||||
});
|
||||
forEach("test lookupAddress(addr) == null", blockchain_data_js_1.testReceipt, (providerName, test) => {
|
||||
return async (provider) => {
|
||||
const name = await provider.lookupAddress("0x0123456789012345678901234567890123456789");
|
||||
assert_1.default.ok(name == null, "name == null");
|
||||
};
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=test-providers-data.js.map
|
||||
File diff suppressed because one or more lines are too long
3
lib.commonjs/_version.d.ts
vendored
3
lib.commonjs/_version.d.ts
vendored
@@ -1 +1,4 @@
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
export declare const version: string;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
"use strict";
|
||||
/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.version = void 0;
|
||||
exports.version = "6.0.2";
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
exports.version = "6.0.4";
|
||||
//# sourceMappingURL=_version.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../src.ts/_version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAW,OAAO,CAAC"}
|
||||
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../src.ts/_version.ts"],"names":[],"mappings":";AAAA,mEAAmE;;;AAEnE;;GAEG;AACU,QAAA,OAAO,GAAW,OAAO,CAAC"}
|
||||
2
lib.commonjs/abi/abi-coder.d.ts
vendored
2
lib.commonjs/abi/abi-coder.d.ts
vendored
@@ -46,7 +46,7 @@ export declare class AbiCoder {
|
||||
*/
|
||||
static defaultAbiCoder(): AbiCoder;
|
||||
/**
|
||||
* Returns an ethers-compatible [[CALL_EXCEPTION]] Error for the given
|
||||
* Returns an ethers-compatible [[CallExceptionError]] Error for the given
|
||||
* result %%data%% for the [[CallExceptionAction]] %%action%% against
|
||||
* the Transaction %%tx%%.
|
||||
*/
|
||||
|
||||
@@ -52,7 +52,11 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message = "execution reverted";
|
||||
const bytes = (0, index_js_3.getBytes)(data);
|
||||
data = (0, index_js_3.hexlify)(data);
|
||||
if (bytes.length % 32 !== 4) {
|
||||
if (bytes.length === 0) {
|
||||
message += " (no data present; likely require(false) occurred";
|
||||
reason = "require(false)";
|
||||
}
|
||||
else if (bytes.length % 32 !== 4) {
|
||||
message += " (could not decode reason; invalid data length)";
|
||||
}
|
||||
else if ((0, index_js_3.hexlify)(bytes.slice(0, 4)) === "0x08c379a0") {
|
||||
@@ -67,8 +71,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${JSON.stringify(reason)}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode reason; invalid data)";
|
||||
message += " (could not decode reason; invalid string data)";
|
||||
}
|
||||
}
|
||||
else if ((0, index_js_3.hexlify)(bytes.slice(0, 4)) === "0x4e487b71") {
|
||||
@@ -84,8 +87,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${reason}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode panic reason)";
|
||||
message += " (could not decode panic code)";
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -190,7 +192,7 @@ class AbiCoder {
|
||||
return defaultCoder;
|
||||
}
|
||||
/**
|
||||
* Returns an ethers-compatible [[CALL_EXCEPTION]] Error for the given
|
||||
* Returns an ethers-compatible [[CallExceptionError]] Error for the given
|
||||
* result %%data%% for the [[CallExceptionAction]] %%action%% against
|
||||
* the Transaction %%tx%%.
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
11
lib.commonjs/abi/fragments.d.ts
vendored
11
lib.commonjs/abi/fragments.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* About frgaments...
|
||||
*
|
||||
* @_subsection api/abi/abi-coder:Fragments
|
||||
* @_subsection api/abi/abi-coder:Fragments [about-fragments]
|
||||
*/
|
||||
/**
|
||||
* A type description in a JSON API.
|
||||
@@ -104,26 +104,25 @@ export declare class ParamType {
|
||||
/**
|
||||
* True if the parameters is indexed.
|
||||
*
|
||||
* For non-indexable types (see [[ParamType_isIndexable]]) this
|
||||
* is ``null``.
|
||||
* For non-indexable types this is ``null``.
|
||||
*/
|
||||
readonly indexed: null | boolean;
|
||||
/**
|
||||
* The components for the tuple.
|
||||
*
|
||||
* For non-tuple types (see [[ParamType_isTuple]]) this is ``null``.
|
||||
* For non-tuple types this is ``null``.
|
||||
*/
|
||||
readonly components: null | ReadonlyArray<ParamType>;
|
||||
/**
|
||||
* The array length, or ``-1`` for dynamic-lengthed arrays.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
readonly arrayLength: null | number;
|
||||
/**
|
||||
* The type of each child in the array.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
readonly arrayChildren: null | ParamType;
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* About frgaments...
|
||||
*
|
||||
* @_subsection api/abi/abi-coder:Fragments
|
||||
* @_subsection api/abi/abi-coder:Fragments [about-fragments]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.StructFragment = exports.FunctionFragment = exports.FallbackFragment = exports.ConstructorFragment = exports.EventFragment = exports.ErrorFragment = exports.NamedFragment = exports.Fragment = exports.ParamType = void 0;
|
||||
@@ -358,26 +358,25 @@ class ParamType {
|
||||
/**
|
||||
* True if the parameters is indexed.
|
||||
*
|
||||
* For non-indexable types (see [[ParamType_isIndexable]]) this
|
||||
* is ``null``.
|
||||
* For non-indexable types this is ``null``.
|
||||
*/
|
||||
indexed;
|
||||
/**
|
||||
* The components for the tuple.
|
||||
*
|
||||
* For non-tuple types (see [[ParamType_isTuple]]) this is ``null``.
|
||||
* For non-tuple types this is ``null``.
|
||||
*/
|
||||
components;
|
||||
/**
|
||||
* The array length, or ``-1`` for dynamic-lengthed arrays.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayLength;
|
||||
/**
|
||||
* The type of each child in the array.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayChildren;
|
||||
/**
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/abi/index.d.ts
vendored
2
lib.commonjs/abi/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Explain about ABI here...
|
||||
*
|
||||
* @_section api/abi:Application Binary Interface [abi]
|
||||
* @_section api/abi:Application Binary Interface [about-abi]
|
||||
* @_navTitle: ABI
|
||||
*/
|
||||
export { AbiCoder } from "./abi-coder.js";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Explain about ABI here...
|
||||
*
|
||||
* @_section api/abi:Application Binary Interface [abi]
|
||||
* @_section api/abi:Application Binary Interface [about-abi]
|
||||
* @_navTitle: ABI
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
|
||||
4
lib.commonjs/abi/interface.d.ts
vendored
4
lib.commonjs/abi/interface.d.ts
vendored
@@ -160,7 +160,7 @@ export declare class Interface {
|
||||
* specified error (see [[getError]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
@@ -194,7 +194,7 @@ export declare class Interface {
|
||||
* specified function (see [[getFunction]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
|
||||
@@ -570,7 +570,7 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
* specified error (see [[getError]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
@@ -640,7 +640,7 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
* specified function (see [[getFunction]] for valid values for
|
||||
* %%key%%).
|
||||
*
|
||||
* Most developers should prefer the [[parseResult]] method instead,
|
||||
* Most developers should prefer the [[parseCallResult]] method instead,
|
||||
* which will automatically detect a ``CALL_EXCEPTION`` and throw the
|
||||
* corresponding error.
|
||||
*/
|
||||
@@ -670,16 +670,15 @@ getSelector(fragment: ErrorFragment | FunctionFragment): string {
|
||||
const data = (0, index_js_3.getBytes)(_data, "data");
|
||||
const error = abi_coder_js_1.AbiCoder.getBuiltinCallException("call", tx, data);
|
||||
// Not a built-in error; try finding a custom error
|
||||
if (!error.message.match(/could not decode/)) {
|
||||
const customPrefix = "execution reverted (unknown custom error)";
|
||||
if (error.message.startsWith(customPrefix)) {
|
||||
const selector = (0, index_js_3.hexlify)(data.slice(0, 4));
|
||||
error.message = "execution reverted (unknown custom error)";
|
||||
const ef = this.getError(selector);
|
||||
if (ef) {
|
||||
try {
|
||||
const args = this.#abiCoder.decode(ef.inputs, data.slice(4));
|
||||
error.revert = {
|
||||
name: ef.name,
|
||||
signature: ef.format(),
|
||||
args: this.#abiCoder.decode(ef.inputs, data.slice(4))
|
||||
name: ef.name, signature: ef.format(), args
|
||||
};
|
||||
error.reason = error.revert.signature;
|
||||
error.message = `execution reverted: ${error.reason}`;
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/address/index.d.ts
vendored
2
lib.commonjs/address/index.d.ts
vendored
@@ -10,7 +10,7 @@
|
||||
* These functions help convert between various formats, validate
|
||||
* addresses and safely resolve ENS names.
|
||||
*
|
||||
* @_section: api/address:Addresses [addresses]
|
||||
* @_section: api/address:Addresses [about-addresses]
|
||||
*/
|
||||
/**
|
||||
* An interface for objects which have an address, and can
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* These functions help convert between various formats, validate
|
||||
* addresses and safely resolve ENS names.
|
||||
*
|
||||
* @_section: api/address:Addresses [addresses]
|
||||
* @_section: api/address:Addresses [about-addresses]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveAddress = exports.isAddress = exports.isAddressable = exports.getCreate2Address = exports.getCreateAddress = exports.getIcapAddress = exports.getAddress = void 0;
|
||||
|
||||
2
lib.commonjs/constants/index.d.ts
vendored
2
lib.commonjs/constants/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Some common constants useful for Ethereum.
|
||||
*
|
||||
* @_section: api/constants: Constants [constants]
|
||||
* @_section: api/constants: Constants [about-constants]
|
||||
*/
|
||||
export { ZeroAddress } from "./addresses.js";
|
||||
export { ZeroHash } from "./hashes.js";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Some common constants useful for Ethereum.
|
||||
*
|
||||
* @_section: api/constants: Constants [constants]
|
||||
* @_section: api/constants: Constants [about-constants]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MessagePrefix = exports.EtherSymbol = exports.MaxInt256 = exports.MinInt256 = exports.MaxUint256 = exports.WeiPerEther = exports.N = exports.ZeroHash = exports.ZeroAddress = void 0;
|
||||
|
||||
@@ -457,7 +457,7 @@ async function _emit(contract, event, args, payloadFunc) {
|
||||
}
|
||||
const count = sub.listeners.length;
|
||||
sub.listeners = sub.listeners.filter(({ listener, once }) => {
|
||||
const passArgs = args.slice();
|
||||
const passArgs = Array.from(args);
|
||||
if (payloadFunc) {
|
||||
passArgs.push(payloadFunc(once ? null : listener));
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/contract/index.d.ts
vendored
2
lib.commonjs/contract/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* About contracts...
|
||||
*
|
||||
* @_section: api/contract:Contracts [contracts]
|
||||
* @_section: api/contract:Contracts [about-contracts]
|
||||
*/
|
||||
export { BaseContract, Contract } from "./contract.js";
|
||||
export { ContractFactory } from "./factory.js";
|
||||
|
||||
@@ -4,7 +4,7 @@ exports.EventLog = exports.ContractTransactionResponse = exports.ContractTransac
|
||||
/**
|
||||
* About contracts...
|
||||
*
|
||||
* @_section: api/contract:Contracts [contracts]
|
||||
* @_section: api/contract:Contracts [about-contracts]
|
||||
*/
|
||||
var contract_js_1 = require("./contract.js");
|
||||
Object.defineProperty(exports, "BaseContract", { enumerable: true, get: function () { return contract_js_1.BaseContract; } });
|
||||
|
||||
2
lib.commonjs/crypto/index.d.ts
vendored
2
lib.commonjs/crypto/index.d.ts
vendored
@@ -2,7 +2,7 @@
|
||||
* A fundamental building block of Ethereum is the underlying
|
||||
* cryptographic primitives.
|
||||
*
|
||||
* @_section: api/crypto:Cryptographic Functions [crypto]
|
||||
* @_section: api/crypto:Cryptographic Functions [about-crypto]
|
||||
*/
|
||||
import { computeHmac } from "./hmac.js";
|
||||
import { keccak256 } from "./keccak.js";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* A fundamental building block of Ethereum is the underlying
|
||||
* cryptographic primitives.
|
||||
*
|
||||
* @_section: api/crypto:Cryptographic Functions [crypto]
|
||||
* @_section: api/crypto:Cryptographic Functions [about-crypto]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.lock = exports.Signature = exports.SigningKey = exports.scryptSync = exports.scrypt = exports.pbkdf2 = exports.sha512 = exports.sha256 = exports.ripemd160 = exports.keccak256 = exports.randomBytes = exports.computeHmac = void 0;
|
||||
|
||||
2
lib.commonjs/crypto/scrypt.d.ts
vendored
2
lib.commonjs/crypto/scrypt.d.ts
vendored
@@ -4,6 +4,8 @@ import type { BytesLike } from "../utils/index.js";
|
||||
* UI or provide programatic access to the progress.
|
||||
*
|
||||
* The %%percent%% is a value between ``0`` and ``1``.
|
||||
*
|
||||
* @_docloc: api/crypto:Passwords
|
||||
*/
|
||||
export type ProgressCallback = (percent: number) => void;
|
||||
/**
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"scrypt.js","sourceRoot":"","sources":["../../src.ts/crypto/scrypt.ts"],"names":[],"mappings":";;;AAAA,iDAAwF;AAExF,gDAA2D;AAa3D,IAAI,UAAU,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC;AAE5C,MAAM,YAAY,GAAG,KAAK,WAAU,MAAkB,EAAE,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,UAA6B;IACnJ,OAAO,MAAM,IAAA,oBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAA;AACD,MAAM,WAAW,GAAG,UAAS,MAAkB,EAAE,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa;IAC7G,OAAO,IAAA,eAAU,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,CAAC,CAAA;AAED,IAAI,aAAa,GAAgJ,YAAY,CAAC;AAC9K,IAAI,YAAY,GAAwG,WAAW,CAAA;AAGnI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,KAAK,UAAU,MAAM,CAAC,OAAkB,EAAE,KAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,QAA2B;IAC1I,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,IAAA,kBAAC,EAAC,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,CAAC;AAJD,wBAIC;AACD,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC;AACxB,MAAM,CAAC,IAAI,GAAG,cAAmB,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACtD,MAAM,CAAC,QAAQ,GAAG,UAAS,IAA+I;IACtK,IAAI,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KAAE;IACzD,aAAa,GAAG,IAAI,CAAC;AACzB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,UAAU,CAAC,OAAkB,EAAE,KAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa;IAC3G,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,IAAA,kBAAC,EAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAJD,gCAIC;AACD,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC;AAC3B,UAAU,CAAC,IAAI,GAAG,cAAmB,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACzD,UAAU,CAAC,QAAQ,GAAG,UAAS,IAAyG;IACpI,IAAI,UAAU,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KAAE;IAC5D,YAAY,GAAG,IAAI,CAAC;AACxB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
||||
{"version":3,"file":"scrypt.js","sourceRoot":"","sources":["../../src.ts/crypto/scrypt.ts"],"names":[],"mappings":";;;AAAA,iDAAwF;AAExF,gDAA2D;AAe3D,IAAI,UAAU,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,CAAC;AAE5C,MAAM,YAAY,GAAG,KAAK,WAAU,MAAkB,EAAE,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,UAA6B;IACnJ,OAAO,MAAM,IAAA,oBAAW,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAC3E,CAAC,CAAA;AACD,MAAM,WAAW,GAAG,UAAS,MAAkB,EAAE,IAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa;IAC7G,OAAO,IAAA,eAAU,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,CAAC,CAAA;AAED,IAAI,aAAa,GAAgJ,YAAY,CAAC;AAC9K,IAAI,YAAY,GAAwG,WAAW,CAAA;AAGnI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACI,KAAK,UAAU,MAAM,CAAC,OAAkB,EAAE,KAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,QAA2B;IAC1I,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,IAAA,kBAAC,EAAC,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1E,CAAC;AAJD,wBAIC;AACD,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC;AACxB,MAAM,CAAC,IAAI,GAAG,cAAmB,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACtD,MAAM,CAAC,QAAQ,GAAG,UAAS,IAA+I;IACtK,IAAI,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KAAE;IACzD,aAAa,GAAG,IAAI,CAAC;AACzB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,UAAU,CAAC,OAAkB,EAAE,KAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,KAAa;IAC3G,MAAM,MAAM,GAAG,IAAA,mBAAQ,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAA,mBAAQ,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,IAAA,kBAAC,EAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAJD,gCAIC;AACD,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC;AAC3B,UAAU,CAAC,IAAI,GAAG,cAAmB,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACzD,UAAU,CAAC,QAAQ,GAAG,UAAS,IAAyG;IACpI,IAAI,UAAU,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KAAE;IAC5D,YAAY,GAAG,IAAI,CAAC;AACxB,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
||||
8
lib.commonjs/crypto/signature.d.ts
vendored
8
lib.commonjs/crypto/signature.d.ts
vendored
@@ -1,4 +1,9 @@
|
||||
import type { BigNumberish, BytesLike } from "../utils/index.js";
|
||||
/**
|
||||
* A SignatureLike
|
||||
*
|
||||
* @_docloc: api/crypto:Signing
|
||||
*/
|
||||
export type SignatureLike = Signature | string | {
|
||||
r: string;
|
||||
s: string;
|
||||
@@ -20,6 +25,9 @@ export type SignatureLike = Signature | string | {
|
||||
};
|
||||
/**
|
||||
* A Signature @TODO
|
||||
*
|
||||
*
|
||||
* @_docloc: api/crypto:Signing
|
||||
*/
|
||||
export declare class Signature {
|
||||
#private;
|
||||
|
||||
@@ -16,6 +16,9 @@ function toUint256(value) {
|
||||
}
|
||||
/**
|
||||
* A Signature @TODO
|
||||
*
|
||||
*
|
||||
* @_docloc: api/crypto:Signing
|
||||
*/
|
||||
class Signature {
|
||||
#r;
|
||||
|
||||
File diff suppressed because one or more lines are too long
5
lib.commonjs/crypto/signing-key.d.ts
vendored
5
lib.commonjs/crypto/signing-key.d.ts
vendored
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* Add details about signing here.
|
||||
*
|
||||
* @_subsection: api/crypto:Signing [about-signing]
|
||||
*/
|
||||
import { Signature } from "./signature.js";
|
||||
import type { BytesLike } from "../utils/index.js";
|
||||
import type { SignatureLike } from "./index.js";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
"use strict";
|
||||
/**
|
||||
* Add details about signing here.
|
||||
*
|
||||
* @_subsection: api/crypto:Signing [about-signing]
|
||||
*/
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"signing-key.js","sourceRoot":"","sources":["../../src.ts/crypto/signing-key.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4DAA8C;AAE9C,gDAG2B;AAE3B,uCAAwC;AACxC,iDAA2C;AAO3C,yFAAyF;AAEzF,4BAA4B;AAC5B,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,UAAS,GAAe,EAAE,GAAG,QAA2B;IACrF,OAAO,IAAA,mBAAQ,EAAC,IAAA,qBAAW,EAAC,QAAQ,EAAE,GAAG,EAAE,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAA;AAED;;;GAGG;AACH,MAAa,UAAU;IACnB,WAAW,CAAS;IAEpB;;OAEG;IACH,YAAY,UAAqB;QAC7B,IAAA,yBAAc,EAAC,IAAA,qBAAU,EAAC,UAAU,CAAC,KAAK,EAAE,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,WAAW,GAAG,IAAA,kBAAO,EAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAErD;;;;;OAKG;IACH,IAAI,SAAS,KAAa,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEjF;;;;;;OAMG;IACH,IAAI,mBAAmB,KAAa,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjG;;OAEG;IACH,IAAI,CAAC,MAAiB;QAClB,IAAA,yBAAc,EAAC,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErF,MAAM,CAAE,MAAM,EAAE,KAAK,CAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAA,uBAAY,EAAC,MAAM,CAAC,EAAE,IAAA,uBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC/F,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,wBAAS,CAAC,IAAI,CAAC;YAClB,CAAC,EAAE,IAAA,kBAAO,EAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,CAAC,EAAE,IAAA,kBAAO,EAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mBAAmB,CAAC,KAAgB;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,IAAA,kBAAO,EAAC,SAAS,CAAC,eAAe,CAAC,IAAA,uBAAY,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAA,mBAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAc,EAAE,UAAoB;QACxD,IAAI,KAAK,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjC,cAAc;QACd,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAC3D,OAAO,IAAA,kBAAO,EAAC,MAAM,CAAC,CAAC;SAC1B;QAED,wDAAwD;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;YAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACd,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClB,KAAK,GAAG,GAAG,CAAC;SACf;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAA,kBAAO,EAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAiB,EAAE,SAAwB;QAC/D,IAAA,yBAAc,EAAC,IAAA,qBAAU,EAAC,MAAM,CAAC,KAAK,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErF,MAAM,GAAG,GAAG,wBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAA,uBAAY,EAAC,IAAA,iBAAM,EAAC,CAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAEpG,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAA,uBAAY,EAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,MAAM,IAAI,IAAI,EAAE;YAAE,OAAO,IAAA,kBAAO,EAAC,MAAM,CAAC,CAAC;SAAE;QAE/C,IAAA,yBAAc,EAAC,KAAK,EAAE,8BAA8B,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,SAAS,CAAC,EAAa,EAAE,EAAa,EAAE,UAAoB;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACpD,CAAC;CACJ;AA3KD,gCA2KC"}
|
||||
{"version":3,"file":"signing-key.js","sourceRoot":"","sources":["../../src.ts/crypto/signing-key.ts"],"names":[],"mappings":"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"}
|
||||
2
lib.commonjs/hash/index.d.ts
vendored
2
lib.commonjs/hash/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* About hashing here...
|
||||
*
|
||||
* @_section: api/hashing:Hashing Utilities [hashing]
|
||||
* @_section: api/hashing:Hashing Utilities [about-hashing]
|
||||
*/
|
||||
export { id } from "./id.js";
|
||||
export { ensNormalize, isValidName, namehash, dnsEncode } from "./namehash.js";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* About hashing here...
|
||||
*
|
||||
* @_section: api/hashing:Hashing Utilities [hashing]
|
||||
* @_section: api/hashing:Hashing Utilities [about-hashing]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TypedDataEncoder = exports.solidityPackedSha256 = exports.solidityPackedKeccak256 = exports.solidityPacked = exports.verifyMessage = exports.hashMessage = exports.dnsEncode = exports.namehash = exports.isValidName = exports.ensNormalize = exports.id = void 0;
|
||||
|
||||
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.dnsEncode = exports.namehash = exports.isValidName = exports.ensNormalize = void 0;
|
||||
const index_js_1 = require("../crypto/index.js");
|
||||
const index_js_2 = require("../utils/index.js");
|
||||
const xnf_1 = require("@adraffy/ens-normalize/xnf");
|
||||
const ens_normalize_1 = require("@adraffy/ens-normalize");
|
||||
const Zeros = new Uint8Array(32);
|
||||
Zeros.fill(0);
|
||||
function checkComponent(comp) {
|
||||
@@ -35,7 +35,7 @@ function ensNameSplit(name) {
|
||||
*/
|
||||
function ensNormalize(name) {
|
||||
try {
|
||||
return (0, xnf_1.ens_normalize)(name);
|
||||
return (0, ens_normalize_1.ens_normalize)(name);
|
||||
}
|
||||
catch (error) {
|
||||
(0, index_js_2.assertArgument)(false, `invalid ENS name (${error.message})`, "name", name);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"namehash.js","sourceRoot":"","sources":["../../src.ts/hash/namehash.ts"],"names":[],"mappings":";;;AACA,iDAA+C;AAC/C,gDAE2B;AAG3B,oDAA2D;AAE3D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;AACjC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEd,SAAS,cAAc,CAAC,IAAgB;IACpC,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,mCAAmC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACpF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,MAAM,KAAK,GAAG,IAAA,sBAAW,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAsB,EAAG,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;KAAE;IAExC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEnB,8CAA8C;QAC9C,IAAI,CAAC,KAAK,IAAI,EAAE;YACZ,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;SAChB;KACJ;IAED,qDAAqD;IACrD,IAAA,yBAAc,EAAC,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEvF,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY;IACrC,IAAI;QACA,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC;KAC9B;IAAC,OAAO,KAAU,EAAE;QACjB,IAAA,yBAAc,EAAC,KAAK,EAAE,qBAAsB,KAAK,CAAC,OAAQ,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KAChF;AACL,CAAC;AAND,oCAMC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAY;IACpC,IAAI;QACA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;KAC5C;IAAC,OAAO,KAAK,EAAE,GAAG;IACnB,OAAO,KAAK,CAAC;AACjB,CAAC;AALD,kCAKC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACjC,IAAA,yBAAc,EAAC,OAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,gCAAgC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1F,IAAI,MAAM,GAAwB,KAAK,CAAC;IAExC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,EAAE;QACjB,MAAM,GAAG,IAAA,oBAAS,EAAC,IAAA,iBAAM,EAAC,CAAE,MAAM,EAAE,IAAA,oBAAS,EAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;KAChF;IAED,OAAO,IAAA,kBAAO,EAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAXD,4BAWC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,IAAY;IAClC,OAAO,IAAA,kBAAO,EAAC,IAAA,iBAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACzE;QAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IAEjB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAChB,CAAC;AAbD,8BAaC"}
|
||||
{"version":3,"file":"namehash.js","sourceRoot":"","sources":["../../src.ts/hash/namehash.ts"],"names":[],"mappings":"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"}
|
||||
@@ -733,14 +733,23 @@ class AbstractProvider {
|
||||
"function name(bytes32) view returns (string)"
|
||||
], this);
|
||||
const name = await resolverContract.name(node);
|
||||
// Failed forward resolution
|
||||
const check = await this.resolveName(name);
|
||||
if (check !== address) {
|
||||
console.log("FAIL", address, check);
|
||||
return null;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
catch (error) {
|
||||
console.log("TEMP", error);
|
||||
// No data was returned from the resolver
|
||||
if ((0, index_js_6.isError)(error, "BAD_DATA") && error.value === "0x") {
|
||||
return null;
|
||||
}
|
||||
// Something reerted
|
||||
if ((0, index_js_6.isError)(error, "CALL_EXCEPTION")) {
|
||||
return null;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -161,7 +161,7 @@ const _formatTransactionReceipt = object({
|
||||
cumulativeGasUsed: index_js_4.getBigInt,
|
||||
effectiveGasPrice: allowNull(index_js_4.getBigInt),
|
||||
status: allowNull(index_js_4.getNumber),
|
||||
type: index_js_4.getNumber
|
||||
type: allowNull(index_js_4.getNumber, 0)
|
||||
}, {
|
||||
effectiveGasPrice: ["gasPrice"],
|
||||
hash: ["transactionHash"],
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/providers/index.d.ts
vendored
2
lib.commonjs/providers/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* About providers.
|
||||
*
|
||||
* @_section: api/providers:Providers [providers]
|
||||
* @_section: api/providers:Providers [about-providers]
|
||||
*/
|
||||
export { AbstractProvider, UnmanagedSubscriber } from "./abstract-provider.js";
|
||||
export { AbstractSigner, VoidSigner, } from "./abstract-signer.js";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* About providers.
|
||||
*
|
||||
* @_section: api/providers:Providers [providers]
|
||||
* @_section: api/providers:Providers [about-providers]
|
||||
*/
|
||||
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.FeeDataNetworkPlugin = exports.EnsPlugin = exports.GasCostPlugin = exports.NetworkPlugin = exports.NonceManager = exports.Network = exports.EnsResolver = exports.getDefaultProvider = exports.showThrottleMessage = exports.VoidSigner = exports.AbstractSigner = exports.UnmanagedSubscriber = exports.AbstractProvider = void 0;
|
||||
|
||||
@@ -138,7 +138,7 @@ function getMedian(quorum, results) {
|
||||
}
|
||||
// Get the sorted values
|
||||
values.sort((a, b) => ((a < b) ? -1 : (b > a) ? 1 : 0));
|
||||
const mid = values.length / 2;
|
||||
const mid = Math.floor(values.length / 2);
|
||||
// Odd-length; take the middle value
|
||||
if (values.length % 2) {
|
||||
return values[mid];
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -18,6 +18,7 @@ const abstract_provider_js_1 = require("./abstract-provider.js");
|
||||
const abstract_signer_js_1 = require("./abstract-signer.js");
|
||||
const network_js_1 = require("./network.js");
|
||||
const subscriber_filterid_js_1 = require("./subscriber-filterid.js");
|
||||
const subscriber_polling_js_1 = require("./subscriber-polling.js");
|
||||
const Primitive = "bigint,boolean,function,number,string,symbol".split(/,/g);
|
||||
//const Methods = "getAddress,then".split(/,/g);
|
||||
function deepCopy(value) {
|
||||
@@ -423,6 +424,9 @@ class JsonRpcApiProvider extends abstract_provider_js_1.AbstractProvider {
|
||||
return new subscriber_filterid_js_1.FilterIdPendingSubscriber(this);
|
||||
}
|
||||
if (sub.type === "event") {
|
||||
if (this._getOption("polling")) {
|
||||
return new subscriber_polling_js_1.PollingEventSubscriber(this, sub.filter);
|
||||
}
|
||||
return new subscriber_filterid_js_1.FilterIdEventSubscriber(this, sub.filter);
|
||||
}
|
||||
// Orphaned Logs are handled automatically, by the filter, since
|
||||
@@ -578,74 +582,6 @@ class JsonRpcApiProvider extends abstract_provider_js_1.AbstractProvider {
|
||||
const e = index_js_1.AbiCoder.getBuiltinCallException((method === "eth_call") ? "call" : "estimateGas", (payload.params[0]), (result ? result.data : null));
|
||||
e.info = { error, payload };
|
||||
return e;
|
||||
/*
|
||||
let message = "missing revert data during JSON-RPC call";
|
||||
|
||||
const action = <"call" | "estimateGas" | "unknown">(({ eth_call: "call", eth_estimateGas: "estimateGas" })[method] || "unknown");
|
||||
let data: null | string = null;
|
||||
let reason: null | string = null;
|
||||
const transaction = <{ from: string, to: string, data: string }>((<any>payload).params[0]);
|
||||
const invocation = null;
|
||||
let revert: null | { signature: string, name: string, args: Array<any> } = null;
|
||||
|
||||
if (result) {
|
||||
// @TODO: Extract errorSignature, errorName, errorArgs, reason if
|
||||
// it is Error(string) or Panic(uint25)
|
||||
message = "execution reverted during JSON-RPC call";
|
||||
data = result.data;
|
||||
|
||||
let bytes = getBytes(data);
|
||||
if (bytes.length % 32 !== 4) {
|
||||
message += " (could not parse reason; invalid data length)";
|
||||
|
||||
} else if (data.substring(0, 10) === "0x08c379a0") {
|
||||
// Error(string)
|
||||
try {
|
||||
if (bytes.length < 68) { throw new Error("bad length"); }
|
||||
bytes = bytes.slice(4);
|
||||
const pointer = getNumber(hexlify(bytes.slice(0, 32)));
|
||||
bytes = bytes.slice(pointer);
|
||||
if (bytes.length < 32) { throw new Error("overrun"); }
|
||||
const length = getNumber(hexlify(bytes.slice(0, 32)));
|
||||
bytes = bytes.slice(32);
|
||||
if (bytes.length < length) { throw new Error("overrun"); }
|
||||
reason = toUtf8String(bytes.slice(0, length));
|
||||
revert = {
|
||||
signature: "Error(string)",
|
||||
name: "Error",
|
||||
args: [ reason ]
|
||||
};
|
||||
message += `: ${ JSON.stringify(reason) }`;
|
||||
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not parse reason; invalid data length)";
|
||||
}
|
||||
|
||||
} else if (data.substring(0, 10) === "0x4e487b71") {
|
||||
// Panic(uint256)
|
||||
try {
|
||||
if (bytes.length !== 36) { throw new Error("bad length"); }
|
||||
const arg = getNumber(hexlify(bytes.slice(4)));
|
||||
revert = {
|
||||
signature: "Panic(uint256)",
|
||||
name: "Panic",
|
||||
args: [ arg ]
|
||||
};
|
||||
reason = `Panic due to ${ PanicReasons.get(Number(arg)) || "UNKNOWN" }(${ arg })`;
|
||||
message += `: ${ reason }`;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not parse panic reason)";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return makeError(message, "CALL_EXCEPTION", {
|
||||
action, data, reason, transaction, invocation, revert,
|
||||
info: { payload, error }
|
||||
});
|
||||
*/
|
||||
}
|
||||
// Only estimateGas and call can return arbitrary contract-defined text, so now we
|
||||
// we can process text safely.
|
||||
@@ -670,7 +606,7 @@ class JsonRpcApiProvider extends abstract_provider_js_1.AbstractProvider {
|
||||
const transaction = (payload.params[0]);
|
||||
if (message.match(/insufficient funds|base fee exceeds gas limit/i)) {
|
||||
return (0, index_js_5.makeError)("insufficient funds for intrinsic transaction cost", "INSUFFICIENT_FUNDS", {
|
||||
transaction
|
||||
transaction, info: { error }
|
||||
});
|
||||
}
|
||||
if (message.match(/nonce/i) && message.match(/too low/i)) {
|
||||
@@ -688,7 +624,7 @@ class JsonRpcApiProvider extends abstract_provider_js_1.AbstractProvider {
|
||||
}
|
||||
if (message.match(/the method .* does not exist/i)) {
|
||||
return (0, index_js_5.makeError)("unsupported operation", "UNSUPPORTED_OPERATION", {
|
||||
operation: payload.method
|
||||
operation: payload.method, info: { error }
|
||||
});
|
||||
}
|
||||
return (0, index_js_5.makeError)("could not coalesce error", "UNKNOWN_ERROR", { error });
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,7 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.FilterIdPendingSubscriber = exports.FilterIdEventSubscriber = exports.FilterIdSubscriber = void 0;
|
||||
const index_js_1 = require("../utils/index.js");
|
||||
const subscriber_polling_js_1 = require("./subscriber-polling.js");
|
||||
function copy(obj) {
|
||||
return JSON.parse(JSON.stringify(obj));
|
||||
@@ -41,11 +42,24 @@ class FilterIdSubscriber {
|
||||
}
|
||||
async #poll(blockNumber) {
|
||||
try {
|
||||
// Subscribe if necessary
|
||||
if (this.#filterIdPromise == null) {
|
||||
this.#filterIdPromise = this._subscribe(this.#provider);
|
||||
}
|
||||
const filterId = await this.#filterIdPromise;
|
||||
// Get the Filter ID
|
||||
let filterId = null;
|
||||
try {
|
||||
filterId = await this.#filterIdPromise;
|
||||
}
|
||||
catch (error) {
|
||||
if (!(0, index_js_1.isError)(error, "UNSUPPORTED_OPERATION") || error.operation !== "eth_newFilter") {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// The backend does not support Filter ID; downgrade to
|
||||
// polling
|
||||
if (filterId == null) {
|
||||
this.#filterIdPromise = null;
|
||||
this.#provider._recoverSubscriber(this, this._recover(this.#provider));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"subscriber-filterid.js","sourceRoot":"","sources":["../../src.ts/providers/subscriber-filterid.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"subscriber-filterid.js","sourceRoot":"","sources":["../../src.ts/providers/subscriber-filterid.ts"],"names":[],"mappings":"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"}
|
||||
2
lib.commonjs/transaction/index.d.ts
vendored
2
lib.commonjs/transaction/index.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Transactions..
|
||||
*
|
||||
* @_section api/transaction:Transactions [transactions]
|
||||
* @_section api/transaction:Transactions [about-transactions]
|
||||
*/
|
||||
/**
|
||||
* A single [[AccessList]] entry of storage keys (slots) for an address.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Transactions..
|
||||
*
|
||||
* @_section api/transaction:Transactions [transactions]
|
||||
* @_section api/transaction:Transactions [about-transactions]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Transaction = exports.recoverAddress = exports.computeAddress = exports.accessListify = void 0;
|
||||
|
||||
30
lib.commonjs/utils/base64.d.ts
vendored
30
lib.commonjs/utils/base64.d.ts
vendored
@@ -1,9 +1,39 @@
|
||||
import type { BytesLike } from "./data.js";
|
||||
/**
|
||||
* Decodes the base-64 encoded %%value%%.
|
||||
*
|
||||
* @example:
|
||||
* // The decoded value is always binary data...
|
||||
* result = decodeBase64("SGVsbG8gV29ybGQhIQ==")
|
||||
* //_result:
|
||||
*
|
||||
* // ...use toUtf8String to convert it to a string.
|
||||
* toUtf8String(result)
|
||||
* //_result:
|
||||
*
|
||||
* // Decoding binary data
|
||||
* decodeBase64("EjQ=")
|
||||
* //_result:
|
||||
*/
|
||||
export declare function decodeBase64(value: string): Uint8Array;
|
||||
/**
|
||||
* Encodes %%data%% as a base-64 encoded string.
|
||||
*
|
||||
* @example:
|
||||
* // Encoding binary data as a hexstring
|
||||
* encodeBase64("0x1234")
|
||||
* //_result:
|
||||
*
|
||||
* // Encoding binary data as a Uint8Array
|
||||
* encodeBase64(new Uint8Array([ 0x12, 0x34 ]))
|
||||
* //_result:
|
||||
*
|
||||
* // The input MUST be data...
|
||||
* encodeBase64("Hello World!!")
|
||||
* //_error:
|
||||
*
|
||||
* // ...use toUtf8Bytes for this.
|
||||
* encodeBase64(toUtf8Bytes("Hello World!!"))
|
||||
* //_result:
|
||||
*/
|
||||
export declare function encodeBase64(data: BytesLike): string;
|
||||
|
||||
@@ -12,6 +12,19 @@ exports.encodeBase64 = exports.decodeBase64 = void 0;
|
||||
const data_js_1 = require("./data.js");
|
||||
/**
|
||||
* Decodes the base-64 encoded %%value%%.
|
||||
*
|
||||
* @example:
|
||||
* // The decoded value is always binary data...
|
||||
* result = decodeBase64("SGVsbG8gV29ybGQhIQ==")
|
||||
* //_result:
|
||||
*
|
||||
* // ...use toUtf8String to convert it to a string.
|
||||
* toUtf8String(result)
|
||||
* //_result:
|
||||
*
|
||||
* // Decoding binary data
|
||||
* decodeBase64("EjQ=")
|
||||
* //_result:
|
||||
*/
|
||||
function decodeBase64(value) {
|
||||
return (0, data_js_1.getBytesCopy)(Buffer.from(value, "base64"));
|
||||
@@ -20,6 +33,23 @@ exports.decodeBase64 = decodeBase64;
|
||||
;
|
||||
/**
|
||||
* Encodes %%data%% as a base-64 encoded string.
|
||||
*
|
||||
* @example:
|
||||
* // Encoding binary data as a hexstring
|
||||
* encodeBase64("0x1234")
|
||||
* //_result:
|
||||
*
|
||||
* // Encoding binary data as a Uint8Array
|
||||
* encodeBase64(new Uint8Array([ 0x12, 0x34 ]))
|
||||
* //_result:
|
||||
*
|
||||
* // The input MUST be data...
|
||||
* encodeBase64("Hello World!!")
|
||||
* //_error:
|
||||
*
|
||||
* // ...use toUtf8Bytes for this.
|
||||
* encodeBase64(toUtf8Bytes("Hello World!!"))
|
||||
* //_result:
|
||||
*/
|
||||
function encodeBase64(data) {
|
||||
return Buffer.from((0, data_js_1.getBytes)(data)).toString("base64");
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src.ts/utils/base64.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,uCAAmD;AAKnD;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,oCAEC;AAAA,CAAC;AAEF;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAe;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAFD,oCAEC"}
|
||||
{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src.ts/utils/base64.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,uCAAmD;AAKnD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,IAAA,sBAAY,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC;AAFD,oCAEC;AAAA,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,YAAY,CAAC,IAAe;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAFD,oCAEC"}
|
||||
4
lib.commonjs/utils/data.d.ts
vendored
4
lib.commonjs/utils/data.d.ts
vendored
@@ -72,7 +72,7 @@ export declare function stripZerosLeft(data: BytesLike): string;
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **left**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **values** are in Solidity
|
||||
@@ -83,7 +83,7 @@ export declare function zeroPadValue(data: BytesLike, length: number): string;
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **right**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **bytes** are in Solidity
|
||||
|
||||
@@ -157,7 +157,7 @@ function zeroPad(data, length, left) {
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **left**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **values** are in Solidity
|
||||
@@ -171,7 +171,7 @@ exports.zeroPadValue = zeroPadValue;
|
||||
* Return the [[DataHexString]] of %%data%% padded on the **right**
|
||||
* to %%length%% bytes.
|
||||
*
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrun]] is
|
||||
* If %%data%% already exceeds %%length%%, a [[BufferOverrunError]] is
|
||||
* thrown.
|
||||
*
|
||||
* This pads data the same as **bytes** are in Solidity
|
||||
|
||||
@@ -122,7 +122,7 @@ function makeError(message, code, info) {
|
||||
}
|
||||
(0, properties_js_1.defineProperties)(error, { code });
|
||||
if (info) {
|
||||
(0, properties_js_1.defineProperties)(error, info);
|
||||
Object.assign(error, info);
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/utils/index.d.ts
vendored
2
lib.commonjs/utils/index.d.ts
vendored
@@ -3,7 +3,7 @@
|
||||
* Ethereum and to simplify the library, without increasing
|
||||
* the library dependencies for simple functions.
|
||||
*
|
||||
* @_section api/utils:Utilities [utils]
|
||||
* @_section api/utils:Utilities [about-utils]
|
||||
*/
|
||||
export { decodeBase58, encodeBase58 } from "./base58.js";
|
||||
export { decodeBase64, encodeBase64 } from "./base64.js";
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Ethereum and to simplify the library, without increasing
|
||||
* the library dependencies for simple functions.
|
||||
*
|
||||
* @_section api/utils:Utilities [utils]
|
||||
* @_section api/utils:Utilities [about-utils]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.encodeRlp = exports.decodeRlp = exports.defineProperties = exports.resolveProperties = exports.toQuantity = exports.toBeArray = exports.toBeHex = exports.toNumber = exports.toBigInt = exports.getUint = exports.getNumber = exports.getBigInt = exports.mask = exports.toTwos = exports.fromTwos = exports.FixedNumber = exports.FetchCancelSignal = exports.FetchResponse = exports.FetchRequest = exports.EventPayload = exports.makeError = exports.assertNormalize = exports.assertPrivate = exports.assertArgumentCount = exports.assertArgument = exports.assert = exports.isError = exports.isCallException = exports.zeroPadBytes = exports.zeroPadValue = exports.stripZerosLeft = exports.dataSlice = exports.dataLength = exports.concat = exports.hexlify = exports.isBytesLike = exports.isHexString = exports.getBytesCopy = exports.getBytes = exports.encodeBase64 = exports.decodeBase64 = exports.encodeBase58 = exports.decodeBase58 = void 0;
|
||||
|
||||
2
lib.commonjs/utils/maths.d.ts
vendored
2
lib.commonjs/utils/maths.d.ts
vendored
@@ -26,7 +26,7 @@ export declare function toTwos(_value: BigNumberish, _width: Numeric): bigint;
|
||||
*/
|
||||
export declare function mask(_value: BigNumberish, _bits: Numeric): bigint;
|
||||
/**
|
||||
* Gets a [[BigInt]] from %%value%%. If it is an invalid value for
|
||||
* Gets a BigInt from %%value%%. If it is an invalid value for
|
||||
* a BigInt, then an ArgumentError will be thrown for %%name%%.
|
||||
*/
|
||||
export declare function getBigInt(value: BigNumberish, name?: string): bigint;
|
||||
|
||||
@@ -69,7 +69,7 @@ function mask(_value, _bits) {
|
||||
}
|
||||
exports.mask = mask;
|
||||
/**
|
||||
* Gets a [[BigInt]] from %%value%%. If it is an invalid value for
|
||||
* Gets a BigInt from %%value%%. If it is an invalid value for
|
||||
* a BigInt, then an ArgumentError will be thrown for %%name%%.
|
||||
*/
|
||||
function getBigInt(value, name) {
|
||||
|
||||
4
lib.commonjs/utils/units.d.ts
vendored
4
lib.commonjs/utils/units.d.ts
vendored
@@ -7,7 +7,7 @@ import type { BigNumberish, Numeric } from "../utils/index.js";
|
||||
*/
|
||||
export declare function formatUnits(value: BigNumberish, unit?: string | Numeric): string;
|
||||
/**
|
||||
* Converts the //decimal string// %%value%% to a [[BigInt]], assuming
|
||||
* Converts the //decimal string// %%value%% to a BigInt, assuming
|
||||
* %%unit%% decimal places. The %%unit%% may the number of decimal places
|
||||
* or the name of a unit (e.g. ``"gwei"`` for 9 decimal places).
|
||||
*/
|
||||
@@ -17,7 +17,7 @@ export declare function parseUnits(value: string, unit?: string | Numeric): bigi
|
||||
*/
|
||||
export declare function formatEther(wei: BigNumberish): string;
|
||||
/**
|
||||
* Converts the //decimal string// %%ether%% to a [[BigInt]], using 18
|
||||
* Converts the //decimal string// %%ether%% to a BigInt, using 18
|
||||
* decimal places.
|
||||
*/
|
||||
export declare function parseEther(ether: string): bigint;
|
||||
|
||||
@@ -54,7 +54,7 @@ function formatUnits(value, unit) {
|
||||
}
|
||||
exports.formatUnits = formatUnits;
|
||||
/**
|
||||
* Converts the //decimal string// %%value%% to a [[BigInt]], assuming
|
||||
* Converts the //decimal string// %%value%% to a BigInt, assuming
|
||||
* %%unit%% decimal places. The %%unit%% may the number of decimal places
|
||||
* or the name of a unit (e.g. ``"gwei"`` for 9 decimal places).
|
||||
*/
|
||||
@@ -80,7 +80,7 @@ function formatEther(wei) {
|
||||
}
|
||||
exports.formatEther = formatEther;
|
||||
/**
|
||||
* Converts the //decimal string// %%ether%% to a [[BigInt]], using 18
|
||||
* Converts the //decimal string// %%ether%% to a BigInt, using 18
|
||||
* decimal places.
|
||||
*/
|
||||
function parseEther(ether) {
|
||||
|
||||
17
lib.commonjs/utils/utf8.d.ts
vendored
17
lib.commonjs/utils/utf8.d.ts
vendored
@@ -57,6 +57,21 @@ export type Utf8ErrorReason = "UNEXPECTED_CONTINUE" | "BAD_PREFIX" | "OVERRUN" |
|
||||
* when control resumes to the FSM.
|
||||
*/
|
||||
export type Utf8ErrorFunc = (reason: Utf8ErrorReason, offset: number, bytes: Uint8Array, output: Array<number>, badCodepoint?: number) => number;
|
||||
/**
|
||||
* A handful of popular, built-in UTF-8 error handling strategies.
|
||||
*
|
||||
* **``"error"``** - throws on ANY illegal UTF-8 sequence or
|
||||
* non-canonical (overlong) codepoints (this is the default)
|
||||
*
|
||||
* **``"ignore"``** - silently drops any illegal UTF-8 sequence
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
*/
|
||||
export declare const Utf8ErrorFuncs: Readonly<Record<"error" | "ignore" | "replace", Utf8ErrorFunc>>;
|
||||
/**
|
||||
* Returns the UTF-8 byte representation of %%str%%.
|
||||
@@ -69,7 +84,7 @@ export declare function toUtf8Bytes(str: string, form?: UnicodeNormalizationForm
|
||||
*
|
||||
* When %%onError%% function is specified, it is called on UTF-8
|
||||
* errors allowing recovery using the [[Utf8ErrorFunc]] API.
|
||||
* (default: [error](Utf8ErrorFuncs-error))
|
||||
* (default: [error](Utf8ErrorFuncs))
|
||||
*/
|
||||
export declare function toUtf8String(bytes: BytesLike, onError?: Utf8ErrorFunc): string;
|
||||
/**
|
||||
|
||||
@@ -46,7 +46,21 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
// Otherwise, process as if ignoring errors
|
||||
return ignoreFunc(reason, offset, bytes, output, badCodepoint);
|
||||
}
|
||||
// Common error handing strategies
|
||||
/**
|
||||
* A handful of popular, built-in UTF-8 error handling strategies.
|
||||
*
|
||||
* **``"error"``** - throws on ANY illegal UTF-8 sequence or
|
||||
* non-canonical (overlong) codepoints (this is the default)
|
||||
*
|
||||
* **``"ignore"``** - silently drops any illegal UTF-8 sequence
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
*/
|
||||
exports.Utf8ErrorFuncs = Object.freeze({
|
||||
error: errorFunc,
|
||||
ignore: ignoreFunc,
|
||||
@@ -194,7 +208,7 @@ function _toUtf8String(codePoints) {
|
||||
*
|
||||
* When %%onError%% function is specified, it is called on UTF-8
|
||||
* errors allowing recovery using the [[Utf8ErrorFunc]] API.
|
||||
* (default: [error](Utf8ErrorFuncs-error))
|
||||
* (default: [error](Utf8ErrorFuncs))
|
||||
*/
|
||||
function toUtf8String(bytes, onError) {
|
||||
return _toUtf8String(getUtf8CodePoints(bytes, onError));
|
||||
|
||||
File diff suppressed because one or more lines are too long
2
lib.commonjs/wallet/index.d.ts
vendored
2
lib.commonjs/wallet/index.d.ts
vendored
@@ -14,7 +14,7 @@
|
||||
* low-level details of how an HD wallets are derived, exported
|
||||
* or imported.
|
||||
*
|
||||
* @_section: api/wallet:Wallets [wallets]
|
||||
* @_section: api/wallet:Wallets [about-wallets]
|
||||
*/
|
||||
export { BaseWallet } from "./base-wallet.js";
|
||||
export { defaultPath, getAccountPath, HDNodeWallet, HDNodeVoidWallet, } from "./hdwallet.js";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* low-level details of how an HD wallets are derived, exported
|
||||
* or imported.
|
||||
*
|
||||
* @_section: api/wallet:Wallets [wallets]
|
||||
* @_section: api/wallet:Wallets [about-wallets]
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Wallet = exports.Mnemonic = exports.encryptKeystoreJsonSync = exports.encryptKeystoreJson = exports.decryptKeystoreJson = exports.decryptKeystoreJsonSync = exports.isKeystoreJson = exports.decryptCrowdsaleJson = exports.isCrowdsaleJson = exports.HDNodeVoidWallet = exports.HDNodeWallet = exports.getAccountPath = exports.defaultPath = exports.BaseWallet = void 0;
|
||||
|
||||
4
lib.commonjs/wallet/mnemonic.d.ts
vendored
4
lib.commonjs/wallet/mnemonic.d.ts
vendored
@@ -1,7 +1,7 @@
|
||||
import type { BytesLike } from "../utils/index.js";
|
||||
import type { Wordlist } from "../wordlists/index.js";
|
||||
/**
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip39]]
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip-39]]
|
||||
* seeds and convert between phrases and entropy.
|
||||
*/
|
||||
export declare class Mnemonic {
|
||||
@@ -55,7 +55,7 @@ export declare class Mnemonic {
|
||||
*/
|
||||
static phraseToEntropy(phrase: string, wordlist?: null | Wordlist): string;
|
||||
/**
|
||||
* Returns true if %%phrase%% is a valid [[link-bip39]] phrase.
|
||||
* Returns true if %%phrase%% is a valid [[link-bip-39]] phrase.
|
||||
*
|
||||
* This checks all the provided words belong to the %%wordlist%%,
|
||||
* that the length is valid and the checksum is correct.
|
||||
|
||||
@@ -71,7 +71,7 @@ function entropyToMnemonic(entropy, wordlist) {
|
||||
}
|
||||
const _guard = {};
|
||||
/**
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip39]]
|
||||
* A **Mnemonic** wraps all properties required to compute [[link-bip-39]]
|
||||
* seeds and convert between phrases and entropy.
|
||||
*/
|
||||
class Mnemonic {
|
||||
@@ -151,7 +151,7 @@ class Mnemonic {
|
||||
return mnemonicToEntropy(phrase, wordlist);
|
||||
}
|
||||
/**
|
||||
* Returns true if %%phrase%% is a valid [[link-bip39]] phrase.
|
||||
* Returns true if %%phrase%% is a valid [[link-bip-39]] phrase.
|
||||
*
|
||||
* This checks all the provided words belong to the %%wordlist%%,
|
||||
* that the length is valid and the checksum is correct.
|
||||
|
||||
2
lib.commonjs/wordlists/index.d.ts
vendored
2
lib.commonjs/wordlists/index.d.ts
vendored
@@ -15,7 +15,7 @@
|
||||
* languages, but for maximal compatibility, the
|
||||
* [English Wordlist](LangEn) is recommended.
|
||||
*
|
||||
* @_section: api/wordlists:Wordlists [wordlists]
|
||||
* @_section: api/wordlists:Wordlists [about-wordlists]
|
||||
*/
|
||||
export { Wordlist } from "./wordlist.js";
|
||||
export { LangEn } from "./lang-en.js";
|
||||
|
||||
@@ -18,7 +18,7 @@ exports.wordlists = exports.WordlistOwlA = exports.WordlistOwl = exports.LangEn
|
||||
* languages, but for maximal compatibility, the
|
||||
* [English Wordlist](LangEn) is recommended.
|
||||
*
|
||||
* @_section: api/wordlists:Wordlists [wordlists]
|
||||
* @_section: api/wordlists:Wordlists [about-wordlists]
|
||||
*/
|
||||
var wordlist_js_1 = require("./wordlist.js");
|
||||
Object.defineProperty(exports, "Wordlist", { enumerable: true, get: function () { return wordlist_js_1.Wordlist; } });
|
||||
|
||||
2
lib.commonjs/wordlists/wordlist.d.ts
vendored
2
lib.commonjs/wordlists/wordlist.d.ts
vendored
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* A Wordlist represents a collection of language-specific
|
||||
* words used to encode and devoce [[BIP-39]] encoded data
|
||||
* words used to encode and devoce [[link-bip-39]] encoded data
|
||||
* by mapping words to 11-bit values and vice versa.
|
||||
*/
|
||||
export declare abstract class Wordlist {
|
||||
|
||||
@@ -4,7 +4,7 @@ exports.Wordlist = void 0;
|
||||
const index_js_1 = require("../utils/index.js");
|
||||
/**
|
||||
* A Wordlist represents a collection of language-specific
|
||||
* words used to encode and devoce [[BIP-39]] encoded data
|
||||
* words used to encode and devoce [[link-bip-39]] encoded data
|
||||
* by mapping words to 11-bit values and vice versa.
|
||||
*/
|
||||
class Wordlist {
|
||||
|
||||
@@ -14,7 +14,7 @@ async function getNpmPackage(name) {
|
||||
return cache[name] || null;
|
||||
}
|
||||
function writeVersion(version) {
|
||||
const content = `export const version: string = "${version}";\n`;
|
||||
const content = `/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */\n\n/**\n * The current version of Ethers.\n */\nexport const version: string = "${version}";\n`;
|
||||
atomicWrite(resolve("src.ts/_version.ts"), content);
|
||||
}
|
||||
(async function () {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"update-version.js","sourceRoot":"","sources":["../../src.ts/_admin/update-version.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"update-version.js","sourceRoot":"","sources":["../../src.ts/_admin/update-version.ts"],"names":[],"mappings":"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"}
|
||||
@@ -184,11 +184,19 @@ describe("Test Provider Transaction operations", function () {
|
||||
assert.ok(receipt != null, "receipt != null");
|
||||
// Cloudflare doesn't return the root in legacy receipts; but it isn't
|
||||
// *actually* that important, so we'll give it a pass...
|
||||
if (providerName === "CloudflareProvider") {
|
||||
if (providerName === "CloudflareProvider" || providerName === "AnkrProvider" || providerName === "PocketProvider") {
|
||||
test = Object.assign({}, test, { root: undefined });
|
||||
}
|
||||
//if (providerName === "PocketProvider") {
|
||||
//}
|
||||
assertReceipt(receipt, test);
|
||||
};
|
||||
});
|
||||
forEach("test lookupAddress(addr) == null", testReceipt, (providerName, test) => {
|
||||
return async (provider) => {
|
||||
const name = await provider.lookupAddress("0x0123456789012345678901234567890123456789");
|
||||
assert.ok(name == null, "name == null");
|
||||
};
|
||||
});
|
||||
});
|
||||
//# sourceMappingURL=test-providers-data.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1,2 +1,6 @@
|
||||
export const version = "6.0.2";
|
||||
/* Do NOT modify this file; see /src.ts/_admin/update-version.ts */
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
export const version = "6.0.4";
|
||||
//# sourceMappingURL=_version.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../src.ts/_version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC"}
|
||||
{"version":3,"file":"_version.js","sourceRoot":"","sources":["../src.ts/_version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAW,OAAO,CAAC"}
|
||||
@@ -49,7 +49,11 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message = "execution reverted";
|
||||
const bytes = getBytes(data);
|
||||
data = hexlify(data);
|
||||
if (bytes.length % 32 !== 4) {
|
||||
if (bytes.length === 0) {
|
||||
message += " (no data present; likely require(false) occurred";
|
||||
reason = "require(false)";
|
||||
}
|
||||
else if (bytes.length % 32 !== 4) {
|
||||
message += " (could not decode reason; invalid data length)";
|
||||
}
|
||||
else if (hexlify(bytes.slice(0, 4)) === "0x08c379a0") {
|
||||
@@ -64,8 +68,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${JSON.stringify(reason)}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode reason; invalid data)";
|
||||
message += " (could not decode reason; invalid string data)";
|
||||
}
|
||||
}
|
||||
else if (hexlify(bytes.slice(0, 4)) === "0x4e487b71") {
|
||||
@@ -81,8 +84,7 @@ function getBuiltinCallException(action, tx, data, abiCoder) {
|
||||
message += `: ${reason}`;
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
message += " (could not decode panic reason)";
|
||||
message += " (could not decode panic code)";
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -187,7 +189,7 @@ export class AbiCoder {
|
||||
return defaultCoder;
|
||||
}
|
||||
/**
|
||||
* Returns an ethers-compatible [[CALL_EXCEPTION]] Error for the given
|
||||
* Returns an ethers-compatible [[CallExceptionError]] Error for the given
|
||||
* result %%data%% for the [[CallExceptionAction]] %%action%% against
|
||||
* the Transaction %%tx%%.
|
||||
*/
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* About frgaments...
|
||||
*
|
||||
* @_subsection api/abi/abi-coder:Fragments
|
||||
* @_subsection api/abi/abi-coder:Fragments [about-fragments]
|
||||
*/
|
||||
import { defineProperties, getBigInt, getNumber, assert, assertPrivate, assertArgument } from "../utils/index.js";
|
||||
import { id } from "../hash/index.js";
|
||||
@@ -355,26 +355,25 @@ export class ParamType {
|
||||
/**
|
||||
* True if the parameters is indexed.
|
||||
*
|
||||
* For non-indexable types (see [[ParamType_isIndexable]]) this
|
||||
* is ``null``.
|
||||
* For non-indexable types this is ``null``.
|
||||
*/
|
||||
indexed;
|
||||
/**
|
||||
* The components for the tuple.
|
||||
*
|
||||
* For non-tuple types (see [[ParamType_isTuple]]) this is ``null``.
|
||||
* For non-tuple types this is ``null``.
|
||||
*/
|
||||
components;
|
||||
/**
|
||||
* The array length, or ``-1`` for dynamic-lengthed arrays.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayLength;
|
||||
/**
|
||||
* The type of each child in the array.
|
||||
*
|
||||
* For non-array types (see [[ParamType_isArray]]) this is ``null``.
|
||||
* For non-array types this is ``null``.
|
||||
*/
|
||||
arrayChildren;
|
||||
/**
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user