forked from tornado-packages/ethers.js
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b993f7c3b6 | ||
|
|
51e72b98a2 | ||
|
|
8298e8599f |
@@ -1,7 +1,14 @@
|
||||
Change Log
|
||||
==========
|
||||
|
||||
This change log is maintained by `src.ts/_admin/update-changelog.ts but may also be manually updated.`
|
||||
This change log is maintained by `src.ts/_admin/update-changelog.ts` but may also be manually updated.
|
||||
|
||||
ethers/v6.0.6 (2023-02-22 21:53)
|
||||
--------------------------------
|
||||
|
||||
- Added chain parameters for Arbitrum and Optimism ([#3811](https://github.com/ethers-io/ethers.js/issues/3811); [77a7323](https://github.com/ethers-io/ethers.js/commit/77a7323119923e596f4def4f1bc90beae5447320)).
|
||||
- Fix NoneManager race condition ([#3812](https://github.com/ethers-io/ethers.js/issues/3812), [#3813](https://github.com/ethers-io/ethers.js/issues/3813); [5a3c10a](https://github.com/ethers-io/ethers.js/commit/5a3c10a29c047609a50828adb620d88aa8cf0014)).
|
||||
- Add UMD output to dist builds ([#3814](https://github.com/ethers-io/ethers.js/issues/3814); [f9eed4c](https://github.com/ethers-io/ethers.js/commit/f9eed4cdb190b06dd4ddaa2382c1de42e8e98de6)).
|
||||
|
||||
ethers/v6.0.5 (2023-02-18 22:36)
|
||||
--------------------------------
|
||||
|
||||
29
dist/ethers.js
vendored
29
dist/ethers.js
vendored
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
const version = "6.0.5";
|
||||
const version = "6.0.6";
|
||||
|
||||
/**
|
||||
* Property helper functions.
|
||||
@@ -809,7 +809,7 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* UTF-8 replacement character (i.e. ``"\\ufffd"``) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
@@ -14964,32 +14964,46 @@ function injectCommonNetworks() {
|
||||
registerEth("classic", 61, {});
|
||||
registerEth("classicKotti", 6, {});
|
||||
registerEth("xdai", 100, { ensNetwork: 1 });
|
||||
registerEth("optimism", 10, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("optimism-goerli", 420, {
|
||||
etherscan: { url: "https:/\/api-goerli-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum", 42161, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api.arbiscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum-goerli", 421613, {
|
||||
etherscan: { url: "https:/\/api-goerli.arbiscan.io/" }
|
||||
});
|
||||
// Polygon has a 35 gwei maxPriorityFee requirement
|
||||
registerEth("matic", 137, {
|
||||
ensNetwork: 1,
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("maticMumbai", 80001, {
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api-testnet.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("bnb", 56, {
|
||||
ensNetwork: 1,
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api.bscscan.com"
|
||||
}
|
||||
});
|
||||
registerEth("bnbt", 97, {
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api-testnet.bscscan.com"
|
||||
}
|
||||
});
|
||||
@@ -19519,7 +19533,8 @@ class NonceManager extends AbstractSigner {
|
||||
if (this.#noncePromise == null) {
|
||||
this.#noncePromise = super.getNonce("pending");
|
||||
}
|
||||
return (await this.#noncePromise) + this.#delta;
|
||||
const delta = this.#delta;
|
||||
return (await this.#noncePromise) + delta;
|
||||
}
|
||||
return super.getNonce(blockTag);
|
||||
}
|
||||
|
||||
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
22304
dist/ethers.umd.js
vendored
Normal file
22304
dist/ethers.umd.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/ethers.umd.js.map
vendored
Normal file
1
dist/ethers.umd.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/ethers.umd.min.js
vendored
Normal file
1
dist/ethers.umd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
4
dist/wordlists-extra.js
vendored
4
dist/wordlists-extra.js
vendored
@@ -149,7 +149,7 @@ const u64 = {
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
const version = "6.0.5";
|
||||
const version = "6.0.6";
|
||||
|
||||
/**
|
||||
* Property helper functions.
|
||||
@@ -440,7 +440,7 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* UTF-8 replacement character (i.e. ``"\\ufffd"``) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
|
||||
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
@@ -5,5 +5,5 @@ exports.version = void 0;
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
exports.version = "6.0.5";
|
||||
exports.version = "6.0.6";
|
||||
//# sourceMappingURL=_version.js.map
|
||||
@@ -229,32 +229,46 @@ function injectCommonNetworks() {
|
||||
registerEth("classic", 61, {});
|
||||
registerEth("classicKotti", 6, {});
|
||||
registerEth("xdai", 100, { ensNetwork: 1 });
|
||||
registerEth("optimism", 10, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("optimism-goerli", 420, {
|
||||
etherscan: { url: "https:/\/api-goerli-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum", 42161, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api.arbiscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum-goerli", 421613, {
|
||||
etherscan: { url: "https:/\/api-goerli.arbiscan.io/" }
|
||||
});
|
||||
// Polygon has a 35 gwei maxPriorityFee requirement
|
||||
registerEth("matic", 137, {
|
||||
ensNetwork: 1,
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("maticMumbai", 80001, {
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api-testnet.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("bnb", 56, {
|
||||
ensNetwork: 1,
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api.bscscan.com"
|
||||
}
|
||||
});
|
||||
registerEth("bnbt", 97, {
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api-testnet.bscscan.com"
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -24,7 +24,8 @@ class NonceManager extends abstract_signer_js_1.AbstractSigner {
|
||||
if (this.#noncePromise == null) {
|
||||
this.#noncePromise = super.getNonce("pending");
|
||||
}
|
||||
return (await this.#noncePromise) + this.#delta;
|
||||
const delta = this.#delta;
|
||||
return (await this.#noncePromise) + delta;
|
||||
}
|
||||
return super.getNonce(blockTag);
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"signer-noncemanager.js","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,6DAAsD;AAUtD,MAAa,YAAa,SAAQ,mCAAc;IAC5C,MAAM,CAAU;IAEhB,aAAa,CAAyB;IACtC,MAAM,CAAS;IAEf,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAA,2BAAgB,EAAe,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAyB;QAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAClD;YACD,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACnD;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAsB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC;QAE9B,sDAAsD;QACtD,wDAAwD;QACxD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,EAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAA4B;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAuB,EAAE,KAA4C,EAAE,KAA0B;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACJ;AAjED,oCAiEC"}
|
||||
{"version":3,"file":"signer-noncemanager.js","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,6DAAsD;AAUtD,MAAa,YAAa,SAAQ,mCAAc;IAC5C,MAAM,CAAU;IAEhB,aAAa,CAAyB;IACtC,MAAM,CAAS;IAEf,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAA,2BAAgB,EAAe,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAyB;QAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAClD;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAsB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC;QAE9B,sDAAsD;QACtD,wDAAwD;QACxD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,EAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAA4B;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAuB,EAAE,KAA4C,EAAE,KAA0B;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACJ;AAnED,oCAmEC"}
|
||||
@@ -56,7 +56,7 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* UTF-8 replacement character (i.e. ``"\\ufffd"``) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
|
||||
13
lib.esm/_admin/generate-diffs.js
Normal file
13
lib.esm/_admin/generate-diffs.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { getVersions } from "./utils/npm.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
import { getDiff } from "./utils/git.js";
|
||||
(async function () {
|
||||
let versions = await getVersions("ethers");
|
||||
versions = versions.filter((h) => (h.version.match(/^6\.[0-9]+\.[0-9]+$/)));
|
||||
for (let i = 1; i < versions.length; i++) {
|
||||
const tag0 = versions[i - 1].gitHead, tag1 = versions[i].gitHead;
|
||||
const diff = await getDiff(resolve("dist/ethers.js"), tag0, tag1);
|
||||
console.log(diff);
|
||||
}
|
||||
})();
|
||||
//# sourceMappingURL=generate-diffs.js.map
|
||||
1
lib.esm/_admin/generate-diffs.js.map
Normal file
1
lib.esm/_admin/generate-diffs.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"generate-diffs.js","sourceRoot":"","sources":["../../src.ts/_admin/generate-diffs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,CAAC,KAAK;IACF,IAAI,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;AACL,CAAC,CAAC,EAAE,CAAC"}
|
||||
179
lib.esm/_admin/update-changelog.js
Normal file
179
lib.esm/_admin/update-changelog.js
Normal file
@@ -0,0 +1,179 @@
|
||||
import fs from "fs";
|
||||
import { getLogs } from "./utils/git.js";
|
||||
import { loadJson } from "./utils/json.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
import { getVersions } from "./utils/npm.js";
|
||||
function repeat(c, length) {
|
||||
if (c.length === 0) {
|
||||
throw new Error("too short");
|
||||
}
|
||||
while (c.length < length) {
|
||||
c += c;
|
||||
}
|
||||
return c.substring(0, length);
|
||||
}
|
||||
function zpad(value, length) {
|
||||
if (length == null) {
|
||||
length = 2;
|
||||
}
|
||||
const str = String(value);
|
||||
return repeat("0", length - str.length) + str;
|
||||
}
|
||||
function getDate(date) {
|
||||
return [
|
||||
date.getFullYear(),
|
||||
zpad(date.getMonth() + 1),
|
||||
zpad(date.getDate())
|
||||
].join("-");
|
||||
}
|
||||
export function getDateTime(date) {
|
||||
return getDate(date) + " " + [
|
||||
zpad(date.getHours()),
|
||||
zpad(date.getMinutes() + 1)
|
||||
].join(":");
|
||||
}
|
||||
async function getChanges(tag0, tag1) {
|
||||
const result = [];
|
||||
const logs = await getLogs(null, { tag0, tag1 });
|
||||
for (const log of logs) {
|
||||
if (log.body.startsWith("admin:") || log.body.startsWith("docs:")) {
|
||||
continue;
|
||||
}
|
||||
let message = log.body;
|
||||
const issues = [];
|
||||
message = message.replace(/\((([0-9#,]|\s)*)\)/g, (all, text) => {
|
||||
text = text.replace(/#([0-9]+)/g, (all, issue) => {
|
||||
issues.push(issue);
|
||||
return "";
|
||||
});
|
||||
if (text.replace(/,/g, "").trim()) {
|
||||
console.log(`WARNING: commit leftovers ${JSON.stringify(text)}`);
|
||||
}
|
||||
return "";
|
||||
}).replace(/\.+\s*$/, "").trim();
|
||||
result.push({ message, issues, commit: log.commit });
|
||||
}
|
||||
return result;
|
||||
}
|
||||
(async function () {
|
||||
// Get the already included versions in the CHANGELOG
|
||||
const present = [{ version: "null", body: [] }];
|
||||
{
|
||||
const content = fs.readFileSync(resolve("CHANGELOG.md")).toString();
|
||||
for (const line of content.split("\n")) {
|
||||
let match = line.match(/^ethers\/v(\S+)\s/);
|
||||
if (match) {
|
||||
present.push({ version: match[1], body: [line] });
|
||||
}
|
||||
else {
|
||||
present[present.length - 1].body.push(line);
|
||||
}
|
||||
}
|
||||
for (const { body } of present) {
|
||||
while (body[body.length - 1].trim() === "") {
|
||||
body.pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Get the remote versions (along with their date and gitHead)
|
||||
let versions = await getVersions("ethers");
|
||||
versions = versions.filter((v) => (v.version.match(/^6\.[0-9]+\.[0-9]+$/)));
|
||||
const entries = [];
|
||||
const getPresent = (version) => {
|
||||
const pres = present.filter((p) => (p.version === version));
|
||||
return pres.length ? pres[0] : null;
|
||||
};
|
||||
// Add the first entry, which has no previous version to compare against
|
||||
{
|
||||
const pres = getPresent(versions[0].version);
|
||||
if (pres) {
|
||||
entries.push(pres);
|
||||
}
|
||||
else {
|
||||
entries.push({
|
||||
date: getDateTime(new Date(versions[0].date)),
|
||||
version: versions[0].version,
|
||||
changes: [{
|
||||
message: "Initial release",
|
||||
issues: [],
|
||||
commit: versions[0].gitHead
|
||||
}]
|
||||
});
|
||||
}
|
||||
}
|
||||
// Add each version, with preference given to present entries, as
|
||||
// they may have been updated manually
|
||||
let lastVer = versions[0];
|
||||
for (let i = 1; i < versions.length; i++) {
|
||||
const ver = versions[i];
|
||||
// Prefer present entries
|
||||
const pres = getPresent(ver.version);
|
||||
if (pres) {
|
||||
entries.push(pres);
|
||||
lastVer = ver;
|
||||
continue;
|
||||
}
|
||||
// Get the entry info from git
|
||||
const version = ver.version;
|
||||
const date = getDateTime(new Date(ver.date));
|
||||
const changes = await getChanges(lastVer.gitHead, ver.gitHead);
|
||||
entries.push({ date, version, changes });
|
||||
lastVer = ver;
|
||||
}
|
||||
// If this is a new version (not present in npm) add the changes
|
||||
// from the lastest version until HEAD.
|
||||
const curVer = loadJson(resolve("package.json")).version;
|
||||
if (curVer !== lastVer) {
|
||||
// Include any present entry, as it was placed here by a
|
||||
// previous run of update-changelog and may have been
|
||||
// modified manually
|
||||
const pres = getPresent(curVer);
|
||||
if (pres) {
|
||||
console.log(`WARNING: existing entry for ${curVer}; duplicating`);
|
||||
entries.push(pres);
|
||||
}
|
||||
// Also include theentry from git
|
||||
const latest = await getChanges(lastVer.gitHead, "HEAD");
|
||||
if (latest.length) {
|
||||
entries.push({
|
||||
date: getDateTime(new Date()),
|
||||
version: curVer,
|
||||
changes: latest
|
||||
});
|
||||
}
|
||||
}
|
||||
// Gerenate the CHANGELOG.md output
|
||||
const output = [];
|
||||
output.push("Change Log");
|
||||
output.push("==========");
|
||||
output.push("");
|
||||
output.push("This change log is maintained by `src.ts/_admin/update-changelog.ts` but may also be manually updated.");
|
||||
output.push("");
|
||||
for (const ver of entries.reverse()) {
|
||||
// Present entry; include verbatim
|
||||
if ("body" in ver) {
|
||||
ver.body.forEach((line) => output.push(line));
|
||||
output.push("");
|
||||
continue;
|
||||
}
|
||||
// Entry from git; format it nicely
|
||||
const title = `ethers/v${ver.version} (${ver.date})`;
|
||||
output.push(title);
|
||||
output.push(repeat("-", title.length));
|
||||
output.push("");
|
||||
for (const change of ver.changes) {
|
||||
let line = ` - ${change.message} (`;
|
||||
line += change.issues.map((i) => {
|
||||
return `[#${i}](https:/\/github.com/ethers-io/ethers.js/issues/${i})`;
|
||||
}).join(", ");
|
||||
if (change.issues.length) {
|
||||
line += "; ";
|
||||
}
|
||||
line += `[${change.commit.substring(0, 7)}](https:/\/github.com/ethers-io/ethers.js/commit/${change.commit})).`;
|
||||
output.push(line);
|
||||
}
|
||||
output.push("");
|
||||
}
|
||||
fs.writeFileSync(resolve("CHANGELOG.md"), output.join("\n"));
|
||||
})();
|
||||
//# sourceMappingURL=update-changelog.js.map
|
||||
1
lib.esm/_admin/update-changelog.js.map
Normal file
1
lib.esm/_admin/update-changelog.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
import semver from "semver";
|
||||
import { FetchRequest } from "../utils/index.js";
|
||||
import { atomicWrite } from "./utils/fs.js";
|
||||
import { getGitLog } from "./utils/git.js";
|
||||
import { getLogs } from "./utils/git.js";
|
||||
import { loadJson, saveJson } from "./utils/json.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
const cache = {};
|
||||
@@ -29,7 +29,7 @@ function writeVersion(version) {
|
||||
const remotePkgInfo = remoteInfo.versions[remoteVersion];
|
||||
const remoteGitHead = remotePkgInfo.gitHead;
|
||||
let gitHead = "";
|
||||
for (const log of await getGitLog(".")) {
|
||||
for (const log of await getLogs(["."])) {
|
||||
if (log.body.startsWith("admin:")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -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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"}
|
||||
@@ -41,38 +41,50 @@ export async function getModifiedTime(filename) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
export async function getGitLog(filename, limit) {
|
||||
if (limit == null) {
|
||||
limit = 100;
|
||||
export async function getLogs(files, range, limit) {
|
||||
const args = ["log", "-n", String((limit != null) ? limit : 100)];
|
||||
if (range) {
|
||||
args.push(`${range.tag0}..${range.tag1}`);
|
||||
}
|
||||
const result = await run("git", ["log", "-n", String(limit), "--", filename]);
|
||||
if (!result.ok) {
|
||||
if (files) {
|
||||
args.push("--");
|
||||
files.forEach((f) => args.push(f));
|
||||
}
|
||||
const exec = await run("git", args);
|
||||
if (!exec.ok) {
|
||||
throw new Error(`git log error`);
|
||||
}
|
||||
let log = result.stdout.trim();
|
||||
const log = exec.stdout.trim();
|
||||
if (!log) {
|
||||
return [];
|
||||
}
|
||||
const logs = [{ commit: "", author: "", date: "", body: "" }];
|
||||
const results = [{ commit: "", author: "", date: "", body: "" }];
|
||||
for (const line of log.split("\n")) {
|
||||
const hashMatch = line.match(/^commit\s+([0-9a-f]{40})/i);
|
||||
if (hashMatch) {
|
||||
logs.push({ commit: hashMatch[1], author: "", date: "", body: "" });
|
||||
results.push({ commit: hashMatch[1], author: "", date: "", body: "" });
|
||||
}
|
||||
else {
|
||||
if (line.startsWith("Author:")) {
|
||||
logs[logs.length - 1].author = line.substring(7).trim();
|
||||
results[results.length - 1].author = line.substring(7).trim();
|
||||
}
|
||||
else if (line.startsWith("Date:")) {
|
||||
logs[logs.length - 1].date = line.substring(5).trim();
|
||||
results[results.length - 1].date = line.substring(5).trim();
|
||||
}
|
||||
else {
|
||||
logs[logs.length - 1].body = (logs[logs.length - 1].body + " " + line).trim();
|
||||
results[results.length - 1].body = (results[results.length - 1].body + " " + line).trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
// Nix the bootstrap entry
|
||||
logs.shift();
|
||||
return logs;
|
||||
results.shift();
|
||||
return results;
|
||||
}
|
||||
export async function getDiff(filename, tag0, tag1) {
|
||||
const result = await run("git", ["diff", `${tag0}..${tag1}`, "--", filename]);
|
||||
if (!result.ok) {
|
||||
throw new Error(`git log error`);
|
||||
}
|
||||
return result.stdout.trim();
|
||||
}
|
||||
//# sourceMappingURL=git.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/git.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/git.ts"],"names":[],"mappings":"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"}
|
||||
@@ -1,4 +1,32 @@
|
||||
export {};
|
||||
import { FetchRequest } from "../../utils/index.js";
|
||||
const cache = {};
|
||||
export async function _getNpmPackage(name) {
|
||||
if (!cache[name]) {
|
||||
const resp = await (new FetchRequest("https:/\/registry.npmjs.org/" + name)).send();
|
||||
resp.assertOk();
|
||||
cache[name] = resp.bodyJson;
|
||||
}
|
||||
return cache[name] || null;
|
||||
}
|
||||
export async function getVersions(name) {
|
||||
const result = [];
|
||||
const pkg = await _getNpmPackage(name);
|
||||
for (const version in pkg.versions) {
|
||||
const gitHead = pkg.versions[version].gitHead;
|
||||
const date = pkg.time[version];
|
||||
if (gitHead == null || date == null) {
|
||||
continue;
|
||||
}
|
||||
result.push({ date, gitHead, version });
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/*
|
||||
(async function() {
|
||||
//console.log(await _getNpmPackage("ethers"));
|
||||
console.log(await getGitHeads("ethers"));
|
||||
})();
|
||||
*/
|
||||
/*
|
||||
import semver from "semver";
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/npm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EE"}
|
||||
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,KAAK,GAAwB,EAAG,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,YAAY,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC1C,MAAM,MAAM,GAAmB,EAAG,CAAC;IAEnC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE;QAChC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;YAAE,SAAS;SAAE;QAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;;;;;EAKE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EE"}
|
||||
@@ -3,7 +3,6 @@ import { fileURLToPath } from 'url';
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
export const ROOT = _resolve(__dirname, "../../../");
|
||||
console.log(ROOT);
|
||||
export function resolve(...args) {
|
||||
args = args.slice();
|
||||
args.unshift(ROOT);
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAElB,MAAM,UAAU,OAAO,CAAC,GAAG,IAAmB;IAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
||||
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../src.ts/_admin/utils/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,UAAU,OAAO,CAAC,GAAG,IAAmB;IAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
|
||||
@@ -2,5 +2,5 @@
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
export const version = "6.0.5";
|
||||
export const version = "6.0.6";
|
||||
//# sourceMappingURL=_version.js.map
|
||||
@@ -225,32 +225,46 @@ function injectCommonNetworks() {
|
||||
registerEth("classic", 61, {});
|
||||
registerEth("classicKotti", 6, {});
|
||||
registerEth("xdai", 100, { ensNetwork: 1 });
|
||||
registerEth("optimism", 10, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("optimism-goerli", 420, {
|
||||
etherscan: { url: "https:/\/api-goerli-optimistic.etherscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum", 42161, {
|
||||
ensNetwork: 1,
|
||||
etherscan: { url: "https:/\/api.arbiscan.io/" }
|
||||
});
|
||||
registerEth("arbitrum-goerli", 421613, {
|
||||
etherscan: { url: "https:/\/api-goerli.arbiscan.io/" }
|
||||
});
|
||||
// Polygon has a 35 gwei maxPriorityFee requirement
|
||||
registerEth("matic", 137, {
|
||||
ensNetwork: 1,
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("maticMumbai", 80001, {
|
||||
// priorityFee: 35000000000,
|
||||
etherscan: {
|
||||
apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
// apiKey: "W6T8DJW654GNTQ34EFEYYP3EZD9DD27CT7",
|
||||
url: "https:/\/api-testnet.polygonscan.com/"
|
||||
}
|
||||
});
|
||||
registerEth("bnb", 56, {
|
||||
ensNetwork: 1,
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api.bscscan.com"
|
||||
}
|
||||
});
|
||||
registerEth("bnbt", 97, {
|
||||
etherscan: {
|
||||
apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
// apiKey: "EVTS3CU31AATZV72YQ55TPGXGMVIFUQ9M9",
|
||||
url: "http:/\/api-testnet.bscscan.com"
|
||||
}
|
||||
});
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -21,7 +21,8 @@ export class NonceManager extends AbstractSigner {
|
||||
if (this.#noncePromise == null) {
|
||||
this.#noncePromise = super.getNonce("pending");
|
||||
}
|
||||
return (await this.#noncePromise) + this.#delta;
|
||||
const delta = this.#delta;
|
||||
return (await this.#noncePromise) + delta;
|
||||
}
|
||||
return super.getNonce(blockTag);
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"signer-noncemanager.js","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC5C,MAAM,CAAU;IAEhB,aAAa,CAAyB;IACtC,MAAM,CAAS;IAEf,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,gBAAgB,CAAe,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAyB;QAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAClD;YACD,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACnD;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAsB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC;QAE9B,sDAAsD;QACtD,wDAAwD;QACxD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,EAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAA4B;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAuB,EAAE,KAA4C,EAAE,KAA0B;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACJ"}
|
||||
{"version":3,"file":"signer-noncemanager.js","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC5C,MAAM,CAAU;IAEhB,aAAa,CAAyB;IACtC,MAAM,CAAS;IAEf,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,gBAAgB,CAAe,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,QAAyB;QAC7B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAmB;QAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAClD;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAsB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG,MAAM,YAAY,CAAC;QAE9B,sDAAsD;QACtD,wDAAwD;QACxD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,EAAsB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,OAA4B;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,MAAuB,EAAE,KAA4C,EAAE,KAA0B;QAC3G,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;CACJ"}
|
||||
@@ -53,7 +53,7 @@ function replaceFunc(reason, offset, bytes, output, badCodepoint) {
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* UTF-8 replacement character (i.e. ``"\\ufffd"``) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
"url": "https://www.buymeacoffee.com/ricmoo"
|
||||
}
|
||||
],
|
||||
"gitHead": "981a962543809345c9d38e196a1edc454fdce983",
|
||||
"gitHead": "fb3dffcc1298c05036c06b4f5938ef092c0d7e60",
|
||||
"homepage": "https://ethers.org",
|
||||
"keywords": [
|
||||
"ethereum",
|
||||
@@ -125,13 +125,12 @@
|
||||
"url": "git://github.com/ethers-io/ethers.js.git"
|
||||
},
|
||||
"scripts": {
|
||||
"_build-clean": "npm run clean && node lib.esm/_admin/update-version-const && npm run build-all && npm run _build-dist",
|
||||
"_build-dist": "rollup -c && uglifyjs ./dist/ethers.js -o ./dist/ethers.min.js && uglifyjs ./dist/ethers.umd.js -o ./dist/ethers.umd.min.js && uglifyjs ./dist/wordlists-extra.js -o ./dist/wordlists-extra.min.js && cp ./output/post-build/dist/* ./dist/",
|
||||
"_dist-stats": "gzip -k9f -S '.gz' ./dist/ethers.min.js && gzip -k9f -S '.gz' ./dist/ethers.umd.min.js && gzip -k9f -S '.gz' ./dist/wordlists-extra.min.js && du -hs ./dist/*.gz && echo '' && du -hs ./dist/*.js",
|
||||
"auto-build": "npm run build -- -w",
|
||||
"build": "tsc --project tsconfig.esm.json",
|
||||
"build-all": "npm run build && cp ./output/post-build/lib.esm/* ./lib.esm/ && npm run build-commonjs && npm run build-types",
|
||||
"build-clean": "npm run clean && npm run build && node lib.esm/_admin/update-version.js && npm run build-all && npm run _build-dist && npm run _dist-stats",
|
||||
"build-clean": "npm run clean && npm run build && node lib.esm/_admin/update-version.js && node lib.esm/_admin/update-changelog.js && npm run build-all && npm run _build-dist && npm run _dist-stats",
|
||||
"build-commonjs": "tsc --project tsconfig.commonjs.json && cp ./output/post-build/lib.commonjs/* ./lib.commonjs/",
|
||||
"build-dist": "npm run build && npm run _build-dist && npm run _dist-stats",
|
||||
"build-docs": "echo 'foo'",
|
||||
|
||||
13
src.ts/_admin/generate-diffs.ts
Normal file
13
src.ts/_admin/generate-diffs.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { getVersions } from "./utils/npm.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
import { getDiff } from "./utils/git.js";
|
||||
|
||||
(async function() {
|
||||
let versions = await getVersions("ethers");
|
||||
versions = versions.filter((h) => (h.version.match(/^6\.[0-9]+\.[0-9]+$/)));
|
||||
for (let i = 1; i < versions.length; i++) {
|
||||
const tag0 = versions[i - 1].gitHead, tag1 = versions[i].gitHead;
|
||||
const diff = await getDiff(resolve("dist/ethers.js"), tag0, tag1);
|
||||
console.log(diff);
|
||||
}
|
||||
})();
|
||||
208
src.ts/_admin/update-changelog.ts
Normal file
208
src.ts/_admin/update-changelog.ts
Normal file
@@ -0,0 +1,208 @@
|
||||
import fs from "fs";
|
||||
|
||||
import { getLogs } from "./utils/git.js";
|
||||
import { loadJson } from "./utils/json.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
import { getVersions } from "./utils/npm.js";
|
||||
|
||||
function repeat(c: string, length: number): string {
|
||||
if (c.length === 0) { throw new Error("too short"); }
|
||||
while(c.length < length) { c += c; }
|
||||
return c.substring(0, length);
|
||||
}
|
||||
|
||||
function zpad(value: number, length?: number): string {
|
||||
if (length == null) { length = 2; }
|
||||
const str = String(value);
|
||||
return repeat("0", length - str.length) + str;
|
||||
}
|
||||
|
||||
function getDate(date: Date): string {
|
||||
return [
|
||||
date.getFullYear(),
|
||||
zpad(date.getMonth() + 1),
|
||||
zpad(date.getDate())
|
||||
].join("-");
|
||||
}
|
||||
|
||||
export function getDateTime(date: Date): string {
|
||||
return getDate(date) + " " + [
|
||||
zpad(date.getHours()) ,
|
||||
zpad(date.getMinutes() + 1)
|
||||
].join(":");
|
||||
}
|
||||
|
||||
type Change = {
|
||||
message: string;
|
||||
issues: Array<string>;
|
||||
commit: string;
|
||||
};
|
||||
|
||||
type Version = {
|
||||
date: string;
|
||||
version: string;
|
||||
changes: Array<Change>
|
||||
};
|
||||
|
||||
async function getChanges(tag0: string, tag1: string): Promise<Array<Change>> {
|
||||
const result: Array<Change> = [ ];
|
||||
|
||||
const logs = await getLogs(null, { tag0, tag1 });
|
||||
for (const log of logs) {
|
||||
if (log.body.startsWith("admin:") || log.body.startsWith("docs:")) {
|
||||
continue;
|
||||
}
|
||||
let message = log.body;
|
||||
const issues: Array<string> = [ ];
|
||||
|
||||
message = message.replace(/\((([0-9#,]|\s)*)\)/g, (all, text) => {
|
||||
text = (<string>text).replace(/#([0-9]+)/g, (all, issue) => {
|
||||
issues.push(issue);
|
||||
return "";
|
||||
});
|
||||
if (text.replace(/,/g, "").trim()) {
|
||||
console.log(`WARNING: commit leftovers ${ JSON.stringify(text) }`);
|
||||
}
|
||||
return "";
|
||||
}).replace(/\.+\s*$/, "").trim();
|
||||
|
||||
result.push({ message, issues, commit: log.commit });
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
type PresentVersion = {
|
||||
version: string;
|
||||
body: Array<string>;
|
||||
};
|
||||
|
||||
(async function() {
|
||||
// Get the already included versions in the CHANGELOG
|
||||
const present: Array<PresentVersion> = [ { version: "null", body: [ ] } ];
|
||||
{
|
||||
const content = fs.readFileSync(resolve("CHANGELOG.md")).toString();
|
||||
for (const line of content.split("\n")) {
|
||||
let match = line.match(/^ethers\/v(\S+)\s/);
|
||||
if (match) {
|
||||
present.push({ version: match[1], body: [ line ] });
|
||||
} else {
|
||||
present[present.length - 1].body.push(line);
|
||||
}
|
||||
}
|
||||
|
||||
for (const { body } of present) {
|
||||
while (body[body.length - 1].trim() === "") { body.pop(); }
|
||||
}
|
||||
}
|
||||
|
||||
// Get the remote versions (along with their date and gitHead)
|
||||
let versions = await getVersions("ethers");
|
||||
versions = versions.filter((v) => (v.version.match(/^6\.[0-9]+\.[0-9]+$/)));
|
||||
|
||||
const entries: Array<PresentVersion | Version> = [ ];
|
||||
const getPresent = (version: string) => {
|
||||
const pres = present.filter((p) => (p.version === version));
|
||||
return pres.length ? pres[0]: null;
|
||||
};
|
||||
|
||||
// Add the first entry, which has no previous version to compare against
|
||||
{
|
||||
const pres = getPresent(versions[0].version);
|
||||
if (pres) {
|
||||
entries.push(pres);
|
||||
|
||||
} else {
|
||||
entries.push({
|
||||
date: getDateTime(new Date(versions[0].date)),
|
||||
version: versions[0].version,
|
||||
changes: [ {
|
||||
message: "Initial release",
|
||||
issues: [ ],
|
||||
commit: versions[0].gitHead
|
||||
} ]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Add each version, with preference given to present entries, as
|
||||
// they may have been updated manually
|
||||
let lastVer = versions[0];
|
||||
for (let i = 1; i < versions.length; i++) {
|
||||
const ver = versions[i];
|
||||
|
||||
// Prefer present entries
|
||||
const pres = getPresent(ver.version);
|
||||
if (pres) {
|
||||
entries.push(pres);
|
||||
lastVer = ver;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Get the entry info from git
|
||||
const version = ver.version;
|
||||
const date = getDateTime(new Date(ver.date));
|
||||
const changes = await getChanges(lastVer.gitHead, ver.gitHead);
|
||||
entries.push({ date, version, changes });
|
||||
lastVer = ver;
|
||||
}
|
||||
|
||||
// If this is a new version (not present in npm) add the changes
|
||||
// from the lastest version until HEAD.
|
||||
const curVer = loadJson(resolve("package.json")).version;
|
||||
if (curVer !== lastVer) {
|
||||
// Include any present entry, as it was placed here by a
|
||||
// previous run of update-changelog and may have been
|
||||
// modified manually
|
||||
const pres = getPresent(curVer);
|
||||
if (pres) {
|
||||
console.log(`WARNING: existing entry for ${ curVer }; duplicating`);
|
||||
entries.push(pres);
|
||||
}
|
||||
|
||||
// Also include theentry from git
|
||||
const latest = await getChanges(lastVer.gitHead, "HEAD");
|
||||
if (latest.length) {
|
||||
entries.push({
|
||||
date: getDateTime(new Date()),
|
||||
version: curVer,
|
||||
changes: latest
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Gerenate the CHANGELOG.md output
|
||||
const output: Array<string> = [ ];
|
||||
output.push("Change Log");
|
||||
output.push("==========");
|
||||
output.push("");
|
||||
output.push("This change log is maintained by `src.ts/_admin/update-changelog.ts` but may also be manually updated.");
|
||||
output.push("");
|
||||
|
||||
for (const ver of entries.reverse()) {
|
||||
// Present entry; include verbatim
|
||||
if ("body" in ver) {
|
||||
ver.body.forEach((line) => output.push(line));
|
||||
output.push("")
|
||||
continue;
|
||||
}
|
||||
|
||||
// Entry from git; format it nicely
|
||||
const title = `ethers/v${ ver.version } (${ ver.date})`;
|
||||
output.push(title);
|
||||
output.push(repeat("-", title.length));
|
||||
output.push("");
|
||||
for (const change of ver.changes) {
|
||||
let line = ` - ${ change.message } (`;
|
||||
line += change.issues.map((i) => {
|
||||
return `[#${ i }](https:/\/github.com/ethers-io/ethers.js/issues/${ i })`;
|
||||
}).join(", ");
|
||||
if (change.issues.length) { line += "; "; }
|
||||
line += `[${ change.commit.substring(0, 7) }](https:/\/github.com/ethers-io/ethers.js/commit/${ change.commit })).`;
|
||||
output.push(line)
|
||||
}
|
||||
output.push("");
|
||||
}
|
||||
|
||||
fs.writeFileSync(resolve("CHANGELOG.md"), output.join("\n"));
|
||||
})();
|
||||
@@ -3,7 +3,7 @@ import semver from "semver";
|
||||
import { FetchRequest } from "../utils/index.js";
|
||||
|
||||
import { atomicWrite } from "./utils/fs.js";
|
||||
import { getGitLog } from "./utils/git.js";
|
||||
import { getLogs } from "./utils/git.js";
|
||||
import { loadJson, saveJson } from "./utils/json.js";
|
||||
import { resolve } from "./utils/path.js";
|
||||
|
||||
@@ -19,6 +19,7 @@ async function getNpmPackage(name: string): Promise<any> {
|
||||
|
||||
return cache[name] || null;
|
||||
}
|
||||
|
||||
function writeVersion(version: string): void {
|
||||
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);
|
||||
@@ -39,7 +40,7 @@ function writeVersion(version: string): void {
|
||||
const remoteGitHead = remotePkgInfo.gitHead;
|
||||
|
||||
let gitHead = "";
|
||||
for (const log of await getGitLog(".")) {
|
||||
for (const log of await getLogs([ "." ])) {
|
||||
if (log.body.startsWith("admin:")) { continue; }
|
||||
if (log.body.startsWith("tests:")) { continue; }
|
||||
gitHead = log.commit;
|
||||
|
||||
@@ -44,32 +44,48 @@ export interface GitLog {
|
||||
body: string;
|
||||
}
|
||||
|
||||
export async function getGitLog(filename: string, limit?: number): Promise<Array<GitLog>> {
|
||||
if (limit == null) { limit = 100; }
|
||||
const result = await run("git", [ "log", "-n", String(limit), "--", filename ]);
|
||||
if (!result.ok) { throw new Error(`git log error`); }
|
||||
export async function getLogs(files?: null | Array<string>, range?: null | { tag0: string, tag1: string }, limit?: null | number): Promise<Array<GitLog>> {
|
||||
const args = [ "log", "-n", String((limit != null) ? limit: 100) ];
|
||||
|
||||
let log = result.stdout.trim();
|
||||
if (range) {
|
||||
args.push(`${ range.tag0 }..${ range.tag1 }`);
|
||||
}
|
||||
|
||||
if (files) {
|
||||
args.push("--");
|
||||
files.forEach((f) => args.push(f));
|
||||
}
|
||||
|
||||
const exec = await run("git", args);
|
||||
if (!exec.ok) { throw new Error(`git log error`); }
|
||||
|
||||
const log = exec.stdout.trim();
|
||||
if (!log) { return [ ]; }
|
||||
|
||||
const logs: Array<GitLog> = [ { commit: "", author: "", date: "", body: "" } ];
|
||||
const results: Array<GitLog> = [ { commit: "", author: "", date: "", body: "" } ];
|
||||
for (const line of log.split("\n")) {
|
||||
const hashMatch = line.match(/^commit\s+([0-9a-f]{40})/i);
|
||||
if (hashMatch) {
|
||||
logs.push({ commit: hashMatch[1], author: "", date: "", body: "" });
|
||||
results.push({ commit: hashMatch[1], author: "", date: "", body: "" });
|
||||
} else {
|
||||
if (line.startsWith("Author:")) {
|
||||
logs[logs.length - 1].author = line.substring(7).trim();
|
||||
results[results.length - 1].author = line.substring(7).trim();
|
||||
} else if (line.startsWith("Date:")) {
|
||||
logs[logs.length - 1].date = line.substring(5).trim();
|
||||
results[results.length - 1].date = line.substring(5).trim();
|
||||
} else {
|
||||
logs[logs.length - 1].body = (logs[logs.length - 1].body + " " + line).trim();
|
||||
results[results.length - 1].body = (results[results.length - 1].body + " " + line).trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Nix the bootstrap entry
|
||||
logs.shift();
|
||||
results.shift();
|
||||
|
||||
return logs;
|
||||
return results;
|
||||
}
|
||||
|
||||
export async function getDiff(filename: string, tag0: string, tag1: string): Promise<string> {
|
||||
const result = await run("git", [ "diff", `${ tag0 }..${ tag1 }`, "--", filename ]);
|
||||
if (!result.ok) { throw new Error(`git log error`); }
|
||||
return result.stdout.trim();
|
||||
}
|
||||
|
||||
@@ -1,3 +1,42 @@
|
||||
import { FetchRequest } from "../../utils/index.js";
|
||||
|
||||
const cache: Record<string, any> = { };
|
||||
|
||||
export async function _getNpmPackage(name: string): Promise<any> {
|
||||
if (!cache[name]) {
|
||||
const resp = await (new FetchRequest("https:/\/registry.npmjs.org/" + name)).send();
|
||||
resp.assertOk();
|
||||
cache[name] = resp.bodyJson;
|
||||
}
|
||||
|
||||
return cache[name] || null;
|
||||
}
|
||||
|
||||
export type Version = {
|
||||
version: string;
|
||||
gitHead: string;
|
||||
date: string;
|
||||
};
|
||||
|
||||
export async function getVersions(name: string): Promise<Array<Version>> {
|
||||
const result: Array<Version> = [ ];
|
||||
|
||||
const pkg = await _getNpmPackage(name);
|
||||
for (const version in pkg.versions) {
|
||||
const gitHead = pkg.versions[version].gitHead;
|
||||
const date = pkg.time[version];
|
||||
if (gitHead == null || date == null) { continue; }
|
||||
result.push({ date, gitHead, version });
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
/*
|
||||
(async function() {
|
||||
//console.log(await _getNpmPackage("ethers"));
|
||||
console.log(await getGitHeads("ethers"));
|
||||
})();
|
||||
*/
|
||||
/*
|
||||
import semver from "semver";
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
export const ROOT = _resolve(__dirname, "../../../");
|
||||
console.log(ROOT);
|
||||
|
||||
export function resolve(...args: Array<string>): string {
|
||||
args = args.slice();
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
/**
|
||||
* The current version of Ethers.
|
||||
*/
|
||||
export const version: string = "6.0.5";
|
||||
export const version: string = "6.0.6";
|
||||
|
||||
@@ -148,7 +148,7 @@ export class EnsResolver {
|
||||
"function addr(bytes32) view returns (address)",
|
||||
"function addr(bytes32, uint) view returns (address)",
|
||||
"function text(bytes32, string) view returns (string)",
|
||||
"function contenthash() view returns (bytes)",
|
||||
"function contenthash(bytes32) view returns (bytes)",
|
||||
], provider);
|
||||
|
||||
}
|
||||
@@ -281,7 +281,7 @@ export class EnsResolver {
|
||||
*/
|
||||
async getContentHash(): Promise<null | string> {
|
||||
// keccak256("contenthash()")
|
||||
const data = await this.#fetch("contenthash()");
|
||||
const data = await this.#fetch("contenthash(bytes32)");
|
||||
|
||||
// No contenthash
|
||||
if (data == null || data === "0x") { return null; }
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"signer-noncemanager.d.ts","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,KAAK,EACR,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,EAC9D,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,qBAAa,YAAa,SAAQ,cAAc;;IAC5C,MAAM,EAAG,MAAM,CAAC;gBAKJ,MAAM,EAAE,MAAM;IAQpB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,QAAQ,GAAG,YAAY;IAI1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpD,SAAS,IAAI,IAAI;IAIjB,KAAK,IAAI,IAAI;IAKP,eAAe,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAY3E,eAAe,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAGpI"}
|
||||
{"version":3,"file":"signer-noncemanager.d.ts","sourceRoot":"","sources":["../../src.ts/providers/signer-noncemanager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExE,OAAO,KAAK,EACR,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,EAC9D,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,qBAAa,YAAa,SAAQ,cAAc;;IAC5C,MAAM,EAAG,MAAM,CAAC;gBAKJ,MAAM,EAAE,MAAM;IAQpB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,OAAO,CAAC,QAAQ,EAAE,IAAI,GAAG,QAAQ,GAAG,YAAY;IAI1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAapD,SAAS,IAAI,IAAI;IAIjB,KAAK,IAAI,IAAI;IAKP,eAAe,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAY3E,eAAe,CAAC,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAGpI"}
|
||||
2
types/utils/utf8.d.ts
vendored
2
types/utils/utf8.d.ts
vendored
@@ -67,7 +67,7 @@ export type Utf8ErrorFunc = (reason: Utf8ErrorReason, offset: number, bytes: Uin
|
||||
* and accepts non-canonical (overlong) codepoints
|
||||
*
|
||||
* **``"replace"``** - replace any illegal UTF-8 sequence with the
|
||||
* UTF-8 replacement character (i.e. `\ufffd`) and accepts
|
||||
* UTF-8 replacement character (i.e. ``"\\ufffd"``) and accepts
|
||||
* non-canonical (overlong) codepoints
|
||||
*
|
||||
* @returns: Record<"error" | "ignore" | "replace", Utf8ErrorFunc>
|
||||
|
||||
Reference in New Issue
Block a user