Skip to content

Commit ac6022b

Browse files
committed
admin: updated dist files
1 parent 52a0522 commit ac6022b

38 files changed

+188
-92
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ Change Log
33

44
This change log is maintained by `src.ts/_admin/update-changelog.ts` but may also be manually updated.
55

6+
ethers/v6.14.2 (2025-05-26 18:03)
7+
---------------------------------
8+
9+
- Fixed call stack overflow in makeError stringify for recursive structures ([#4977](https://github.com/ethers-io/ethers.js/issues/4977), [#4978](https://github.com/ethers-io/ethers.js/issues/4978); [52a0522](https://github.com/ethers-io/ethers.js/commit/52a052210919a35b0b0b38e357b3003ac8259fce)).
10+
- Explicitly throw error on gunzip failure to prevent uncaught exception ([#4873](https://github.com/ethers-io/ethers.js/issues/4873), [#4874](https://github.com/ethers-io/ethers.js/issues/4874); [fe98f98](https://github.com/ethers-io/ethers.js/commit/fe98f985e38e7540108b20d7966cca3f85d620f3)).
11+
- Skip additional receipt fetch for single confirmation requests ([#4972](https://github.com/ethers-io/ethers.js/issues/4972); [243cb02](https://github.com/ethers-io/ethers.js/commit/243cb02c52e33c8e09b637ae775e520c1cd672d3)).
12+
- Update EtherscanProvider to use their v2 API ([#4975](https://github.com/ethers-io/ethers.js/issues/4975); [5e09aa1](https://github.com/ethers-io/ethers.js/commit/5e09aa1fe4e216a89875bab768bec484aeaf553d)).
13+
614
ethers/v6.14.1 (2025-05-15 14:17)
715
---------------------------------
816

dist/ethers.js

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
33
/**
44
* The current version of Ethers.
55
*/
6-
const version = "6.14.1";
6+
const version = "6.14.2";
77

88
/**
99
* Property helper functions.
@@ -68,12 +68,21 @@ function defineProperties(target, values, types) {
6868
*
6969
* @_section: api/utils/errors:Errors [about-errors]
7070
*/
71-
function stringify$1(value) {
71+
function stringify$1(value, seen) {
7272
if (value == null) {
7373
return "null";
7474
}
75+
if (seen == null) {
76+
seen = new Set();
77+
}
78+
if (typeof (value) === "object") {
79+
if (seen.has(value)) {
80+
return "[Circular]";
81+
}
82+
seen.add(value);
83+
}
7584
if (Array.isArray(value)) {
76-
return "[ " + (value.map(stringify$1)).join(", ") + " ]";
85+
return "[ " + (value.map((v) => stringify$1(v, seen))).join(", ") + " ]";
7786
}
7887
if (value instanceof Uint8Array) {
7988
const HEX = "0123456789abcdef";
@@ -85,22 +94,21 @@ function stringify$1(value) {
8594
return result;
8695
}
8796
if (typeof (value) === "object" && typeof (value.toJSON) === "function") {
88-
return stringify$1(value.toJSON());
97+
return stringify$1(value.toJSON(), seen);
8998
}
9099
switch (typeof (value)) {
91100
case "boolean":
101+
case "number":
92102
case "symbol":
93103
return value.toString();
94104
case "bigint":
95105
return BigInt(value).toString();
96-
case "number":
97-
return (value).toString();
98106
case "string":
99107
return JSON.stringify(value);
100108
case "object": {
101109
const keys = Object.keys(value);
102110
keys.sort();
103-
return "{ " + keys.map((k) => `${stringify$1(k)}: ${stringify$1(value[k])}`).join(", ") + " }";
111+
return "{ " + keys.map((k) => `${stringify$1(k, seen)}: ${stringify$1(value[k], seen)}`).join(", ") + " }";
104112
}
105113
}
106114
return `[ COULD NOT SERIALIZE ]`;
@@ -15279,7 +15287,7 @@ class TransactionResponse {
1527915287
return checkReceipt(receipt);
1528015288
}
1528115289
if (receipt) {
15282-
if ((await receipt.confirmations()) >= confirms) {
15290+
if (confirms === 1 || (await receipt.confirmations()) >= confirms) {
1528315291
return checkReceipt(receipt);
1528415292
}
1528515293
}
@@ -21540,15 +21548,18 @@ class EtherscanProvider extends AbstractProvider {
2154021548
const network = Network.from(_network);
2154121549
this.#plugin = network.getPlugin(EtherscanPluginId);
2154221550
defineProperties(this, { apiKey, network });
21543-
// Test that the network is supported by Etherscan
21544-
this.getBaseUrl();
2154521551
}
2154621552
/**
2154721553
* Returns the base URL.
2154821554
*
2154921555
* If an [[EtherscanPlugin]] is configured on the
2155021556
* [[EtherscanBaseProvider_network]], returns the plugin's
2155121557
* baseUrl.
21558+
*
21559+
* Deprecated; for Etherscan v2 the base is no longer a simply
21560+
* host, but instead a URL including a chainId parameter. Changing
21561+
* this to return a URL prefix could break some libraries, so it
21562+
* is left intact but will be removed in the future as it is unused.
2155221563
*/
2155321564
getBaseUrl() {
2155421565
if (this.#plugin) {
@@ -21592,28 +21603,31 @@ class EtherscanProvider extends AbstractProvider {
2159221603
* Returns the URL for the %%module%% and %%params%%.
2159321604
*/
2159421605
getUrl(module, params) {
21595-
const query = Object.keys(params).reduce((accum, key) => {
21606+
let query = Object.keys(params).reduce((accum, key) => {
2159621607
const value = params[key];
2159721608
if (value != null) {
2159821609
accum += `&${key}=${value}`;
2159921610
}
2160021611
return accum;
2160121612
}, "");
21602-
const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : "");
21603-
return `${this.getBaseUrl()}/api?module=${module}${query}${apiKey}`;
21613+
if (this.apiKey) {
21614+
query += `&apikey=${this.apiKey}`;
21615+
}
21616+
return `https:/\/api.etherscan.io/v2/api?chainid=${this.network.chainId}&module=${module}${query}`;
2160421617
}
2160521618
/**
2160621619
* Returns the URL for using POST requests.
2160721620
*/
2160821621
getPostUrl() {
21609-
return `${this.getBaseUrl()}/api`;
21622+
return `https:/\/api.etherscan.io/v2/api?chainid=${this.network.chainId}`;
2161021623
}
2161121624
/**
2161221625
* Returns the parameters for using POST requests.
2161321626
*/
2161421627
getPostData(module, params) {
2161521628
params.module = module;
2161621629
params.apikey = this.apiKey;
21630+
params.chainid = this.network.chainId;
2161721631
return params;
2161821632
}
2161921633
async detectNetwork() {

dist/ethers.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ethers.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ethers.umd.js

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
99
/**
1010
* The current version of Ethers.
1111
*/
12-
const version = "6.14.1";
12+
const version = "6.14.2";
1313

1414
/**
1515
* Property helper functions.
@@ -74,12 +74,21 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
7474
*
7575
* @_section: api/utils/errors:Errors [about-errors]
7676
*/
77-
function stringify$1(value) {
77+
function stringify$1(value, seen) {
7878
if (value == null) {
7979
return "null";
8080
}
81+
if (seen == null) {
82+
seen = new Set();
83+
}
84+
if (typeof (value) === "object") {
85+
if (seen.has(value)) {
86+
return "[Circular]";
87+
}
88+
seen.add(value);
89+
}
8190
if (Array.isArray(value)) {
82-
return "[ " + (value.map(stringify$1)).join(", ") + " ]";
91+
return "[ " + (value.map((v) => stringify$1(v, seen))).join(", ") + " ]";
8392
}
8493
if (value instanceof Uint8Array) {
8594
const HEX = "0123456789abcdef";
@@ -91,22 +100,21 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
91100
return result;
92101
}
93102
if (typeof (value) === "object" && typeof (value.toJSON) === "function") {
94-
return stringify$1(value.toJSON());
103+
return stringify$1(value.toJSON(), seen);
95104
}
96105
switch (typeof (value)) {
97106
case "boolean":
107+
case "number":
98108
case "symbol":
99109
return value.toString();
100110
case "bigint":
101111
return BigInt(value).toString();
102-
case "number":
103-
return (value).toString();
104112
case "string":
105113
return JSON.stringify(value);
106114
case "object": {
107115
const keys = Object.keys(value);
108116
keys.sort();
109-
return "{ " + keys.map((k) => `${stringify$1(k)}: ${stringify$1(value[k])}`).join(", ") + " }";
117+
return "{ " + keys.map((k) => `${stringify$1(k, seen)}: ${stringify$1(value[k], seen)}`).join(", ") + " }";
110118
}
111119
}
112120
return `[ COULD NOT SERIALIZE ]`;
@@ -15285,7 +15293,7 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
1528515293
return checkReceipt(receipt);
1528615294
}
1528715295
if (receipt) {
15288-
if ((await receipt.confirmations()) >= confirms) {
15296+
if (confirms === 1 || (await receipt.confirmations()) >= confirms) {
1528915297
return checkReceipt(receipt);
1529015298
}
1529115299
}
@@ -21546,15 +21554,18 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
2154621554
const network = Network.from(_network);
2154721555
this.#plugin = network.getPlugin(EtherscanPluginId);
2154821556
defineProperties(this, { apiKey, network });
21549-
// Test that the network is supported by Etherscan
21550-
this.getBaseUrl();
2155121557
}
2155221558
/**
2155321559
* Returns the base URL.
2155421560
*
2155521561
* If an [[EtherscanPlugin]] is configured on the
2155621562
* [[EtherscanBaseProvider_network]], returns the plugin's
2155721563
* baseUrl.
21564+
*
21565+
* Deprecated; for Etherscan v2 the base is no longer a simply
21566+
* host, but instead a URL including a chainId parameter. Changing
21567+
* this to return a URL prefix could break some libraries, so it
21568+
* is left intact but will be removed in the future as it is unused.
2155821569
*/
2155921570
getBaseUrl() {
2156021571
if (this.#plugin) {
@@ -21598,28 +21609,31 @@ const __$G = (typeof globalThis !== 'undefined' ? globalThis: typeof window !==
2159821609
* Returns the URL for the %%module%% and %%params%%.
2159921610
*/
2160021611
getUrl(module, params) {
21601-
const query = Object.keys(params).reduce((accum, key) => {
21612+
let query = Object.keys(params).reduce((accum, key) => {
2160221613
const value = params[key];
2160321614
if (value != null) {
2160421615
accum += `&${key}=${value}`;
2160521616
}
2160621617
return accum;
2160721618
}, "");
21608-
const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : "");
21609-
return `${this.getBaseUrl()}/api?module=${module}${query}${apiKey}`;
21619+
if (this.apiKey) {
21620+
query += `&apikey=${this.apiKey}`;
21621+
}
21622+
return `https:/\/api.etherscan.io/v2/api?chainid=${this.network.chainId}&module=${module}${query}`;
2161021623
}
2161121624
/**
2161221625
* Returns the URL for using POST requests.
2161321626
*/
2161421627
getPostUrl() {
21615-
return `${this.getBaseUrl()}/api`;
21628+
return `https:/\/api.etherscan.io/v2/api?chainid=${this.network.chainId}`;
2161621629
}
2161721630
/**
2161821631
* Returns the parameters for using POST requests.
2161921632
*/
2162021633
getPostData(module, params) {
2162121634
params.module = module;
2162221635
params.apikey = this.apiKey;
21636+
params.chainid = this.network.chainId;
2162321637
return params;
2162421638
}
2162521639
async detectNetwork() {

dist/ethers.umd.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/ethers.umd.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/wordlists-extra.js

Lines changed: 15 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/wordlists-extra.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/wordlists-extra.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib.commonjs/_version.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib.commonjs/providers/provider-etherscan.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ export declare class EtherscanProvider extends AbstractProvider {
9999
* If an [[EtherscanPlugin]] is configured on the
100100
* [[EtherscanBaseProvider_network]], returns the plugin's
101101
* baseUrl.
102+
*
103+
* Deprecated; for Etherscan v2 the base is no longer a simply
104+
* host, but instead a URL including a chainId parameter. Changing
105+
* this to return a URL prefix could break some libraries, so it
106+
* is left intact but will be removed in the future as it is unused.
102107
*/
103108
getBaseUrl(): string;
104109
/**

lib.commonjs/providers/provider-etherscan.d.ts.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)