quantumcoin 6.14.1 → 6.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -22
- package/dist/README.md +1 -1
- package/lib.commonjs/_version.js +1 -1
- package/lib.commonjs/address/address.d.ts +1 -21
- package/lib.commonjs/address/address.d.ts.map +1 -1
- package/lib.commonjs/address/address.js +2 -30
- package/lib.commonjs/address/address.js.map +1 -1
- package/lib.commonjs/address/index.d.ts +1 -1
- package/lib.commonjs/address/index.d.ts.map +1 -1
- package/lib.commonjs/address/index.js +1 -2
- package/lib.commonjs/address/index.js.map +1 -1
- package/lib.commonjs/crypto/signature.d.ts +4 -17
- package/lib.commonjs/crypto/signature.d.ts.map +1 -1
- package/lib.commonjs/crypto/signature.js +57 -60
- package/lib.commonjs/crypto/signature.js.map +1 -1
- package/lib.commonjs/crypto/signing-key.d.ts +5 -64
- package/lib.commonjs/crypto/signing-key.d.ts.map +1 -1
- package/lib.commonjs/crypto/signing-key.js +31 -99
- package/lib.commonjs/crypto/signing-key.js.map +1 -1
- package/lib.commonjs/providers/default-provider.d.ts +0 -8
- package/lib.commonjs/providers/default-provider.d.ts.map +1 -1
- package/lib.commonjs/providers/default-provider.js +0 -108
- package/lib.commonjs/providers/default-provider.js.map +1 -1
- package/lib.commonjs/providers/index.d.ts +0 -9
- package/lib.commonjs/providers/index.d.ts.map +1 -1
- package/lib.commonjs/providers/index.js +1 -21
- package/lib.commonjs/providers/index.js.map +1 -1
- package/lib.commonjs/providers/network.js +1 -99
- package/lib.commonjs/providers/network.js.map +1 -1
- package/lib.commonjs/quantumcoin.d.ts +6 -4
- package/lib.commonjs/quantumcoin.d.ts.map +1 -1
- package/lib.commonjs/quantumcoin.js +11 -27
- package/lib.commonjs/quantumcoin.js.map +1 -1
- package/lib.commonjs/transaction/address.d.ts +1 -1
- package/lib.commonjs/transaction/address.d.ts.map +1 -1
- package/lib.commonjs/transaction/address.js +14 -5
- package/lib.commonjs/transaction/address.js.map +1 -1
- package/lib.commonjs/wallet/index.d.ts +2 -6
- package/lib.commonjs/wallet/index.d.ts.map +1 -1
- package/lib.commonjs/wallet/index.js +1 -14
- package/lib.commonjs/wallet/index.js.map +1 -1
- package/lib.commonjs/wallet/json-keystore.d.ts +3 -52
- package/lib.commonjs/wallet/json-keystore.d.ts.map +1 -1
- package/lib.commonjs/wallet/json-keystore.js +41 -246
- package/lib.commonjs/wallet/json-keystore.js.map +1 -1
- package/lib.commonjs/wallet/wallet.d.ts +5 -14
- package/lib.commonjs/wallet/wallet.d.ts.map +1 -1
- package/lib.commonjs/wallet/wallet.js +12 -51
- package/lib.commonjs/wallet/wallet.js.map +1 -1
- package/lib.esm/_version.js +1 -1
- package/lib.esm/address/address.d.ts +1 -21
- package/lib.esm/address/address.d.ts.map +1 -1
- package/lib.esm/address/address.js +1 -28
- package/lib.esm/address/address.js.map +1 -1
- package/lib.esm/address/index.d.ts +1 -1
- package/lib.esm/address/index.d.ts.map +1 -1
- package/lib.esm/address/index.js +1 -1
- package/lib.esm/address/index.js.map +1 -1
- package/lib.esm/crypto/signature.d.ts +4 -17
- package/lib.esm/crypto/signature.d.ts.map +1 -1
- package/lib.esm/crypto/signature.js +45 -46
- package/lib.esm/crypto/signature.js.map +1 -1
- package/lib.esm/crypto/signing-key.d.ts +5 -64
- package/lib.esm/crypto/signing-key.d.ts.map +1 -1
- package/lib.esm/crypto/signing-key.js +31 -100
- package/lib.esm/crypto/signing-key.js.map +1 -1
- package/lib.esm/providers/default-provider.d.ts +0 -8
- package/lib.esm/providers/default-provider.d.ts.map +1 -1
- package/lib.esm/providers/default-provider.js +0 -108
- package/lib.esm/providers/default-provider.js.map +1 -1
- package/lib.esm/providers/index.d.ts +0 -9
- package/lib.esm/providers/index.d.ts.map +1 -1
- package/lib.esm/providers/index.js +0 -9
- package/lib.esm/providers/index.js.map +1 -1
- package/lib.esm/providers/network.js +3 -101
- package/lib.esm/providers/network.js.map +1 -1
- package/lib.esm/quantumcoin.d.ts +6 -4
- package/lib.esm/quantumcoin.d.ts.map +1 -1
- package/lib.esm/quantumcoin.js +9 -3
- package/lib.esm/quantumcoin.js.map +1 -1
- package/lib.esm/transaction/address.d.ts +1 -1
- package/lib.esm/transaction/address.d.ts.map +1 -1
- package/lib.esm/transaction/address.js +13 -4
- package/lib.esm/transaction/address.js.map +1 -1
- package/lib.esm/wallet/index.d.ts +2 -6
- package/lib.esm/wallet/index.d.ts.map +1 -1
- package/lib.esm/wallet/index.js +1 -4
- package/lib.esm/wallet/index.js.map +1 -1
- package/lib.esm/wallet/json-keystore.d.ts +3 -52
- package/lib.esm/wallet/json-keystore.d.ts.map +1 -1
- package/lib.esm/wallet/json-keystore.js +38 -241
- package/lib.esm/wallet/json-keystore.js.map +1 -1
- package/lib.esm/wallet/wallet.d.ts +5 -14
- package/lib.esm/wallet/wallet.d.ts.map +1 -1
- package/lib.esm/wallet/wallet.js +14 -53
- package/lib.esm/wallet/wallet.js.map +1 -1
- package/package.json +8 -4
- package/src.ts/_version.ts +1 -1
- package/src.ts/address/address.ts +2 -27
- package/src.ts/address/index.ts +1 -1
- package/src.ts/crypto/signature.ts +31 -45
- package/src.ts/crypto/signing-key.ts +35 -108
- package/src.ts/providers/default-provider.ts +0 -106
- package/src.ts/providers/index.ts +0 -10
- package/src.ts/providers/network.ts +3 -111
- package/src.ts/quantumcoin.ts +17 -19
- package/src.ts/transaction/address.ts +12 -5
- package/src.ts/wallet/index.ts +2 -17
- package/src.ts/wallet/json-keystore.ts +44 -325
- package/src.ts/wallet/wallet.ts +23 -48
- package/dist/quantumcoin.js +0 -26252
- package/dist/quantumcoin.js.map +0 -1
- package/dist/quantumcoin.min.js +0 -1
- package/dist/quantumcoin.umd.js +0 -26453
- package/dist/quantumcoin.umd.js.map +0 -1
- package/dist/quantumcoin.umd.min.js +0 -1
- package/dist/wordlists-extra.js +0 -1500
- package/dist/wordlists-extra.js.map +0 -1
- package/dist/wordlists-extra.min.js +0 -1
- package/lib.commonjs/providers/provider-alchemy.d.ts +0 -50
- package/lib.commonjs/providers/provider-alchemy.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-alchemy.js +0 -151
- package/lib.commonjs/providers/provider-alchemy.js.map +0 -1
- package/lib.commonjs/providers/provider-ankr.d.ts +0 -61
- package/lib.commonjs/providers/provider-ankr.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-ankr.js +0 -137
- package/lib.commonjs/providers/provider-ankr.js.map +0 -1
- package/lib.commonjs/providers/provider-blockscout.d.ts +0 -59
- package/lib.commonjs/providers/provider-blockscout.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-blockscout.js +0 -145
- package/lib.commonjs/providers/provider-blockscout.js.map +0 -1
- package/lib.commonjs/providers/provider-chainstack.d.ts +0 -46
- package/lib.commonjs/providers/provider-chainstack.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-chainstack.js +0 -102
- package/lib.commonjs/providers/provider-chainstack.js.map +0 -1
- package/lib.commonjs/providers/provider-cloudflare.d.ts +0 -14
- package/lib.commonjs/providers/provider-cloudflare.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-cloudflare.js +0 -26
- package/lib.commonjs/providers/provider-cloudflare.js.map +0 -1
- package/lib.commonjs/providers/provider-etherscan.d.ts +0 -147
- package/lib.commonjs/providers/provider-etherscan.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-etherscan.js +0 -587
- package/lib.commonjs/providers/provider-etherscan.js.map +0 -1
- package/lib.commonjs/providers/provider-infura.d.ts +0 -101
- package/lib.commonjs/providers/provider-infura.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-infura.js +0 -206
- package/lib.commonjs/providers/provider-infura.js.map +0 -1
- package/lib.commonjs/providers/provider-pocket.d.ts +0 -54
- package/lib.commonjs/providers/provider-pocket.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-pocket.js +0 -109
- package/lib.commonjs/providers/provider-pocket.js.map +0 -1
- package/lib.commonjs/providers/provider-quicknode.d.ts +0 -59
- package/lib.commonjs/providers/provider-quicknode.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-quicknode.js +0 -163
- package/lib.commonjs/providers/provider-quicknode.js.map +0 -1
- package/lib.commonjs/wallet/hdwallet.d.ts +0 -248
- package/lib.commonjs/wallet/hdwallet.d.ts.map +0 -1
- package/lib.commonjs/wallet/hdwallet.js +0 -506
- package/lib.commonjs/wallet/hdwallet.js.map +0 -1
- package/lib.commonjs/wallet/json-crowdsale.d.ts +0 -27
- package/lib.commonjs/wallet/json-crowdsale.d.ts.map +0 -1
- package/lib.commonjs/wallet/json-crowdsale.js +0 -60
- package/lib.commonjs/wallet/json-crowdsale.js.map +0 -1
- package/lib.commonjs/wallet/mnemonic.d.ts +0 -65
- package/lib.commonjs/wallet/mnemonic.d.ts.map +0 -1
- package/lib.commonjs/wallet/mnemonic.js +0 -169
- package/lib.commonjs/wallet/mnemonic.js.map +0 -1
- package/lib.esm/providers/provider-alchemy.d.ts +0 -50
- package/lib.esm/providers/provider-alchemy.d.ts.map +0 -1
- package/lib.esm/providers/provider-alchemy.js +0 -147
- package/lib.esm/providers/provider-alchemy.js.map +0 -1
- package/lib.esm/providers/provider-ankr.d.ts +0 -61
- package/lib.esm/providers/provider-ankr.d.ts.map +0 -1
- package/lib.esm/providers/provider-ankr.js +0 -133
- package/lib.esm/providers/provider-ankr.js.map +0 -1
- package/lib.esm/providers/provider-blockscout.d.ts +0 -59
- package/lib.esm/providers/provider-blockscout.d.ts.map +0 -1
- package/lib.esm/providers/provider-blockscout.js +0 -141
- package/lib.esm/providers/provider-blockscout.js.map +0 -1
- package/lib.esm/providers/provider-chainstack.d.ts +0 -46
- package/lib.esm/providers/provider-chainstack.d.ts.map +0 -1
- package/lib.esm/providers/provider-chainstack.js +0 -98
- package/lib.esm/providers/provider-chainstack.js.map +0 -1
- package/lib.esm/providers/provider-cloudflare.d.ts +0 -14
- package/lib.esm/providers/provider-cloudflare.d.ts.map +0 -1
- package/lib.esm/providers/provider-cloudflare.js +0 -22
- package/lib.esm/providers/provider-cloudflare.js.map +0 -1
- package/lib.esm/providers/provider-etherscan.d.ts +0 -147
- package/lib.esm/providers/provider-etherscan.d.ts.map +0 -1
- package/lib.esm/providers/provider-etherscan.js +0 -584
- package/lib.esm/providers/provider-etherscan.js.map +0 -1
- package/lib.esm/providers/provider-infura.d.ts +0 -101
- package/lib.esm/providers/provider-infura.d.ts.map +0 -1
- package/lib.esm/providers/provider-infura.js +0 -201
- package/lib.esm/providers/provider-infura.js.map +0 -1
- package/lib.esm/providers/provider-pocket.d.ts +0 -54
- package/lib.esm/providers/provider-pocket.d.ts.map +0 -1
- package/lib.esm/providers/provider-pocket.js +0 -105
- package/lib.esm/providers/provider-pocket.js.map +0 -1
- package/lib.esm/providers/provider-quicknode.d.ts +0 -59
- package/lib.esm/providers/provider-quicknode.d.ts.map +0 -1
- package/lib.esm/providers/provider-quicknode.js +0 -159
- package/lib.esm/providers/provider-quicknode.js.map +0 -1
- package/lib.esm/wallet/hdwallet.d.ts +0 -248
- package/lib.esm/wallet/hdwallet.d.ts.map +0 -1
- package/lib.esm/wallet/hdwallet.js +0 -499
- package/lib.esm/wallet/hdwallet.js.map +0 -1
- package/lib.esm/wallet/json-crowdsale.d.ts +0 -27
- package/lib.esm/wallet/json-crowdsale.d.ts.map +0 -1
- package/lib.esm/wallet/json-crowdsale.js +0 -55
- package/lib.esm/wallet/json-crowdsale.js.map +0 -1
- package/lib.esm/wallet/mnemonic.d.ts +0 -65
- package/lib.esm/wallet/mnemonic.d.ts.map +0 -1
- package/lib.esm/wallet/mnemonic.js +0 -165
- package/lib.esm/wallet/mnemonic.js.map +0 -1
- package/src.ts/providers/provider-alchemy.ts +0 -166
- package/src.ts/providers/provider-ankr.ts +0 -153
- package/src.ts/providers/provider-blockscout.ts +0 -167
- package/src.ts/providers/provider-chainstack.ts +0 -113
- package/src.ts/providers/provider-cloudflare.ts +0 -24
- package/src.ts/providers/provider-etherscan.ts +0 -671
- package/src.ts/providers/provider-infura.ts +0 -220
- package/src.ts/providers/provider-pocket.ts +0 -121
- package/src.ts/providers/provider-quicknode.ts +0 -177
- package/src.ts/wallet/hdwallet.ts +0 -586
- package/src.ts/wallet/json-crowdsale.ts +0 -74
- package/src.ts/wallet/mnemonic.ts +0 -203
package/README.md
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
+
# DRAFT: WORK IN PROGRESS : NOT READY FOR PRODUCTION YET
|
|
2
|
+
|
|
1
3
|
The quantumcoin.js project
|
|
2
|
-
|
|
4
|
+
===========================
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Initialize the SDK first before beginning to use it. Else you might run into unexpected errors.
|
|
8
|
+
```
|
|
9
|
+
import { ethers } from "quantumcoin";
|
|
10
|
+
|
|
11
|
+
ethers.initQuantum().then((initResult) => {
|
|
3
12
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-

|
|
8
|
-
[](https://www.gitpoap.io/gh/ethers-io/ethers.js)
|
|
9
|
-
[](https://twitter.com/ricmoo)
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
```
|
|
10
16
|
|
|
11
17
|
-----
|
|
12
18
|
|
|
@@ -45,27 +51,13 @@ For the latest changes, see the
|
|
|
45
51
|
[CHANGELOG](https://github.com/ethers-io/ethers.js/blob/main/CHANGELOG.md).
|
|
46
52
|
|
|
47
53
|
|
|
48
|
-
**Summaries**
|
|
49
|
-
|
|
50
|
-
- [August 2023](https://blog.ricmoo.com/highlights-ethers-js-august-2023-fb68354c576c)
|
|
51
|
-
- [September 2022](https://blog.ricmoo.com/highlights-ethers-js-september-2022-d7bda0fc37ed)
|
|
52
|
-
- [June 2022](https://blog.ricmoo.com/highlights-ethers-js-june-2022-f5328932e35d)
|
|
53
|
-
- [March 2022](https://blog.ricmoo.com/highlights-ethers-js-march-2022-f511fe1e88a1)
|
|
54
|
-
- [December 2021](https://blog.ricmoo.com/highlights-ethers-js-december-2021-dc1adb779d1a)
|
|
55
|
-
- [September 2021](https://blog.ricmoo.com/highlights-ethers-js-september-2021-1bf7cb47d348)
|
|
56
|
-
- [May 2021](https://blog.ricmoo.com/highlights-ethers-js-may-2021-2826e858277d)
|
|
57
|
-
- [March 2021](https://blog.ricmoo.com/highlights-ethers-js-march-2021-173d3a545b8d)
|
|
58
|
-
- [December 2020](https://blog.ricmoo.com/highlights-ethers-js-december-2020-2e2db8bc800a)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
54
|
Installing
|
|
63
55
|
----------
|
|
64
56
|
|
|
65
57
|
**NodeJS**
|
|
66
58
|
|
|
67
59
|
```
|
|
68
|
-
/home/ricmoo/some_project> npm install
|
|
60
|
+
/home/ricmoo/some_project> npm install quantumcoin
|
|
69
61
|
```
|
|
70
62
|
|
|
71
63
|
**Browser (ESM)**
|
package/dist/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Distribution Folder
|
|
|
4
4
|
The contents of this folder are for using `import` in ESM
|
|
5
5
|
browser-base projects.
|
|
6
6
|
|
|
7
|
-
The `
|
|
7
|
+
The `quantumcoin.js` (and `quantumcoin.min.js`) files only include the
|
|
8
8
|
English wordlist to conserve space.
|
|
9
9
|
|
|
10
10
|
For additional Wordlist support, the `wordlist-extra.js` (and
|
package/lib.commonjs/_version.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns a normalized and checksumed address for %%address%%.
|
|
3
|
-
* This accepts non-checksum addresses, checksum addresses
|
|
4
|
-
* [[getIcapAddress]] formats.
|
|
3
|
+
* This accepts non-checksum addresses, checksum addresses formats.
|
|
5
4
|
*
|
|
6
5
|
* The checksum in Ethereum uses the capitalization (upper-case
|
|
7
6
|
* vs lower-case) of the characters within an address to encode
|
|
@@ -34,23 +33,4 @@
|
|
|
34
33
|
* //_error:
|
|
35
34
|
*/
|
|
36
35
|
export declare function getAddress(address: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* The [ICAP Address format](link-icap) format is an early checksum
|
|
39
|
-
* format which attempts to be compatible with the banking
|
|
40
|
-
* industry [IBAN format](link-wiki-iban) for bank accounts.
|
|
41
|
-
*
|
|
42
|
-
* It is no longer common or a recommended format.
|
|
43
|
-
*
|
|
44
|
-
* @example:
|
|
45
|
-
* getIcapAddress("0x8ba1f109551bd432803012645ac136ddd64dba72");
|
|
46
|
-
* //_result:
|
|
47
|
-
*
|
|
48
|
-
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36");
|
|
49
|
-
* //_result:
|
|
50
|
-
*
|
|
51
|
-
* // Throws an error if the ICAP checksum is wrong
|
|
52
|
-
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37");
|
|
53
|
-
* //_error:
|
|
54
|
-
*/
|
|
55
|
-
export declare function getIcapAddress(address: string): string;
|
|
56
36
|
//# sourceMappingURL=address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src.ts/address/address.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src.ts/address/address.ts"],"names":[],"mappings":"AAkFA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6BlD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getAddress = void 0;
|
|
4
4
|
const index_js_1 = require("../crypto/index.js");
|
|
5
5
|
const index_js_2 = require("../utils/index.js");
|
|
6
6
|
const BN_0 = BigInt(0);
|
|
@@ -73,8 +73,7 @@ function fromBase36(value) {
|
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* Returns a normalized and checksumed address for %%address%%.
|
|
76
|
-
* This accepts non-checksum addresses, checksum addresses
|
|
77
|
-
* [[getIcapAddress]] formats.
|
|
76
|
+
* This accepts non-checksum addresses, checksum addresses formats.
|
|
78
77
|
*
|
|
79
78
|
* The checksum in Ethereum uses the capitalization (upper-case
|
|
80
79
|
* vs lower-case) of the characters within an address to encode
|
|
@@ -131,31 +130,4 @@ function getAddress(address) {
|
|
|
131
130
|
(0, index_js_2.assertArgument)(false, "invalid address", "address", address);
|
|
132
131
|
}
|
|
133
132
|
exports.getAddress = getAddress;
|
|
134
|
-
/**
|
|
135
|
-
* The [ICAP Address format](link-icap) format is an early checksum
|
|
136
|
-
* format which attempts to be compatible with the banking
|
|
137
|
-
* industry [IBAN format](link-wiki-iban) for bank accounts.
|
|
138
|
-
*
|
|
139
|
-
* It is no longer common or a recommended format.
|
|
140
|
-
*
|
|
141
|
-
* @example:
|
|
142
|
-
* getIcapAddress("0x8ba1f109551bd432803012645ac136ddd64dba72");
|
|
143
|
-
* //_result:
|
|
144
|
-
*
|
|
145
|
-
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36");
|
|
146
|
-
* //_result:
|
|
147
|
-
*
|
|
148
|
-
* // Throws an error if the ICAP checksum is wrong
|
|
149
|
-
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37");
|
|
150
|
-
* //_error:
|
|
151
|
-
*/
|
|
152
|
-
function getIcapAddress(address) {
|
|
153
|
-
//let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();
|
|
154
|
-
let base36 = BigInt(getAddress(address)).toString(36).toUpperCase();
|
|
155
|
-
while (base36.length < 30) {
|
|
156
|
-
base36 = "0" + base36;
|
|
157
|
-
}
|
|
158
|
-
return "XE" + ibanChecksum("XE00" + base36) + base36;
|
|
159
|
-
}
|
|
160
|
-
exports.getIcapAddress = getIcapAddress;
|
|
161
133
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src.ts/address/address.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,gDAA6D;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src.ts/address/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export interface NameResolver {
|
|
|
43
43
|
*/
|
|
44
44
|
resolveName(name: string): Promise<null | string>;
|
|
45
45
|
}
|
|
46
|
-
export { getAddress
|
|
46
|
+
export { getAddress } from "./address.js";
|
|
47
47
|
export { getCreateAddress, getCreate2Address } from "./contract-address.js";
|
|
48
48
|
export { isAddressable, isAddress, resolveAddress } from "./checks.js";
|
|
49
49
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src.ts/address/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;CACrD;AAED,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src.ts/address/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IACxB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;CACrD;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -14,11 +14,10 @@
|
|
|
14
14
|
* @_section: api/address:Addresses [about-addresses]
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.resolveAddress = exports.isAddress = exports.isAddressable = exports.getCreate2Address = exports.getCreateAddress = exports.
|
|
17
|
+
exports.resolveAddress = exports.isAddress = exports.isAddressable = exports.getCreate2Address = exports.getCreateAddress = exports.getAddress = void 0;
|
|
18
18
|
null;
|
|
19
19
|
var address_js_1 = require("./address.js");
|
|
20
20
|
Object.defineProperty(exports, "getAddress", { enumerable: true, get: function () { return address_js_1.getAddress; } });
|
|
21
|
-
Object.defineProperty(exports, "getIcapAddress", { enumerable: true, get: function () { return address_js_1.getIcapAddress; } });
|
|
22
21
|
var contract_address_js_1 = require("./contract-address.js");
|
|
23
22
|
Object.defineProperty(exports, "getCreateAddress", { enumerable: true, get: function () { return contract_address_js_1.getCreateAddress; } });
|
|
24
23
|
Object.defineProperty(exports, "getCreate2Address", { enumerable: true, get: function () { return contract_address_js_1.getCreate2Address; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src.ts/address/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,IAAI,CAAC;AAoCL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src.ts/address/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,IAAI,CAAC;AAoCL,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,6DAA4E;AAAnE,uHAAA,gBAAgB,OAAA;AAAE,wHAAA,iBAAiB,OAAA;AAG5C,yCAAuE;AAA9D,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,2GAAA,cAAc,OAAA"}
|
|
@@ -8,20 +8,14 @@ export type SignatureLike = Signature | string | {
|
|
|
8
8
|
r: string;
|
|
9
9
|
s: string;
|
|
10
10
|
v: BigNumberish;
|
|
11
|
-
yParity?: 0 | 1;
|
|
12
|
-
yParityAndS?: string;
|
|
13
11
|
} | {
|
|
14
12
|
r: string;
|
|
15
|
-
yParityAndS: string;
|
|
16
|
-
yParity?: 0 | 1;
|
|
17
13
|
s?: string;
|
|
18
14
|
v?: number;
|
|
19
15
|
} | {
|
|
20
16
|
r: string;
|
|
21
17
|
s: string;
|
|
22
|
-
yParity: 0 | 1;
|
|
23
18
|
v?: BigNumberish;
|
|
24
|
-
yParityAndS?: string;
|
|
25
19
|
};
|
|
26
20
|
/**
|
|
27
21
|
* A Signature @TODO
|
|
@@ -51,10 +45,10 @@ export declare class Signature {
|
|
|
51
45
|
* its correspondin ``y``, the ``v`` indicates which of the two ``y``
|
|
52
46
|
* values to use.
|
|
53
47
|
*
|
|
54
|
-
* It is normalized to the values ``
|
|
48
|
+
* It is normalized to the values ``28`` or ``28`` for legacy
|
|
55
49
|
* purposes.
|
|
56
50
|
*/
|
|
57
|
-
get v():
|
|
51
|
+
get v(): 28 | 28;
|
|
58
52
|
set v(value: BigNumberish);
|
|
59
53
|
/**
|
|
60
54
|
* The EIP-155 ``v`` for legacy transactions. For non-legacy
|
|
@@ -88,7 +82,7 @@ export declare class Signature {
|
|
|
88
82
|
/**
|
|
89
83
|
* @private
|
|
90
84
|
*/
|
|
91
|
-
constructor(guard: any, r: string, s: string, v:
|
|
85
|
+
constructor(guard: any, r: string, s: string, v: 28);
|
|
92
86
|
/**
|
|
93
87
|
* Returns a new identical [[Signature]].
|
|
94
88
|
*/
|
|
@@ -115,14 +109,12 @@ export declare class Signature {
|
|
|
115
109
|
* property to include the chain ID.
|
|
116
110
|
*
|
|
117
111
|
* @example:
|
|
118
|
-
* Signature.getChainIdV(5, 27)
|
|
119
|
-
* //_result:
|
|
120
112
|
*
|
|
121
113
|
* Signature.getChainIdV(5, 28)
|
|
122
114
|
* //_result:
|
|
123
115
|
*
|
|
124
116
|
*/
|
|
125
|
-
static getChainIdV(chainId: BigNumberish, v:
|
|
117
|
+
static getChainIdV(chainId: BigNumberish, v: 28): bigint;
|
|
126
118
|
/**
|
|
127
119
|
* Compute the normalized legacy transaction ``v`` from a ``yParirty``,
|
|
128
120
|
* a legacy transaction ``v`` or a legacy [[link-eip-155]] transaction.
|
|
@@ -132,10 +124,6 @@ export declare class Signature {
|
|
|
132
124
|
* Signature.getNormalizedV(0)
|
|
133
125
|
* //_result:
|
|
134
126
|
*
|
|
135
|
-
* // Legacy non-EIP-1559 transaction (i.e. 27 or 28)
|
|
136
|
-
* Signature.getNormalizedV(27)
|
|
137
|
-
* //_result:
|
|
138
|
-
*
|
|
139
127
|
* // Legacy EIP-155 transaction (i.e. >= 35)
|
|
140
128
|
* Signature.getNormalizedV(46)
|
|
141
129
|
* //_result:
|
|
@@ -144,7 +132,6 @@ export declare class Signature {
|
|
|
144
132
|
* Signature.getNormalizedV(5)
|
|
145
133
|
* //_error:
|
|
146
134
|
*/
|
|
147
|
-
static getNormalizedV(v: BigNumberish): 27 | 28;
|
|
148
135
|
/**
|
|
149
136
|
* Creates a new [[Signature]].
|
|
150
137
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src.ts/crypto/signature.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src.ts/crypto/signature.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAER,YAAY,EAAE,SAAS,EAC1B,MAAM,mBAAmB,CAAC;AAe3B;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,YAAY,CAAC;CACnB,GAAG;IACA,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACd,GAAG;IACA,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,YAAY,CAAC;CACpB,CAAC;AAMF;;;;;GAKG;AACH,qBAAa,SAAS;;IAMlB;;;;;OAKG;IACH,IAAI,CAAC,IAAI,MAAM,CAAoB;IACnC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAErB;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,MAAM,CAAoB;IACnC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAGtB;IAED;;;;;;;;;OASG;IACH,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAoB;IACpC,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,EAIxB;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,IAAI,GAAG,MAAM,CAA2B;IAExD;;;OAGG;IACH,IAAI,aAAa,IAAI,IAAI,GAAG,MAAM,CAIjC;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAEnB;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAKxB;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;gBACS,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;IAYnD;;OAEG;IACH,KAAK,IAAI,SAAS;IAMlB;;OAEG;IACH,MAAM,IAAI,GAAG;IASb;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM;IAY1C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,MAAM;IAIxD;;;;;;;;;;;;;;;;OAgBG;IAYH;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,SAAS;CAyF9C"}
|
|
@@ -5,15 +5,15 @@ const index_js_1 = require("../constants/index.js");
|
|
|
5
5
|
const index_js_2 = require("../utils/index.js");
|
|
6
6
|
// Constants
|
|
7
7
|
const BN_0 = BigInt(0);
|
|
8
|
-
const BN_1 = BigInt(1);
|
|
8
|
+
//const BN_1 = BigInt(1);
|
|
9
9
|
const BN_2 = BigInt(2);
|
|
10
|
-
const BN_27 = BigInt(27);
|
|
11
10
|
const BN_28 = BigInt(28);
|
|
12
11
|
const BN_35 = BigInt(35);
|
|
13
12
|
const _guard = {};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
/*
|
|
14
|
+
function toUint256(value: BigNumberish): string {
|
|
15
|
+
return zeroPadValue(toBeArray(value), 32);
|
|
16
|
+
}*/
|
|
17
17
|
/**
|
|
18
18
|
* A Signature @TODO
|
|
19
19
|
*
|
|
@@ -33,7 +33,6 @@ class Signature {
|
|
|
33
33
|
*/
|
|
34
34
|
get r() { return this.#r; }
|
|
35
35
|
set r(value) {
|
|
36
|
-
(0, index_js_2.assertArgument)((0, index_js_2.dataLength)(value) === 32, "invalid r", "value", value);
|
|
37
36
|
this.#r = (0, index_js_2.hexlify)(value);
|
|
38
37
|
}
|
|
39
38
|
/**
|
|
@@ -41,9 +40,7 @@ class Signature {
|
|
|
41
40
|
*/
|
|
42
41
|
get s() { return this.#s; }
|
|
43
42
|
set s(_value) {
|
|
44
|
-
(0, index_js_2.assertArgument)((0, index_js_2.dataLength)(_value) === 32, "invalid s", "value", _value);
|
|
45
43
|
const value = (0, index_js_2.hexlify)(_value);
|
|
46
|
-
(0, index_js_2.assertArgument)(parseInt(value.substring(0, 3)) < 8, "non-canonical s", "value", value);
|
|
47
44
|
this.#s = value;
|
|
48
45
|
}
|
|
49
46
|
/**
|
|
@@ -53,13 +50,13 @@ class Signature {
|
|
|
53
50
|
* its correspondin ``y``, the ``v`` indicates which of the two ``y``
|
|
54
51
|
* values to use.
|
|
55
52
|
*
|
|
56
|
-
* It is normalized to the values ``
|
|
53
|
+
* It is normalized to the values ``28`` or ``28`` for legacy
|
|
57
54
|
* purposes.
|
|
58
55
|
*/
|
|
59
56
|
get v() { return this.#v; }
|
|
60
57
|
set v(value) {
|
|
61
58
|
const v = (0, index_js_2.getNumber)(value, "value");
|
|
62
|
-
(0, index_js_2.assertArgument)(v ===
|
|
59
|
+
(0, index_js_2.assertArgument)(v === 28, "invalid v", "v", value);
|
|
63
60
|
this.#v = v;
|
|
64
61
|
}
|
|
65
62
|
/**
|
|
@@ -84,7 +81,7 @@ class Signature {
|
|
|
84
81
|
* See ``v`` for more details on how this value is used.
|
|
85
82
|
*/
|
|
86
83
|
get yParity() {
|
|
87
|
-
return (this.v ===
|
|
84
|
+
return (this.v === 28) ? 0 : 1;
|
|
88
85
|
}
|
|
89
86
|
/**
|
|
90
87
|
* The [[link-eip-2098]] compact representation of the ``yParity``
|
|
@@ -157,7 +154,7 @@ class Signature {
|
|
|
157
154
|
static getChainId(v) {
|
|
158
155
|
const bv = (0, index_js_2.getBigInt)(v, "v");
|
|
159
156
|
// The v is not an EIP-155 v, so it is the unspecified chain ID
|
|
160
|
-
if ((bv ==
|
|
157
|
+
if ((bv == BN_28) || (bv == BN_28)) {
|
|
161
158
|
return BN_0;
|
|
162
159
|
}
|
|
163
160
|
// Bad value for an EIP-155 v
|
|
@@ -171,15 +168,13 @@ class Signature {
|
|
|
171
168
|
* property to include the chain ID.
|
|
172
169
|
*
|
|
173
170
|
* @example:
|
|
174
|
-
* Signature.getChainIdV(5, 27)
|
|
175
|
-
* //_result:
|
|
176
171
|
*
|
|
177
172
|
* Signature.getChainIdV(5, 28)
|
|
178
173
|
* //_result:
|
|
179
174
|
*
|
|
180
175
|
*/
|
|
181
176
|
static getChainIdV(chainId, v) {
|
|
182
|
-
return ((0, index_js_2.getBigInt)(chainId) * BN_2) + BigInt(35 + v -
|
|
177
|
+
return ((0, index_js_2.getBigInt)(chainId) * BN_2) + BigInt(35 + v - 28);
|
|
183
178
|
}
|
|
184
179
|
/**
|
|
185
180
|
* Compute the normalized legacy transaction ``v`` from a ``yParirty``,
|
|
@@ -190,10 +185,6 @@ class Signature {
|
|
|
190
185
|
* Signature.getNormalizedV(0)
|
|
191
186
|
* //_result:
|
|
192
187
|
*
|
|
193
|
-
* // Legacy non-EIP-1559 transaction (i.e. 27 or 28)
|
|
194
|
-
* Signature.getNormalizedV(27)
|
|
195
|
-
* //_result:
|
|
196
|
-
*
|
|
197
188
|
* // Legacy EIP-155 transaction (i.e. >= 35)
|
|
198
189
|
* Signature.getNormalizedV(46)
|
|
199
190
|
* //_result:
|
|
@@ -202,18 +193,16 @@ class Signature {
|
|
|
202
193
|
* Signature.getNormalizedV(5)
|
|
203
194
|
* //_error:
|
|
204
195
|
*/
|
|
205
|
-
static getNormalizedV(v) {
|
|
206
|
-
const bv =
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
return (bv & BN_1) ? 27 : 28;
|
|
216
|
-
}
|
|
196
|
+
/*static getNormalizedV(v: BigNumberish): 28 {
|
|
197
|
+
const bv = getBigInt(v);
|
|
198
|
+
|
|
199
|
+
if (bv === BN_1 || bv === BN_28) { return 28; }
|
|
200
|
+
|
|
201
|
+
assertArgument(bv >= BN_35, "invalid v", "v", v);
|
|
202
|
+
|
|
203
|
+
// Otherwise, EIP-155 v means odd is 28 and even is 28
|
|
204
|
+
return (bv & BN_1) ? 28: 28;
|
|
205
|
+
}*/
|
|
217
206
|
/**
|
|
218
207
|
* Creates a new [[Signature]].
|
|
219
208
|
*
|
|
@@ -228,77 +217,85 @@ class Signature {
|
|
|
228
217
|
}
|
|
229
218
|
;
|
|
230
219
|
if (sig == null) {
|
|
231
|
-
return new Signature(_guard, index_js_1.ZeroHash, index_js_1.ZeroHash,
|
|
220
|
+
return new Signature(_guard, index_js_1.ZeroHash, index_js_1.ZeroHash, 28);
|
|
232
221
|
}
|
|
233
222
|
if (typeof (sig) === "string") {
|
|
234
|
-
const bytes =
|
|
223
|
+
/*const bytes = getBytes(sig, "signature");
|
|
235
224
|
if (bytes.length === 64) {
|
|
236
|
-
const r =
|
|
225
|
+
const r = hexlify(bytes.slice(0, 32));
|
|
237
226
|
const s = bytes.slice(32, 64);
|
|
238
|
-
const v = (s[0] & 0x80) ? 28
|
|
227
|
+
const v = (s[0] & 0x80) ? 28: 28;
|
|
239
228
|
s[0] &= 0x7f;
|
|
240
|
-
return new Signature(_guard, r,
|
|
229
|
+
return new Signature(_guard, r, hexlify(s), v);
|
|
241
230
|
}
|
|
231
|
+
|
|
242
232
|
if (bytes.length === 65) {
|
|
243
|
-
const r =
|
|
233
|
+
const r = hexlify(bytes.slice(0, 32));
|
|
244
234
|
const s = bytes.slice(32, 64);
|
|
245
235
|
assertError((s[0] & 0x80) === 0, "non-canonical s");
|
|
246
236
|
const v = Signature.getNormalizedV(bytes[64]);
|
|
247
|
-
return new Signature(_guard, r,
|
|
248
|
-
}
|
|
237
|
+
return new Signature(_guard, r, hexlify(s), v);
|
|
238
|
+
}*/
|
|
249
239
|
assertError(false, "invalid raw signature length");
|
|
250
240
|
}
|
|
251
241
|
if (sig instanceof Signature) {
|
|
252
242
|
return sig.clone();
|
|
253
243
|
}
|
|
254
|
-
|
|
244
|
+
return new Signature(_guard, index_js_1.ZeroHash, index_js_1.ZeroHash, 28); //todo
|
|
245
|
+
/*// Get r
|
|
255
246
|
const _r = sig.r;
|
|
256
247
|
assertError(_r != null, "missing r");
|
|
257
248
|
const r = toUint256(_r);
|
|
249
|
+
|
|
258
250
|
// Get s; by any means necessary (we check consistency below)
|
|
259
|
-
const s = (function
|
|
260
|
-
if (s != null) {
|
|
261
|
-
|
|
262
|
-
}
|
|
251
|
+
const s = (function(s?: string, yParityAndS?: string) {
|
|
252
|
+
if (s != null) { return toUint256(s); }
|
|
253
|
+
|
|
263
254
|
if (yParityAndS != null) {
|
|
264
|
-
assertError(
|
|
265
|
-
const bytes =
|
|
255
|
+
assertError(isHexString(yParityAndS, 32), "invalid yParityAndS");
|
|
256
|
+
const bytes = getBytes(yParityAndS);
|
|
266
257
|
bytes[0] &= 0x7f;
|
|
267
|
-
return
|
|
258
|
+
return hexlify(bytes);
|
|
268
259
|
}
|
|
260
|
+
|
|
269
261
|
assertError(false, "missing s");
|
|
270
262
|
})(sig.s, sig.yParityAndS);
|
|
271
|
-
assertError((
|
|
263
|
+
assertError((getBytes(s)[0] & 0x80) == 0, "non-canonical s");
|
|
264
|
+
|
|
272
265
|
// Get v; by any means necessary (we check consistency below)
|
|
273
|
-
const { networkV, v } = (function
|
|
266
|
+
const { networkV, v } = (function(_v?: BigNumberish, yParityAndS?: string, yParity?: Numeric): { networkV?: bigint, v: 28 | 28 } {
|
|
274
267
|
if (_v != null) {
|
|
275
|
-
const v =
|
|
268
|
+
const v = getBigInt(_v);
|
|
276
269
|
return {
|
|
277
|
-
networkV: ((v >= BN_35) ? v
|
|
270
|
+
networkV: ((v >= BN_35) ? v: undefined),
|
|
278
271
|
v: Signature.getNormalizedV(v)
|
|
279
272
|
};
|
|
280
273
|
}
|
|
274
|
+
|
|
281
275
|
if (yParityAndS != null) {
|
|
282
|
-
assertError(
|
|
283
|
-
return { v: ((
|
|
276
|
+
assertError(isHexString(yParityAndS, 32), "invalid yParityAndS");
|
|
277
|
+
return { v: ((getBytes(yParityAndS)[0] & 0x80) ? 28: 28) };
|
|
284
278
|
}
|
|
279
|
+
|
|
285
280
|
if (yParity != null) {
|
|
286
|
-
switch (
|
|
287
|
-
case 0: return { v:
|
|
281
|
+
switch (getNumber(yParity, "sig.yParity")) {
|
|
282
|
+
case 0: return { v: 28 };
|
|
288
283
|
case 1: return { v: 28 };
|
|
289
284
|
}
|
|
290
285
|
assertError(false, "invalid yParity");
|
|
291
286
|
}
|
|
287
|
+
|
|
292
288
|
assertError(false, "missing v");
|
|
293
289
|
})(sig.v, sig.yParityAndS, sig.yParity);
|
|
290
|
+
|
|
294
291
|
const result = new Signature(_guard, r, s, v);
|
|
295
|
-
if (networkV) {
|
|
296
|
-
|
|
297
|
-
}
|
|
292
|
+
if (networkV) { result.#networkV = networkV; }
|
|
293
|
+
|
|
298
294
|
// If multiple of v, yParity, yParityAndS we given, check they match
|
|
299
|
-
assertError(sig.yParity == null ||
|
|
295
|
+
assertError(sig.yParity == null || getNumber(sig.yParity, "sig.yParity") === result.yParity, "yParity mismatch");
|
|
300
296
|
assertError(sig.yParityAndS == null || sig.yParityAndS === result.yParityAndS, "yParityAndS mismatch");
|
|
301
|
-
|
|
297
|
+
|
|
298
|
+
return result;*/
|
|
302
299
|
}
|
|
303
300
|
}
|
|
304
301
|
exports.Signature = Signature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src.ts/crypto/signature.ts"],"names":[],"mappings":";;;AACA,oDAAiD;AACjD,gDAI2B;
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src.ts/crypto/signature.ts"],"names":[],"mappings":"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"}
|