@prosopo/keyring 2.6.4 → 2.8.6
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/CHANGELOG.md +65 -0
- package/README.md +8 -0
- package/dist/accounts/getPair.d.ts +2 -3
- package/dist/accounts/getPair.d.ts.map +1 -1
- package/dist/accounts/getPair.js +3 -8
- package/dist/accounts/getPair.js.map +1 -1
- package/dist/accounts/index.d.ts +1 -0
- package/dist/accounts/index.d.ts.map +1 -1
- package/dist/accounts/index.js +1 -0
- package/dist/accounts/index.js.map +1 -1
- package/dist/accounts/mnemonic.d.ts +2 -2
- package/dist/accounts/mnemonic.d.ts.map +1 -1
- package/dist/accounts/mnemonic.js +2 -4
- package/dist/accounts/mnemonic.js.map +1 -1
- package/dist/accounts/testAccounts.d.ts +4 -0
- package/dist/accounts/testAccounts.d.ts.map +1 -0
- package/dist/accounts/testAccounts.js +38 -0
- package/dist/accounts/testAccounts.js.map +1 -0
- package/dist/cjs/accounts/getPair.cjs +4 -10
- package/dist/cjs/accounts/index.cjs +3 -1
- package/dist/cjs/accounts/mnemonic.cjs +8 -9
- package/dist/cjs/accounts/testAccounts.cjs +44 -0
- package/dist/cjs/dist/accounts/getPair.cjs +41 -0
- package/dist/cjs/dist/accounts/index.cjs +10 -0
- package/dist/cjs/dist/accounts/mnemonic.cjs +19 -0
- package/dist/cjs/dist/accounts/testAccounts.cjs +42 -0
- package/dist/cjs/dist/index.cjs +6 -0
- package/dist/cjs/dist/keyring/index.cjs +7 -0
- package/dist/cjs/dist/keyring/keyring.cjs +138 -0
- package/dist/cjs/dist/keyring/pairs.cjs +31 -0
- package/dist/cjs/dist/pair/decode.cjs +32 -0
- package/dist/cjs/dist/pair/defaults.cjs +31 -0
- package/dist/cjs/dist/pair/encode.cjs +18 -0
- package/dist/cjs/dist/pair/index.cjs +143 -0
- package/dist/cjs/dist/pair/toJson.cjs +11 -0
- package/dist/cjs/index.cjs +11 -1
- package/dist/cjs/keyring/index.cjs +7 -0
- package/dist/cjs/keyring/keyring.cjs +271 -0
- package/dist/cjs/keyring/pairs.cjs +28 -0
- package/dist/cjs/pair/decode.cjs +32 -0
- package/dist/cjs/pair/defaults.cjs +31 -0
- package/dist/cjs/pair/encode.cjs +18 -0
- package/dist/cjs/pair/index.cjs +156 -0
- package/dist/cjs/pair/toJson.cjs +14 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/keyring/index.d.ts +3 -0
- package/dist/keyring/index.d.ts.map +1 -0
- package/dist/keyring/index.js +3 -0
- package/dist/keyring/index.js.map +1 -0
- package/dist/keyring/keyring.d.ts +36 -0
- package/dist/keyring/keyring.d.ts.map +1 -0
- package/dist/keyring/keyring.js +146 -0
- package/dist/keyring/keyring.js.map +1 -0
- package/dist/keyring/pairs.d.ts +9 -0
- package/dist/keyring/pairs.d.ts.map +1 -0
- package/dist/keyring/pairs.js +31 -0
- package/dist/keyring/pairs.js.map +1 -0
- package/dist/keyring/testing.d.ts +14 -0
- package/dist/keyring/testing.d.ts.map +1 -0
- package/dist/keyring/testing.js +76 -0
- package/dist/keyring/testing.js.map +1 -0
- package/dist/keyring/testingPairs.d.ts +26 -0
- package/dist/keyring/testingPairs.d.ts.map +1 -0
- package/dist/keyring/testingPairs.js +14 -0
- package/dist/keyring/testingPairs.js.map +1 -0
- package/dist/pair/decode.d.ts +6 -0
- package/dist/pair/decode.d.ts.map +1 -0
- package/dist/pair/decode.js +30 -0
- package/dist/pair/decode.js.map +1 -0
- package/dist/pair/decode.spec.d.ts +2 -0
- package/dist/pair/decode.spec.d.ts.map +1 -0
- package/dist/pair/decode.spec.js +13 -0
- package/dist/pair/decode.spec.js.map +1 -0
- package/dist/pair/defaults.d.ts +7 -0
- package/dist/pair/defaults.d.ts.map +1 -0
- package/dist/pair/defaults.js +9 -0
- package/dist/pair/defaults.js.map +1 -0
- package/dist/pair/encode.d.ts +3 -0
- package/dist/pair/encode.d.ts.map +1 -0
- package/dist/pair/encode.js +16 -0
- package/dist/pair/encode.js.map +1 -0
- package/dist/pair/encode.spec.d.ts +2 -0
- package/dist/pair/encode.spec.d.ts.map +1 -0
- package/dist/pair/encode.spec.js +16 -0
- package/dist/pair/encode.spec.js.map +1 -0
- package/dist/pair/index.d.ts +11 -0
- package/dist/pair/index.d.ts.map +1 -0
- package/dist/pair/index.js +151 -0
- package/dist/pair/index.js.map +1 -0
- package/dist/pair/nobody.d.ts +3 -0
- package/dist/pair/nobody.d.ts.map +1 -0
- package/dist/pair/nobody.js +40 -0
- package/dist/pair/nobody.js.map +1 -0
- package/dist/pair/toJson.d.ts +9 -0
- package/dist/pair/toJson.d.ts.map +1 -0
- package/dist/pair/toJson.js +9 -0
- package/dist/pair/toJson.js.map +1 -0
- package/dist/pair/toJson.spec.d.ts +2 -0
- package/dist/pair/toJson.spec.d.ts.map +1 -0
- package/dist/pair/toJson.spec.js +33 -0
- package/dist/pair/toJson.spec.js.map +1 -0
- package/package.json +15 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# @prosopo/keyring
|
|
2
2
|
|
|
3
|
+
## 2.8.6
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- Updated dependencies [b0d7207]
|
|
7
|
+
- @prosopo/types@3.0.3
|
|
8
|
+
|
|
9
|
+
## 2.8.5
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [f682f0c]
|
|
13
|
+
- @prosopo/types@3.0.2
|
|
14
|
+
- @prosopo/common@3.0.2
|
|
15
|
+
|
|
16
|
+
## 2.8.4
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- @prosopo/common@3.0.1
|
|
20
|
+
- @prosopo/types@3.0.1
|
|
21
|
+
|
|
22
|
+
## 2.8.3
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Updated dependencies [64b5bcd]
|
|
26
|
+
- @prosopo/common@3.0.0
|
|
27
|
+
- @prosopo/types@3.0.0
|
|
28
|
+
|
|
29
|
+
## 2.8.2
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [aee3efe]
|
|
33
|
+
- @prosopo/types@2.10.0
|
|
34
|
+
|
|
35
|
+
## 2.8.1
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- 86c22b8: structured logging
|
|
39
|
+
- Updated dependencies [86c22b8]
|
|
40
|
+
- @prosopo/util-crypto@13.5.1
|
|
41
|
+
- @prosopo/common@2.7.2
|
|
42
|
+
- @prosopo/types@2.9.1
|
|
43
|
+
|
|
44
|
+
## 2.8.0
|
|
45
|
+
### Minor Changes
|
|
46
|
+
|
|
47
|
+
- 30bb383: Making sure verify works and derived accounts
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- Updated dependencies [30bb383]
|
|
52
|
+
- @prosopo/util-crypto@13.5.0
|
|
53
|
+
- @prosopo/types@2.9.0
|
|
54
|
+
- @prosopo/common@2.7.1
|
|
55
|
+
|
|
56
|
+
## 2.7.0
|
|
57
|
+
### Minor Changes
|
|
58
|
+
|
|
59
|
+
- 8f0644a: Taking required functions from polkadot/keyring and polkadot/util-crypto in-house and removing WASM dependencies. Adding @scure JS-based sr25519 function instead.
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- Updated dependencies [8f0644a]
|
|
64
|
+
- @prosopo/util-crypto@13.4.0
|
|
65
|
+
- @prosopo/common@2.7.0
|
|
66
|
+
- @prosopo/types@2.8.0
|
|
67
|
+
|
|
3
68
|
## 2.6.4
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|
package/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
This is a selective clone
|
|
2
|
+
of [keyring](https://github.com/polkadot-js/common/tree/25fe5f4e27d6dfe0a26082925a49207f2bfcd9fd/packages/keyring)
|
|
3
|
+
from the Polkadot JS repository at `25fe5f4e27d6dfe0a26082925a49207f2bfcd9fd`. Modifications have been made as follows:
|
|
4
|
+
|
|
5
|
+
- tests switched to vitest
|
|
6
|
+
- package name changed to @prosopo/util-crypto
|
|
7
|
+
- WASM dropped and replaced with JS implementation of sr25519 from @scure/sr25519
|
|
8
|
+
- other account types (`ecdsa`, `ed25519`, `ethereum`) dropped
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { KeyringPair, KeyringPair$Json } from "@polkadot/keyring/types";
|
|
2
|
-
import type { KeypairType } from "@polkadot/util-crypto/types";
|
|
3
1
|
import type { PolkadotSecretJSON } from "@prosopo/types";
|
|
4
|
-
|
|
2
|
+
import type { KeyringPair, KeyringPair$Json } from "@prosopo/types";
|
|
3
|
+
import type { KeypairType } from "@prosopo/util-crypto";
|
|
5
4
|
export declare function getPair(secret?: string | KeyringPair$Json | PolkadotSecretJSON, account?: string | Uint8Array, pairType?: KeypairType, ss58Format?: number): KeyringPair;
|
|
6
5
|
//# sourceMappingURL=getPair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPair.d.ts","sourceRoot":"","sources":["../../src/accounts/getPair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPair.d.ts","sourceRoot":"","sources":["../../src/accounts/getPair.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,wBAAgB,OAAO,CACtB,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,kBAAkB,EACvD,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,EAC7B,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,GACjB,WAAW,CAkCb"}
|
package/dist/accounts/getPair.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { Keyring } from "@polkadot/keyring";
|
|
2
|
-
import { cryptoWaitReady } from "@polkadot/util-crypto";
|
|
3
|
-
import { mnemonicValidate } from "@polkadot/util-crypto/mnemonic";
|
|
4
1
|
import { hexToU8a } from "@polkadot/util/hex";
|
|
5
2
|
import { isHex } from "@polkadot/util/is";
|
|
6
3
|
import { ProsopoEnvError } from "@prosopo/common";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return getPair(secret, account, pairType, ss58Format);
|
|
10
|
-
}
|
|
4
|
+
import { mnemonicValidate } from "@prosopo/util-crypto";
|
|
5
|
+
import { Keyring } from "../keyring/keyring.js";
|
|
11
6
|
export function getPair(secret, account, pairType, ss58Format) {
|
|
12
7
|
pairType = pairType || "sr25519";
|
|
13
8
|
ss58Format = ss58Format || 42;
|
|
@@ -22,7 +17,7 @@ export function getPair(secret, account, pairType, ss58Format) {
|
|
|
22
17
|
if (isHex(secret)) {
|
|
23
18
|
return keyring.addFromSeed(hexToU8a(secret));
|
|
24
19
|
}
|
|
25
|
-
if (secret.
|
|
20
|
+
if (secret.includes("//")) {
|
|
26
21
|
return keyring.addFromUri(secret);
|
|
27
22
|
}
|
|
28
23
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPair.js","sourceRoot":"","sources":["../../src/accounts/getPair.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getPair.js","sourceRoot":"","sources":["../../src/accounts/getPair.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,UAAU,OAAO,CACtB,MAAuD,EACvD,OAA6B,EAC7B,QAAsB,EACtB,UAAmB;IAEnB,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC;IACjC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,EACL,QAAQ,EAAE,EAAE,OAAO,EAAE,GACrB,GAAG,IAAI,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC,WAAW,CAAC,IAAwB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE;gBACxD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;aACrB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,WAAW,CAAC,MAA0B,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC"}
|
package/dist/accounts/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/accounts/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/accounts/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
package/dist/accounts/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/accounts/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/accounts/index.ts"],"names":[],"mappings":"AAaA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Keyring } from "@
|
|
2
|
-
import type { KeypairType } from "@
|
|
1
|
+
import { Keyring } from "@prosopo/keyring";
|
|
2
|
+
import type { KeypairType } from "@prosopo/util-crypto";
|
|
3
3
|
export declare function generateMnemonic(keyring?: Keyring, pairType?: KeypairType): Promise<[string, string]>;
|
|
4
4
|
export declare function generateMiniSecret(keyring?: Keyring, pairType?: KeypairType): Promise<[Uint8Array, string]>;
|
|
5
5
|
//# sourceMappingURL=mnemonic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/accounts/mnemonic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../src/accounts/mnemonic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,wBAAsB,gBAAgB,CACrC,OAAO,CAAC,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO3B;AAMD,wBAAsB,kBAAkB,CACvC,OAAO,CAAC,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAG/B"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Keyring } from "@
|
|
2
|
-
import {
|
|
3
|
-
import { mnemonicGenerate, mnemonicToMiniSecret, } from "@polkadot/util-crypto/mnemonic";
|
|
1
|
+
import { Keyring } from "@prosopo/keyring";
|
|
2
|
+
import { mnemonicGenerate, mnemonicToMiniSecret } from "@prosopo/util-crypto";
|
|
4
3
|
export async function generateMnemonic(keyring, pairType) {
|
|
5
4
|
if (!keyring) {
|
|
6
5
|
keyring = new Keyring({ type: pairType || "sr25519" });
|
|
7
6
|
}
|
|
8
|
-
await cryptoWaitReady();
|
|
9
7
|
const mnemonic = mnemonicGenerate();
|
|
10
8
|
const account = keyring.addFromMnemonic(mnemonic);
|
|
11
9
|
return [mnemonic, account.address];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../src/accounts/mnemonic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../src/accounts/mnemonic.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,OAAiB,EACjB,QAAsB;IAEtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,OAAiB,EACjB,QAAsB;IAEtB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testAccounts.d.ts","sourceRoot":"","sources":["../../src/accounts/testAccounts.ts"],"names":[],"mappings":"AAcA,OAAO,EAGN,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,kBAAkB,IAAI,KAAK,EAAE,CAqB5C;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,EAAE,CAcxD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CaptchaType, ClientSettingsSchema, } from "@prosopo/types";
|
|
2
|
+
import { DEV_PHRASE } from "../keyring/index.js";
|
|
3
|
+
import { getPair } from "./getPair.js";
|
|
4
|
+
export function getDefaultSiteKeys() {
|
|
5
|
+
const captchaTypes = [
|
|
6
|
+
CaptchaType.image,
|
|
7
|
+
CaptchaType.pow,
|
|
8
|
+
CaptchaType.frictionless,
|
|
9
|
+
CaptchaType.invisible,
|
|
10
|
+
];
|
|
11
|
+
const sites = [];
|
|
12
|
+
for (const captchaType of captchaTypes) {
|
|
13
|
+
const secret = `${DEV_PHRASE}//${captchaType}`;
|
|
14
|
+
const pair = getPair(secret);
|
|
15
|
+
sites.push({
|
|
16
|
+
pair: pair,
|
|
17
|
+
address: pair.address,
|
|
18
|
+
secret: secret,
|
|
19
|
+
settings: ClientSettingsSchema.parse({
|
|
20
|
+
captchaType: captchaType,
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
return sites;
|
|
25
|
+
}
|
|
26
|
+
export function getDefaultProviders() {
|
|
27
|
+
const pair = getPair("puppy cream effort carbon despair leg pyramid cotton endorse immense drill peasant");
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
url: "http://localhost:9229",
|
|
31
|
+
pair: pair,
|
|
32
|
+
address: pair.address,
|
|
33
|
+
datasetFile: "./dev/data/captchas.json",
|
|
34
|
+
captchaDatasetId: "0x3e067b8f6aeae82fdbe2b2557b9c2d90aaabff241df651bf0f36667d2ab0018d",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=testAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testAccounts.js","sourceRoot":"","sources":["../../src/accounts/testAccounts.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,WAAW,EACX,oBAAoB,GAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,UAAU,kBAAkB;IACjC,MAAM,YAAY,GAAG;QACpB,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,GAAG;QACf,WAAW,CAAC,YAAY;QACxB,WAAW,CAAC,SAAS;KACrB,CAAC;IACF,MAAM,KAAK,GAAY,EAAE,CAAC;IAC1B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,GAAG,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC;gBACpC,WAAW,EAAE,WAAW;aACxB,CAAC;SACF,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB;IAClC,MAAM,IAAI,GAAG,OAAO,CACnB,oFAAoF,CACpF,CAAC;IACF,OAAO;QACN;YACC,GAAG,EAAE,uBAAuB;YAC5B,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,0BAA0B;YACvC,gBAAgB,EACf,oEAAoE;SACrE;KACD,CAAC;AACH,CAAC"}
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const keyring = require("@polkadot/keyring");
|
|
4
|
-
const utilCrypto = require("@polkadot/util-crypto");
|
|
5
|
-
const mnemonic = require("@polkadot/util-crypto/mnemonic");
|
|
6
3
|
const hex = require("@polkadot/util/hex");
|
|
7
4
|
const is = require("@polkadot/util/is");
|
|
8
5
|
const common = require("@prosopo/common");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return getPair(secret, account, pairType, ss58Format);
|
|
12
|
-
}
|
|
6
|
+
const utilCrypto = require("@prosopo/util-crypto");
|
|
7
|
+
const keyring = require("../keyring/keyring.cjs");
|
|
13
8
|
function getPair(secret, account, pairType, ss58Format) {
|
|
14
9
|
pairType = pairType || "sr25519";
|
|
15
10
|
ss58Format = ss58Format || 42;
|
|
@@ -18,13 +13,13 @@ function getPair(secret, account, pairType, ss58Format) {
|
|
|
18
13
|
return keyring$1.addFromAddress(account);
|
|
19
14
|
}
|
|
20
15
|
if (secret && typeof secret === "string") {
|
|
21
|
-
if (
|
|
16
|
+
if (utilCrypto.mnemonicValidate(secret)) {
|
|
22
17
|
return keyring$1.addFromMnemonic(secret);
|
|
23
18
|
}
|
|
24
19
|
if (is.isHex(secret)) {
|
|
25
20
|
return keyring$1.addFromSeed(hex.hexToU8a(secret));
|
|
26
21
|
}
|
|
27
|
-
if (secret.
|
|
22
|
+
if (secret.includes("//")) {
|
|
28
23
|
return keyring$1.addFromUri(secret);
|
|
29
24
|
}
|
|
30
25
|
try {
|
|
@@ -46,4 +41,3 @@ function getPair(secret, account, pairType, ss58Format) {
|
|
|
46
41
|
}
|
|
47
42
|
}
|
|
48
43
|
exports.getPair = getPair;
|
|
49
|
-
exports.getPairAsync = getPairAsync;
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const mnemonic = require("./mnemonic.cjs");
|
|
4
4
|
const getPair = require("./getPair.cjs");
|
|
5
|
+
const testAccounts = require("./testAccounts.cjs");
|
|
5
6
|
exports.generateMiniSecret = mnemonic.generateMiniSecret;
|
|
6
7
|
exports.generateMnemonic = mnemonic.generateMnemonic;
|
|
7
8
|
exports.getPair = getPair.getPair;
|
|
8
|
-
exports.
|
|
9
|
+
exports.getDefaultProviders = testAccounts.getDefaultProviders;
|
|
10
|
+
exports.getDefaultSiteKeys = testAccounts.getDefaultSiteKeys;
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
|
|
4
|
-
const utilCrypto = require("@
|
|
5
|
-
const
|
|
3
|
+
require("../dist/index.cjs");
|
|
4
|
+
const utilCrypto = require("@prosopo/util-crypto");
|
|
5
|
+
const keyring = require("../dist/keyring/keyring.cjs");
|
|
6
6
|
async function generateMnemonic(keyring$1, pairType) {
|
|
7
7
|
if (!keyring$1) {
|
|
8
8
|
keyring$1 = new keyring.Keyring({ type: pairType || "sr25519" });
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
return [mnemonic$1, account.address];
|
|
10
|
+
const mnemonic = utilCrypto.mnemonicGenerate();
|
|
11
|
+
const account = keyring$1.addFromMnemonic(mnemonic);
|
|
12
|
+
return [mnemonic, account.address];
|
|
14
13
|
}
|
|
15
14
|
async function generateMiniSecret(keyring2, pairType) {
|
|
16
|
-
const [mnemonic
|
|
17
|
-
return [
|
|
15
|
+
const [mnemonic, address] = await generateMnemonic(keyring2, pairType);
|
|
16
|
+
return [utilCrypto.mnemonicToMiniSecret(mnemonic), address];
|
|
18
17
|
}
|
|
19
18
|
exports.generateMiniSecret = generateMiniSecret;
|
|
20
19
|
exports.generateMnemonic = generateMnemonic;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const types = require("@prosopo/types");
|
|
4
|
+
require("../keyring/index.cjs");
|
|
5
|
+
const getPair = require("./getPair.cjs");
|
|
6
|
+
const keyring = require("../keyring/keyring.cjs");
|
|
7
|
+
function getDefaultSiteKeys() {
|
|
8
|
+
const captchaTypes = [
|
|
9
|
+
types.CaptchaType.image,
|
|
10
|
+
types.CaptchaType.pow,
|
|
11
|
+
types.CaptchaType.frictionless,
|
|
12
|
+
types.CaptchaType.invisible
|
|
13
|
+
];
|
|
14
|
+
const sites = [];
|
|
15
|
+
for (const captchaType of captchaTypes) {
|
|
16
|
+
const secret = `${keyring.DEV_PHRASE}//${captchaType}`;
|
|
17
|
+
const pair = getPair.getPair(secret);
|
|
18
|
+
sites.push({
|
|
19
|
+
pair,
|
|
20
|
+
address: pair.address,
|
|
21
|
+
secret,
|
|
22
|
+
settings: types.ClientSettingsSchema.parse({
|
|
23
|
+
captchaType
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return sites;
|
|
28
|
+
}
|
|
29
|
+
function getDefaultProviders() {
|
|
30
|
+
const pair = getPair.getPair(
|
|
31
|
+
"puppy cream effort carbon despair leg pyramid cotton endorse immense drill peasant"
|
|
32
|
+
);
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
url: "http://localhost:9229",
|
|
36
|
+
pair,
|
|
37
|
+
address: pair.address,
|
|
38
|
+
datasetFile: "./dev/data/captchas.json",
|
|
39
|
+
captchaDatasetId: "0x3e067b8f6aeae82fdbe2b2557b9c2d90aaabff241df651bf0f36667d2ab0018d"
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
exports.getDefaultProviders = getDefaultProviders;
|
|
44
|
+
exports.getDefaultSiteKeys = getDefaultSiteKeys;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const hex = require("@polkadot/util/hex");
|
|
4
|
+
const is = require("@polkadot/util/is");
|
|
5
|
+
const common = require("@prosopo/common");
|
|
6
|
+
const utilCrypto = require("@prosopo/util-crypto");
|
|
7
|
+
const keyring = require("../keyring/keyring.cjs");
|
|
8
|
+
function getPair(secret, account, pairType, ss58Format) {
|
|
9
|
+
pairType = pairType || "sr25519";
|
|
10
|
+
ss58Format = ss58Format || 42;
|
|
11
|
+
const keyring$1 = new keyring.Keyring({ type: pairType, ss58Format });
|
|
12
|
+
if (!secret && account) {
|
|
13
|
+
return keyring$1.addFromAddress(account);
|
|
14
|
+
}
|
|
15
|
+
if (secret && typeof secret === "string") {
|
|
16
|
+
if (utilCrypto.mnemonicValidate(secret)) {
|
|
17
|
+
return keyring$1.addFromMnemonic(secret);
|
|
18
|
+
}
|
|
19
|
+
if (is.isHex(secret)) {
|
|
20
|
+
return keyring$1.addFromSeed(hex.hexToU8a(secret));
|
|
21
|
+
}
|
|
22
|
+
if (secret.includes("//")) {
|
|
23
|
+
return keyring$1.addFromUri(secret);
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
const json = JSON.parse(secret);
|
|
27
|
+
const { encoding: { content } } = json;
|
|
28
|
+
const keyring$12 = new keyring.Keyring({ type: content[1], ss58Format });
|
|
29
|
+
return keyring$12.addFromJson(json);
|
|
30
|
+
} catch (e) {
|
|
31
|
+
throw new common.ProsopoEnvError("GENERAL.NO_MNEMONIC_OR_SEED", {
|
|
32
|
+
context: { error: e }
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
} else if (typeof secret === "object") {
|
|
36
|
+
return keyring$1.addFromJson(secret);
|
|
37
|
+
} else {
|
|
38
|
+
throw new common.ProsopoEnvError("GENERAL.NO_MNEMONIC_OR_SEED");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.getPair = getPair;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const mnemonic = require("./mnemonic.cjs");
|
|
4
|
+
const getPair = require("./getPair.cjs");
|
|
5
|
+
const testAccounts = require("./testAccounts.cjs");
|
|
6
|
+
exports.generateMiniSecret = mnemonic.generateMiniSecret;
|
|
7
|
+
exports.generateMnemonic = mnemonic.generateMnemonic;
|
|
8
|
+
exports.getPair = getPair.getPair;
|
|
9
|
+
exports.getDefaultProviders = testAccounts.getDefaultProviders;
|
|
10
|
+
exports.getDefaultSiteKeys = testAccounts.getDefaultSiteKeys;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
require("../index.cjs");
|
|
4
|
+
const utilCrypto = require("@prosopo/util-crypto");
|
|
5
|
+
const keyring = require("../keyring/keyring.cjs");
|
|
6
|
+
async function generateMnemonic(keyring$1, pairType) {
|
|
7
|
+
if (!keyring$1) {
|
|
8
|
+
keyring$1 = new keyring.Keyring({ type: pairType || "sr25519" });
|
|
9
|
+
}
|
|
10
|
+
const mnemonic = utilCrypto.mnemonicGenerate();
|
|
11
|
+
const account = keyring$1.addFromMnemonic(mnemonic);
|
|
12
|
+
return [mnemonic, account.address];
|
|
13
|
+
}
|
|
14
|
+
async function generateMiniSecret(keyring2, pairType) {
|
|
15
|
+
const [mnemonic, address] = await generateMnemonic(keyring2, pairType);
|
|
16
|
+
return [utilCrypto.mnemonicToMiniSecret(mnemonic), address];
|
|
17
|
+
}
|
|
18
|
+
exports.generateMiniSecret = generateMiniSecret;
|
|
19
|
+
exports.generateMnemonic = generateMnemonic;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const types = require("@prosopo/types");
|
|
4
|
+
require("../keyring/index.cjs");
|
|
5
|
+
const getPair = require("./getPair.cjs");
|
|
6
|
+
const keyring = require("../keyring/keyring.cjs");
|
|
7
|
+
function getDefaultSiteKeys() {
|
|
8
|
+
const captchaTypes = [
|
|
9
|
+
types.CaptchaType.image,
|
|
10
|
+
types.CaptchaType.pow,
|
|
11
|
+
types.CaptchaType.frictionless,
|
|
12
|
+
types.CaptchaType.invisible
|
|
13
|
+
];
|
|
14
|
+
const sites = [];
|
|
15
|
+
for (const captchaType of captchaTypes) {
|
|
16
|
+
const secret = `${keyring.DEV_PHRASE}//${captchaType}`;
|
|
17
|
+
const pair = getPair.getPair(secret);
|
|
18
|
+
sites.push({
|
|
19
|
+
pair,
|
|
20
|
+
address: pair.address,
|
|
21
|
+
secret,
|
|
22
|
+
settings: types.ClientSettingsSchema.parse({
|
|
23
|
+
captchaType
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return sites;
|
|
28
|
+
}
|
|
29
|
+
function getDefaultProviders() {
|
|
30
|
+
const pair = getPair.getPair("puppy cream effort carbon despair leg pyramid cotton endorse immense drill peasant");
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
url: "http://localhost:9229",
|
|
34
|
+
pair,
|
|
35
|
+
address: pair.address,
|
|
36
|
+
datasetFile: "./dev/data/captchas.json",
|
|
37
|
+
captchaDatasetId: "0x3e067b8f6aeae82fdbe2b2557b9c2d90aaabff241df651bf0f36667d2ab0018d"
|
|
38
|
+
}
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
exports.getDefaultProviders = getDefaultProviders;
|
|
42
|
+
exports.getDefaultSiteKeys = getDefaultSiteKeys;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const keyring = require("./keyring.cjs");
|
|
4
|
+
const pairs = require("./pairs.cjs");
|
|
5
|
+
exports.DEV_PHRASE = keyring.DEV_PHRASE;
|
|
6
|
+
exports.Keyring = keyring.Keyring;
|
|
7
|
+
exports.Pairs = pairs.Pairs;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const tslib = require("tslib");
|
|
4
|
+
const util = require("@polkadot/util");
|
|
5
|
+
const hex = require("@polkadot/util/hex");
|
|
6
|
+
const is = require("@polkadot/util/is");
|
|
7
|
+
const utilCrypto = require("@prosopo/util-crypto");
|
|
8
|
+
const index = require("../pair/index.cjs");
|
|
9
|
+
const pairs = require("./pairs.cjs");
|
|
10
|
+
var _Keyring_pairs, _Keyring_type, _Keyring_ss58;
|
|
11
|
+
const DEV_PHRASE = "bottom drive obey lake curtain smoke basket hold race lonely fit walk";
|
|
12
|
+
const PairFromSeed = {
|
|
13
|
+
sr25519: (seed) => utilCrypto.sr25519FromSeed(seed),
|
|
14
|
+
ed25519: () => {
|
|
15
|
+
throw new Error("Not Implemented");
|
|
16
|
+
},
|
|
17
|
+
ecdsa: () => {
|
|
18
|
+
throw new Error("Not Implemented");
|
|
19
|
+
},
|
|
20
|
+
ethereum: () => {
|
|
21
|
+
throw new Error("Not Implemented");
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
function pairToPublic({ publicKey }) {
|
|
25
|
+
return publicKey;
|
|
26
|
+
}
|
|
27
|
+
class Keyring {
|
|
28
|
+
constructor(options = {}) {
|
|
29
|
+
_Keyring_pairs.set(this, void 0);
|
|
30
|
+
_Keyring_type.set(this, void 0);
|
|
31
|
+
_Keyring_ss58.set(this, void 0);
|
|
32
|
+
this.decodeAddress = utilCrypto.decodeAddress;
|
|
33
|
+
this.encodeAddress = (address, ss58Format) => {
|
|
34
|
+
return utilCrypto.encodeAddress(address, ss58Format ?? tslib.__classPrivateFieldGet(this, _Keyring_ss58, "f"));
|
|
35
|
+
};
|
|
36
|
+
options.type = options.type || "sr25519";
|
|
37
|
+
if (!["sr25519"].includes(options.type || "undefined")) {
|
|
38
|
+
throw new Error(`Expected a keyring type of either 'sr25519', found '${options.type || "unknown"}`);
|
|
39
|
+
}
|
|
40
|
+
tslib.__classPrivateFieldSet(this, _Keyring_pairs, new pairs.Pairs(), "f");
|
|
41
|
+
tslib.__classPrivateFieldSet(this, _Keyring_ss58, options.ss58Format, "f");
|
|
42
|
+
tslib.__classPrivateFieldSet(this, _Keyring_type, options.type, "f");
|
|
43
|
+
}
|
|
44
|
+
get pairs() {
|
|
45
|
+
return this.getPairs();
|
|
46
|
+
}
|
|
47
|
+
get publicKeys() {
|
|
48
|
+
return this.getPublicKeys();
|
|
49
|
+
}
|
|
50
|
+
get type() {
|
|
51
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_type, "f");
|
|
52
|
+
}
|
|
53
|
+
addPair(pair) {
|
|
54
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").add(pair);
|
|
55
|
+
}
|
|
56
|
+
addFromAddress(address, meta = {}, encoded = null, type = this.type, ignoreChecksum, encType) {
|
|
57
|
+
const publicKey = this.decodeAddress(address, ignoreChecksum);
|
|
58
|
+
return this.addPair(index.createPair({ toSS58: this.encodeAddress, type }, { publicKey, secretKey: new Uint8Array() }, meta, encoded, encType));
|
|
59
|
+
}
|
|
60
|
+
addFromJson(json, ignoreChecksum) {
|
|
61
|
+
return this.addPair(this.createFromJson(json, ignoreChecksum));
|
|
62
|
+
}
|
|
63
|
+
addFromMnemonic(mnemonic, meta = {}, type = this.type) {
|
|
64
|
+
return this.addFromUri(mnemonic, meta, type);
|
|
65
|
+
}
|
|
66
|
+
addFromPair(pair, meta = {}, type = this.type) {
|
|
67
|
+
return this.addPair(this.createFromPair(pair, meta, type));
|
|
68
|
+
}
|
|
69
|
+
addFromSeed(seed, meta = {}, type = this.type) {
|
|
70
|
+
return this.addPair(index.createPair({ toSS58: this.encodeAddress, type }, PairFromSeed[type](seed), meta, null));
|
|
71
|
+
}
|
|
72
|
+
addFromUri(suri, meta = {}, type = this.type) {
|
|
73
|
+
return this.addPair(this.createFromUri(suri, meta, type));
|
|
74
|
+
}
|
|
75
|
+
createFromJson({ address, encoded, encoding: { content, type, version }, meta }, ignoreChecksum) {
|
|
76
|
+
if (version === "3" && content[0] !== "pkcs8") {
|
|
77
|
+
throw new Error(`Unable to decode non-pkcs8 type, [${content.join(",")}] found}`);
|
|
78
|
+
}
|
|
79
|
+
const cryptoType = version === "0" || !Array.isArray(content) ? this.type : content[1];
|
|
80
|
+
if (!cryptoType) {
|
|
81
|
+
throw new Error("cryptoType is undefined");
|
|
82
|
+
}
|
|
83
|
+
const encType = !Array.isArray(type) ? [type] : type;
|
|
84
|
+
if (!["sr25519"].includes(cryptoType)) {
|
|
85
|
+
throw new Error(`Unknown crypto type ${cryptoType}`);
|
|
86
|
+
}
|
|
87
|
+
const publicKey = is.isHex(address) ? hex.hexToU8a(address) : this.decodeAddress(address, ignoreChecksum);
|
|
88
|
+
const decoded = is.isHex(encoded) ? hex.hexToU8a(encoded) : utilCrypto.base64Decode(encoded);
|
|
89
|
+
return index.createPair({ toSS58: this.encodeAddress, type: cryptoType }, { publicKey, secretKey: new Uint8Array() }, meta, decoded, encType);
|
|
90
|
+
}
|
|
91
|
+
createFromPair(pair, meta = {}, type = this.type) {
|
|
92
|
+
return index.createPair({ toSS58: this.encodeAddress, type }, pair, meta, null);
|
|
93
|
+
}
|
|
94
|
+
createFromUri(_suri, meta = {}, type = this.type) {
|
|
95
|
+
const suri = _suri.startsWith("//") ? `${DEV_PHRASE}${_suri}` : _suri;
|
|
96
|
+
const { derivePath, password, path, phrase } = utilCrypto.keyExtractSuri(suri);
|
|
97
|
+
let seed;
|
|
98
|
+
const isPhraseHex = is.isHex(phrase, 256);
|
|
99
|
+
if (isPhraseHex) {
|
|
100
|
+
seed = hex.hexToU8a(phrase);
|
|
101
|
+
} else {
|
|
102
|
+
const parts = phrase.split(" ");
|
|
103
|
+
if ([12, 15, 18, 21, 24].includes(parts.length)) {
|
|
104
|
+
seed = type === "ethereum" ? (() => {
|
|
105
|
+
throw new Error("Not implemented - Prosopo Keyring supports sr25519 only");
|
|
106
|
+
})() : utilCrypto.mnemonicToMiniSecret(phrase, password);
|
|
107
|
+
} else {
|
|
108
|
+
if (phrase.length > 32) {
|
|
109
|
+
throw new Error("specified phrase is not a valid mnemonic and is invalid as a raw seed at > 32 bytes");
|
|
110
|
+
}
|
|
111
|
+
seed = util.stringToU8a(phrase.padEnd(32));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const derived = utilCrypto.keyFromPath(PairFromSeed[type](seed), path, type);
|
|
115
|
+
return index.createPair({ toSS58: this.encodeAddress, type }, derived, meta, null);
|
|
116
|
+
}
|
|
117
|
+
getPair(address) {
|
|
118
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").get(address);
|
|
119
|
+
}
|
|
120
|
+
getPairs() {
|
|
121
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").all();
|
|
122
|
+
}
|
|
123
|
+
getPublicKeys() {
|
|
124
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").all().map(pairToPublic);
|
|
125
|
+
}
|
|
126
|
+
removePair(address) {
|
|
127
|
+
tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").remove(address);
|
|
128
|
+
}
|
|
129
|
+
setSS58Format(ss58) {
|
|
130
|
+
tslib.__classPrivateFieldSet(this, _Keyring_ss58, ss58, "f");
|
|
131
|
+
}
|
|
132
|
+
toJson(address, passphrase) {
|
|
133
|
+
return tslib.__classPrivateFieldGet(this, _Keyring_pairs, "f").get(address).toJson(passphrase);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
_Keyring_pairs = /* @__PURE__ */ new WeakMap(), _Keyring_type = /* @__PURE__ */ new WeakMap(), _Keyring_ss58 = /* @__PURE__ */ new WeakMap();
|
|
137
|
+
exports.DEV_PHRASE = DEV_PHRASE;
|
|
138
|
+
exports.Keyring = Keyring;
|