@pezkuwi/keyring 14.0.12 → 14.0.14

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.
Files changed (179) hide show
  1. package/bundle-pezkuwi-keyring.js +1 -1
  2. package/cjs/packageInfo.js +1 -1
  3. package/cjs/pair/defaults.d.ts +2 -2
  4. package/package.json +11 -11
  5. package/packageInfo.js +1 -1
  6. package/pair/defaults.d.ts +2 -2
  7. package/build/LICENSE +0 -201
  8. package/build/README.md +0 -17
  9. package/build/bundle-pezkuwi-keyring.js +0 -553
  10. package/build/bundle.d.ts +0 -7
  11. package/build/bundle.js +0 -7
  12. package/build/cjs/bundle.d.ts +0 -7
  13. package/build/cjs/bundle.js +0 -19
  14. package/build/cjs/defaults.d.ts +0 -2
  15. package/build/cjs/defaults.js +0 -5
  16. package/build/cjs/index.d.ts +0 -4
  17. package/build/cjs/index.js +0 -7
  18. package/build/cjs/keyring.d.ts +0 -145
  19. package/build/cjs/keyring.js +0 -261
  20. package/build/cjs/package.json +0 -3
  21. package/build/cjs/packageDetect.d.ts +0 -1
  22. package/build/cjs/packageDetect.js +0 -7
  23. package/build/cjs/packageInfo.d.ts +0 -6
  24. package/build/cjs/packageInfo.js +0 -4
  25. package/build/cjs/pair/decode.d.ts +0 -12
  26. package/build/cjs/pair/decode.js +0 -45
  27. package/build/cjs/pair/defaults.d.ts +0 -12
  28. package/build/cjs/pair/defaults.js +0 -15
  29. package/build/cjs/pair/encode.d.ts +0 -5
  30. package/build/cjs/pair/encode.js +0 -22
  31. package/build/cjs/pair/index.d.ts +0 -40
  32. package/build/cjs/pair/index.js +0 -183
  33. package/build/cjs/pair/nobody.d.ts +0 -2
  34. package/build/cjs/pair/nobody.js +0 -43
  35. package/build/cjs/pair/toJson.d.ts +0 -8
  36. package/build/cjs/pair/toJson.js +0 -11
  37. package/build/cjs/pair/types.d.ts +0 -5
  38. package/build/cjs/pair/types.js +0 -2
  39. package/build/cjs/pairs.d.ts +0 -8
  40. package/build/cjs/pairs.js +0 -28
  41. package/build/cjs/testing.d.ts +0 -20
  42. package/build/cjs/testing.js +0 -126
  43. package/build/cjs/testingPairs.d.ts +0 -25
  44. package/build/cjs/testingPairs.js +0 -16
  45. package/build/cjs/types.d.ts +0 -111
  46. package/build/cjs/types.js +0 -2
  47. package/build/defaults.d.ts +0 -2
  48. package/build/defaults.js +0 -2
  49. package/build/index.d.ts +0 -4
  50. package/build/index.js +0 -4
  51. package/build/keyring.d.ts +0 -145
  52. package/build/keyring.js +0 -257
  53. package/build/package.json +0 -294
  54. package/build/packageDetect.d.ts +0 -1
  55. package/build/packageDetect.js +0 -5
  56. package/build/packageInfo.d.ts +0 -6
  57. package/build/packageInfo.js +0 -1
  58. package/build/pair/decode.d.ts +0 -12
  59. package/build/pair/decode.js +0 -42
  60. package/build/pair/defaults.d.ts +0 -12
  61. package/build/pair/defaults.js +0 -12
  62. package/build/pair/encode.d.ts +0 -5
  63. package/build/pair/encode.js +0 -19
  64. package/build/pair/index.d.ts +0 -40
  65. package/build/pair/index.js +0 -180
  66. package/build/pair/nobody.d.ts +0 -2
  67. package/build/pair/nobody.js +0 -40
  68. package/build/pair/toJson.d.ts +0 -8
  69. package/build/pair/toJson.js +0 -8
  70. package/build/pair/types.d.ts +0 -5
  71. package/build/pair/types.js +0 -1
  72. package/build/pairs.d.ts +0 -8
  73. package/build/pairs.js +0 -24
  74. package/build/testing.d.ts +0 -20
  75. package/build/testing.js +0 -122
  76. package/build/testingPairs.d.ts +0 -25
  77. package/build/testingPairs.js +0 -13
  78. package/build/types.d.ts +0 -111
  79. package/build/types.js +0 -1
  80. package/build-deno/README.md +0 -17
  81. package/build-deno/bundle.ts +0 -10
  82. package/build-deno/defaults.ts +0 -4
  83. package/build-deno/index.ts +0 -8
  84. package/build-deno/keyring.ts +0 -305
  85. package/build-deno/mod.ts +0 -2
  86. package/build-deno/packageDetect.ts +0 -9
  87. package/build-deno/packageInfo.ts +0 -3
  88. package/build-deno/pair/decode.ts +0 -54
  89. package/build-deno/pair/defaults.ts +0 -18
  90. package/build-deno/pair/encode.ts +0 -28
  91. package/build-deno/pair/index.ts +0 -218
  92. package/build-deno/pair/nobody.ts +0 -58
  93. package/build-deno/pair/toJson.ts +0 -18
  94. package/build-deno/pair/types.ts +0 -6
  95. package/build-deno/pairs.ts +0 -39
  96. package/build-deno/testing.ts +0 -150
  97. package/build-deno/testingPairs.ts +0 -54
  98. package/build-deno/types.ts +0 -129
  99. package/build-tsc/bundle.d.ts +0 -7
  100. package/build-tsc/defaults.d.ts +0 -2
  101. package/build-tsc/index.d.ts +0 -4
  102. package/build-tsc/keyring.d.ts +0 -145
  103. package/build-tsc/packageDetect.d.ts +0 -1
  104. package/build-tsc/packageInfo.d.ts +0 -6
  105. package/build-tsc/pair/decode.d.ts +0 -12
  106. package/build-tsc/pair/defaults.d.ts +0 -12
  107. package/build-tsc/pair/encode.d.ts +0 -5
  108. package/build-tsc/pair/index.d.ts +0 -40
  109. package/build-tsc/pair/nobody.d.ts +0 -2
  110. package/build-tsc/pair/toJson.d.ts +0 -8
  111. package/build-tsc/pair/types.d.ts +0 -5
  112. package/build-tsc/pairs.d.ts +0 -8
  113. package/build-tsc/testing.d.ts +0 -20
  114. package/build-tsc/testingPairs.d.ts +0 -25
  115. package/build-tsc/types.d.ts +0 -111
  116. package/build-tsc-cjs/bundle.js +0 -19
  117. package/build-tsc-cjs/defaults.js +0 -5
  118. package/build-tsc-cjs/index.js +0 -7
  119. package/build-tsc-cjs/keyring.js +0 -261
  120. package/build-tsc-cjs/packageDetect.js +0 -7
  121. package/build-tsc-cjs/packageInfo.js +0 -4
  122. package/build-tsc-cjs/pair/decode.js +0 -45
  123. package/build-tsc-cjs/pair/defaults.js +0 -15
  124. package/build-tsc-cjs/pair/encode.js +0 -22
  125. package/build-tsc-cjs/pair/index.js +0 -183
  126. package/build-tsc-cjs/pair/nobody.js +0 -43
  127. package/build-tsc-cjs/pair/toJson.js +0 -11
  128. package/build-tsc-cjs/pair/types.js +0 -2
  129. package/build-tsc-cjs/pairs.js +0 -28
  130. package/build-tsc-cjs/testing.js +0 -126
  131. package/build-tsc-cjs/testingPairs.js +0 -16
  132. package/build-tsc-cjs/types.js +0 -2
  133. package/build-tsc-esm/bundle.js +0 -7
  134. package/build-tsc-esm/defaults.js +0 -2
  135. package/build-tsc-esm/index.js +0 -4
  136. package/build-tsc-esm/keyring.js +0 -257
  137. package/build-tsc-esm/packageDetect.js +0 -5
  138. package/build-tsc-esm/packageInfo.js +0 -1
  139. package/build-tsc-esm/pair/decode.js +0 -42
  140. package/build-tsc-esm/pair/defaults.js +0 -12
  141. package/build-tsc-esm/pair/encode.js +0 -19
  142. package/build-tsc-esm/pair/index.js +0 -180
  143. package/build-tsc-esm/pair/nobody.js +0 -40
  144. package/build-tsc-esm/pair/toJson.js +0 -8
  145. package/build-tsc-esm/pair/types.js +0 -1
  146. package/build-tsc-esm/pairs.js +0 -24
  147. package/build-tsc-esm/testing.js +0 -122
  148. package/build-tsc-esm/testingPairs.js +0 -13
  149. package/build-tsc-esm/types.js +0 -1
  150. package/src/bundle.ts +0 -16
  151. package/src/defaults.ts +0 -8
  152. package/src/index.spec.ts +0 -609
  153. package/src/index.ts +0 -10
  154. package/src/keyring.ts +0 -307
  155. package/src/mod.ts +0 -4
  156. package/src/packageDetect.ts +0 -13
  157. package/src/packageInfo.ts +0 -6
  158. package/src/pair/decode.spec.ts +0 -26
  159. package/src/pair/decode.ts +0 -56
  160. package/src/pair/defaults.ts +0 -20
  161. package/src/pair/encode.spec.ts +0 -28
  162. package/src/pair/encode.ts +0 -30
  163. package/src/pair/index.spec.ts +0 -189
  164. package/src/pair/index.ts +0 -220
  165. package/src/pair/nobody.ts +0 -62
  166. package/src/pair/toJson.spec.ts +0 -42
  167. package/src/pair/toJson.ts +0 -20
  168. package/src/pair/types.ts +0 -8
  169. package/src/pair/vrf.spec.ts +0 -47
  170. package/src/pairs.ts +0 -41
  171. package/src/suri.spec.ts +0 -109
  172. package/src/testing.ts +0 -156
  173. package/src/testingPairs.spec.ts +0 -79
  174. package/src/testingPairs.ts +0 -56
  175. package/src/types.ts +0 -131
  176. package/tsconfig.build.json +0 -16
  177. package/tsconfig.build.tsbuildinfo +0 -1
  178. package/tsconfig.spec.json +0 -18
  179. package/tsconfig.spec.tsbuildinfo +0 -1
@@ -1,183 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPair = createPair;
4
- const util_1 = require("@pezkuwi/util");
5
- const util_crypto_1 = require("@pezkuwi/util-crypto");
6
- const decode_js_1 = require("./decode.js");
7
- const encode_js_1 = require("./encode.js");
8
- const toJson_js_1 = require("./toJson.js");
9
- const SIG_TYPE_NONE = new Uint8Array();
10
- const TYPE_FROM_SEED = {
11
- ecdsa: util_crypto_1.secp256k1PairFromSeed,
12
- ed25519: util_crypto_1.ed25519PairFromSeed,
13
- ethereum: util_crypto_1.secp256k1PairFromSeed,
14
- sr25519: util_crypto_1.sr25519PairFromSeed
15
- };
16
- const TYPE_PREFIX = {
17
- ecdsa: new Uint8Array([2]),
18
- ed25519: new Uint8Array([0]),
19
- ethereum: new Uint8Array([2]),
20
- sr25519: new Uint8Array([1])
21
- };
22
- const TYPE_SIGNATURE = {
23
- ecdsa: (m, p) => (0, util_crypto_1.secp256k1Sign)(m, p, 'blake2'),
24
- ed25519: util_crypto_1.ed25519Sign,
25
- ethereum: (m, p) => (0, util_crypto_1.secp256k1Sign)(m, p, 'keccak'),
26
- sr25519: util_crypto_1.sr25519Sign
27
- };
28
- const TYPE_ADDRESS = {
29
- ecdsa: (p) => p.length > 32 ? (0, util_crypto_1.blake2AsU8a)(p) : p,
30
- ed25519: (p) => p,
31
- ethereum: (p) => p.length === 20 ? p : (0, util_crypto_1.keccakAsU8a)((0, util_crypto_1.secp256k1Expand)(p)),
32
- sr25519: (p) => p
33
- };
34
- function isLocked(secretKey) {
35
- return !secretKey || (0, util_1.u8aEmpty)(secretKey);
36
- }
37
- function vrfHash(proof, context, extra) {
38
- return (0, util_crypto_1.blake2AsU8a)((0, util_1.u8aConcat)(context || '', extra || '', proof));
39
- }
40
- /**
41
- * @name createPair
42
- * @summary Creates a keyring pair object
43
- * @description Creates a keyring pair object with provided account public key, metadata, and encoded arguments.
44
- * The keyring pair stores the account state including the encoded address and associated metadata.
45
- *
46
- * It has properties whose values are functions that may be called to perform account actions:
47
- *
48
- * - `address` function retrieves the address associated with the account.
49
- * - `decodedPkcs8` function is called with the account passphrase and account encoded public key.
50
- * It decodes the encoded public key using the passphrase provided to obtain the decoded account public key
51
- * and associated secret key that are then available in memory, and changes the account address stored in the
52
- * state of the pair to correspond to the address of the decoded public key.
53
- * - `encodePkcs8` function when provided with the correct passphrase associated with the account pair
54
- * and when the secret key is in memory (when the account pair is not locked) it returns an encoded
55
- * public key of the account.
56
- * - `meta` is the metadata that is stored in the state of the pair, either when it was originally
57
- * created or set via `setMeta`.
58
- * - `publicKey` returns the public key stored in memory for the pair.
59
- * - `sign` may be used to return a signature by signing a provided message with the secret
60
- * key (if it is in memory) using Nacl.
61
- * - `toJson` calls another `toJson` function and provides the state of the pair,
62
- * it generates arguments to be passed to the other `toJson` function including an encoded public key of the account
63
- * that it generates using the secret key from memory (if it has been made available in memory)
64
- * and the optionally provided passphrase argument. It passes a third boolean argument to `toJson`
65
- * indicating whether the public key has been encoded or not (if a passphrase argument was provided then it is encoded).
66
- * The `toJson` function that it calls returns a JSON object with properties including the `address`
67
- * and `meta` that are assigned with the values stored in the corresponding state variables of the account pair,
68
- * an `encoded` property that is assigned with the encoded public key in hex format, and an `encoding`
69
- * property that indicates whether the public key value of the `encoded` property is encoded or not.
70
- */
71
- function createPair({ toSS58, type }, { publicKey, secretKey }, meta = {}, encoded = null, encTypes) {
72
- const decodePkcs8 = (passphrase, userEncoded) => {
73
- const decoded = (0, decode_js_1.decodePair)(passphrase, userEncoded || encoded, encTypes);
74
- if (decoded.secretKey.length === 64) {
75
- publicKey = decoded.publicKey;
76
- secretKey = decoded.secretKey;
77
- }
78
- else {
79
- const pair = TYPE_FROM_SEED[type](decoded.secretKey);
80
- publicKey = pair.publicKey;
81
- secretKey = pair.secretKey;
82
- }
83
- };
84
- const recode = (passphrase) => {
85
- isLocked(secretKey) && encoded && decodePkcs8(passphrase, encoded);
86
- encoded = (0, encode_js_1.encodePair)({ publicKey, secretKey }, passphrase); // re-encode, latest version
87
- encTypes = undefined; // swap to defaults, latest version follows
88
- return encoded;
89
- };
90
- const encodeAddress = () => {
91
- const raw = TYPE_ADDRESS[type](publicKey);
92
- return type === 'ethereum'
93
- ? (0, util_crypto_1.ethereumEncode)(raw)
94
- : toSS58(raw);
95
- };
96
- return {
97
- get address() {
98
- return encodeAddress();
99
- },
100
- get addressRaw() {
101
- const raw = TYPE_ADDRESS[type](publicKey);
102
- return type === 'ethereum'
103
- ? raw.slice(-20)
104
- : raw;
105
- },
106
- get isLocked() {
107
- return isLocked(secretKey);
108
- },
109
- get meta() {
110
- return meta;
111
- },
112
- get publicKey() {
113
- return publicKey;
114
- },
115
- get type() {
116
- return type;
117
- },
118
- // eslint-disable-next-line sort-keys
119
- decodePkcs8,
120
- derive: (suri, meta) => {
121
- if (type === 'ethereum') {
122
- throw new Error('Unable to derive on this keypair');
123
- }
124
- else if (isLocked(secretKey)) {
125
- throw new Error('Cannot derive on a locked keypair');
126
- }
127
- const { path } = (0, util_crypto_1.keyExtractPath)(suri);
128
- const derived = (0, util_crypto_1.keyFromPath)({ publicKey, secretKey }, path, type);
129
- return createPair({ toSS58, type }, derived, meta, null);
130
- },
131
- encodePkcs8: (passphrase) => {
132
- return recode(passphrase);
133
- },
134
- lock: () => {
135
- secretKey = new Uint8Array();
136
- },
137
- setMeta: (additional) => {
138
- meta = (0, util_1.objectSpread)({}, meta, additional);
139
- },
140
- sign: (message, options = {}) => {
141
- if (isLocked(secretKey)) {
142
- throw new Error('Cannot sign with a locked key pair');
143
- }
144
- return (0, util_1.u8aConcat)(options.withType
145
- ? TYPE_PREFIX[type]
146
- : SIG_TYPE_NONE, TYPE_SIGNATURE[type]((0, util_1.u8aToU8a)(message), { publicKey, secretKey }));
147
- },
148
- toJson: (passphrase) => {
149
- // NOTE: For ecdsa and ethereum, the publicKey cannot be extracted from the address. For these
150
- // pass the hex-encoded publicKey through to the address portion of the JSON (before decoding)
151
- // unless the publicKey is already an address
152
- const address = ['ecdsa', 'ethereum'].includes(type)
153
- ? publicKey.length === 20
154
- ? (0, util_1.u8aToHex)(publicKey)
155
- : (0, util_1.u8aToHex)((0, util_crypto_1.secp256k1Compress)(publicKey))
156
- : encodeAddress();
157
- return (0, toJson_js_1.pairToJson)(type, { address, meta }, recode(passphrase), !!passphrase);
158
- },
159
- unlock: (passphrase) => {
160
- return decodePkcs8(passphrase);
161
- },
162
- verify: (message, signature, signerPublic) => {
163
- return (0, util_crypto_1.signatureVerify)(message, signature, TYPE_ADDRESS[type]((0, util_1.u8aToU8a)(signerPublic))).isValid;
164
- },
165
- vrfSign: (message, context, extra) => {
166
- if (isLocked(secretKey)) {
167
- throw new Error('Cannot sign with a locked key pair');
168
- }
169
- if (type === 'sr25519') {
170
- return (0, util_crypto_1.sr25519VrfSign)(message, { secretKey }, context, extra);
171
- }
172
- const proof = TYPE_SIGNATURE[type]((0, util_1.u8aToU8a)(message), { publicKey, secretKey });
173
- return (0, util_1.u8aConcat)(vrfHash(proof, context, extra), proof);
174
- },
175
- vrfVerify: (message, vrfResult, signerPublic, context, extra) => {
176
- if (type === 'sr25519') {
177
- return (0, util_crypto_1.sr25519VrfVerify)(message, vrfResult, publicKey, context, extra);
178
- }
179
- const result = (0, util_crypto_1.signatureVerify)(message, (0, util_1.u8aConcat)(TYPE_PREFIX[type], vrfResult.subarray(32)), TYPE_ADDRESS[type]((0, util_1.u8aToU8a)(signerPublic)));
180
- return result.isValid && (0, util_1.u8aEq)(vrfResult.subarray(0, 32), vrfHash(vrfResult.subarray(32), context, extra));
181
- }
182
- };
183
- }
@@ -1,2 +0,0 @@
1
- import type { KeyringPair } from '../types.js';
2
- export declare function nobody(): KeyringPair;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nobody = nobody;
4
- const publicKey = new Uint8Array(32);
5
- const address = '5C4hrfjw9DjXZTzV3MwzrrAr9P1MJhSrvWGWqi1eSuyUpnhM';
6
- const meta = {
7
- isTesting: true,
8
- name: 'nobody'
9
- };
10
- const json = {
11
- address,
12
- encoded: '',
13
- encoding: {
14
- content: ['pkcs8', 'ed25519'],
15
- type: 'none',
16
- version: '0'
17
- },
18
- meta
19
- };
20
- const pair = {
21
- address,
22
- addressRaw: publicKey,
23
- decodePkcs8: (_passphrase, _encoded) => undefined,
24
- derive: (_suri, _meta) => pair,
25
- encodePkcs8: (_passphrase) => new Uint8Array(0),
26
- isLocked: true,
27
- lock: () => {
28
- // no locking, it is always locked
29
- },
30
- meta,
31
- publicKey,
32
- setMeta: (_meta) => undefined,
33
- sign: (_message) => new Uint8Array(64),
34
- toJson: (_passphrase) => json,
35
- type: 'ed25519',
36
- unlock: (_passphrase) => undefined,
37
- verify: (_message, _signature) => false,
38
- vrfSign: (_message, _context, _extra) => new Uint8Array(96),
39
- vrfVerify: (_message, _vrfResult, _context, _extra) => false
40
- };
41
- function nobody() {
42
- return pair;
43
- }
@@ -1,8 +0,0 @@
1
- import type { KeypairType } from '@pezkuwi/util-crypto/types';
2
- import type { KeyringPair$Json, KeyringPair$Meta } from '../types.js';
3
- interface PairStateJson {
4
- address: string;
5
- meta: KeyringPair$Meta;
6
- }
7
- export declare function pairToJson(type: KeypairType, { address, meta }: PairStateJson, encoded: Uint8Array, isEncrypted: boolean): KeyringPair$Json;
8
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pairToJson = pairToJson;
4
- const util_1 = require("@pezkuwi/util");
5
- const util_crypto_1 = require("@pezkuwi/util-crypto");
6
- function pairToJson(type, { address, meta }, encoded, isEncrypted) {
7
- return (0, util_1.objectSpread)((0, util_crypto_1.jsonEncryptFormat)(encoded, ['pkcs8', type], isEncrypted), {
8
- address,
9
- meta
10
- });
11
- }
@@ -1,5 +0,0 @@
1
- export interface PairInfo {
2
- publicKey: Uint8Array;
3
- secretKey?: Uint8Array | undefined;
4
- seed?: Uint8Array | null;
5
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +0,0 @@
1
- import type { KeyringPair, KeyringPairs } from './types.js';
2
- export declare class Pairs implements KeyringPairs {
3
- #private;
4
- add(pair: KeyringPair): KeyringPair;
5
- all(): KeyringPair[];
6
- get(address: string | Uint8Array): KeyringPair;
7
- remove(address: string | Uint8Array): void;
8
- }
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pairs = void 0;
4
- const util_1 = require("@pezkuwi/util");
5
- const util_crypto_1 = require("@pezkuwi/util-crypto");
6
- class Pairs {
7
- #map = {};
8
- add(pair) {
9
- this.#map[(0, util_crypto_1.decodeAddress)(pair.address).toString()] = pair;
10
- return pair;
11
- }
12
- all() {
13
- return Object.values(this.#map);
14
- }
15
- get(address) {
16
- const pair = this.#map[(0, util_crypto_1.decodeAddress)(address).toString()];
17
- if (!pair) {
18
- throw new Error(`Unable to retrieve keypair '${(0, util_1.isU8a)(address) || (0, util_1.isHex)(address)
19
- ? (0, util_1.u8aToHex)((0, util_1.u8aToU8a)(address))
20
- : address}'`);
21
- }
22
- return pair;
23
- }
24
- remove(address) {
25
- delete this.#map[(0, util_crypto_1.decodeAddress)(address).toString()];
26
- }
27
- }
28
- exports.Pairs = Pairs;
@@ -1,20 +0,0 @@
1
- import type { HexString } from '@pezkuwi/util/types';
2
- import type { KeypairType } from '@pezkuwi/util-crypto/types';
3
- import type { KeyringInstance, KeyringOptions } from './types.js';
4
- interface PairDef {
5
- name?: string;
6
- p: HexString;
7
- s: HexString;
8
- seed?: string;
9
- type: KeypairType;
10
- }
11
- export declare const PAIRSSR25519: PairDef[];
12
- export declare const PAIRSETHEREUM: PairDef[];
13
- /**
14
- * @name testKeyring
15
- * @summary Create an instance of Keyring pre-populated with locked test accounts
16
- * @description The test accounts (i.e. alice, bob, dave, eve, ferdie)
17
- * are available on the dev chain and each test account is initialized with DOT funds.
18
- */
19
- export declare function createTestKeyring(options?: KeyringOptions, isDerived?: boolean): KeyringInstance;
20
- export {};
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PAIRSETHEREUM = exports.PAIRSSR25519 = void 0;
4
- exports.createTestKeyring = createTestKeyring;
5
- const util_1 = require("@pezkuwi/util");
6
- const index_js_1 = require("./pair/index.js");
7
- const keyring_js_1 = require("./keyring.js");
8
- exports.PAIRSSR25519 = [
9
- {
10
- p: '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d',
11
- s: '0x98319d4ff8a9508c4bb0cf0b5a78d760a0b2082c02775e6e82370816fedfff48925a225d97aa00682d6a59b95b18780c10d7032336e88f3442b42361f4a66011', // nosemgrep
12
- seed: 'Alice',
13
- type: 'sr25519'
14
- },
15
- {
16
- p: '0xbe5ddb1579b72e84524fc29e78609e3caf42e85aa118ebfe0b0ad404b5bdd25f',
17
- s: '0xe8da6c9d810e020f5e3c7f5af2dea314cbeaa0d72bc6421e92c0808a0c584a6046ab28e97c3ffc77fe12b5a4d37e8cd4afbfebbf2391ffc7cb07c0f38c023efd', // nosemgrep
18
- seed: 'Alice//stash',
19
- type: 'sr25519'
20
- },
21
- {
22
- p: '0x8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48',
23
- s: '0x081ff694633e255136bdb456c20a5fc8fed21f8b964c11bb17ff534ce80ebd5941ae88f85d0c1bfc37be41c904e1dfc01de8c8067b0d6d5df25dd1ac0894a325', // nosemgrep
24
- seed: 'Bob',
25
- type: 'sr25519'
26
- },
27
- {
28
- p: '0xfe65717dad0447d715f660a0a58411de509b42e6efb8375f562f58a554d5860e',
29
- s: '0xc006507cdfc267a21532394c49ca9b754ca71de21e15a1cdf807c7ceab6d0b6c3ed408d9d35311540dcd54931933e67cf1ea10d46f75408f82b789d9bd212fde', // nosemgrep
30
- seed: 'Bob//stash',
31
- type: 'sr25519'
32
- },
33
- {
34
- p: '0x90b5ab205c6974c9ea841be688864633dc9ca8a357843eeacf2314649965fe22',
35
- s: '0xa8f2d83016052e5d6d77b2f6fd5d59418922a09024cda701b3c34369ec43a7668faf12ff39cd4e5d92bb773972f41a7a5279ebc2ed92264bed8f47d344f8f18c', // nosemgrep
36
- seed: 'Charlie',
37
- type: 'sr25519'
38
- },
39
- {
40
- p: '0x306721211d5404bd9da88e0204360a1a9ab8b87c66c1bc2fcdd37f3c2222cc20',
41
- s: '0x20e05482ca4677e0edbc58ae9a3a59f6ed3b1a9484ba17e64d6fe8688b2b7b5d108c4487b9323b98b11fe36cb301b084e920f7b7895536809a6d62a451b25568', // nosemgrep
42
- seed: 'Dave',
43
- type: 'sr25519'
44
- },
45
- {
46
- p: '0xe659a7a1628cdd93febc04a4e0646ea20e9f5f0ce097d9a05290d4a9e054df4e',
47
- s: '0x683576abfd5dc35273e4264c23095a1bf21c14517bece57c7f0cc5c0ed4ce06a3dbf386b7828f348abe15d76973a72009e6ef86a5c91db2990cb36bb657c6587', // nosemgrep
48
- seed: 'Eve',
49
- type: 'sr25519'
50
- },
51
- {
52
- p: '0x1cbd2d43530a44705ad088af313e18f80b53ef16b36177cd4b77b846f2a5f07c',
53
- s: '0xb835c20f450079cf4f513900ae9faf8df06ad86c681884122c752a4b2bf74d4303e4f21bc6cc62bb4eeed5a9cce642c25e2d2ac1464093b50f6196d78e3a7426', // nosemgrep
54
- seed: 'Ferdie',
55
- type: 'sr25519'
56
- }
57
- ];
58
- exports.PAIRSETHEREUM = [
59
- {
60
- name: 'Alith',
61
- p: '0x02509540919faacf9ab52146c9aa40db68172d83777250b28e4679176e49ccdd9f',
62
- s: '0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133', // nosemgrep
63
- type: 'ethereum'
64
- },
65
- {
66
- name: 'Baltathar',
67
- p: '0x033bc19e36ff1673910575b6727a974a9abd80c9a875d41ab3e2648dbfb9e4b518',
68
- s: '0x8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b', // nosemgrep
69
- type: 'ethereum'
70
- },
71
- {
72
- name: 'Charleth',
73
- p: '0x0234637bdc0e89b5d46543bcbf8edff329d2702bc995e27e9af4b1ba009a3c2a5e',
74
- s: '0x0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b', // nosemgrep
75
- type: 'ethereum'
76
- },
77
- {
78
- name: 'Dorothy',
79
- p: '0x02a00d60b2b408c2a14c5d70cdd2c205db8985ef737a7e55ad20ea32cc9e7c417c',
80
- s: '0x39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68', // nosemgrep
81
- type: 'ethereum'
82
- },
83
- {
84
- name: 'Ethan',
85
- p: '0x025cdc005b752651cd3f728fb9192182acb3a9c89e19072cbd5b03f3ee1f1b3ffa',
86
- s: '0x7dce9bc8babb68fec1409be38c8e1a52650206a7ed90ff956ae8a6d15eeaaef4', // nosemgrep
87
- type: 'ethereum'
88
- },
89
- {
90
- name: 'Faith',
91
- p: '0x037964b6c9d546da4646ada28a99e34acaa1d14e7aba861a9055f9bd200c8abf74',
92
- s: '0xb9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df', // nosemgrep
93
- type: 'ethereum'
94
- }
95
- ];
96
- function createMeta(name, seed) {
97
- if (!name && !seed) {
98
- throw new Error('Testing pair should have either a name or a seed');
99
- }
100
- return {
101
- isTesting: true,
102
- name: name || seed?.replace('//', '_').toLowerCase()
103
- };
104
- }
105
- /**
106
- * @name testKeyring
107
- * @summary Create an instance of Keyring pre-populated with locked test accounts
108
- * @description The test accounts (i.e. alice, bob, dave, eve, ferdie)
109
- * are available on the dev chain and each test account is initialized with DOT funds.
110
- */
111
- function createTestKeyring(options = {}, isDerived = true) {
112
- const keyring = new keyring_js_1.Keyring(options);
113
- const pairs = options.type === 'ethereum'
114
- ? exports.PAIRSETHEREUM
115
- : exports.PAIRSSR25519;
116
- for (const { name, p, s, seed, type } of pairs) {
117
- const meta = createMeta(name, seed);
118
- const pair = !isDerived && !name && seed
119
- ? keyring.addFromUri(seed, meta, options.type)
120
- : keyring.addPair((0, index_js_1.createPair)({ toSS58: keyring.encodeAddress, type }, { publicKey: (0, util_1.hexToU8a)(p), secretKey: (0, util_1.hexToU8a)(s) }, meta));
121
- pair.lock = () => {
122
- // we don't have lock/unlock functionality here
123
- };
124
- }
125
- return keyring;
126
- }
@@ -1,25 +0,0 @@
1
- import type { KeypairType } from '@pezkuwi/util-crypto/types';
2
- import type { KeyringOptions, KeyringPair } from './types.js';
3
- export interface TestKeyringMap {
4
- nobody: KeyringPair;
5
- [index: string]: KeyringPair;
6
- }
7
- export interface TestKeyringMapBizinikiwi extends TestKeyringMap {
8
- alice: KeyringPair;
9
- bob: KeyringPair;
10
- charlie: KeyringPair;
11
- dave: KeyringPair;
12
- eve: KeyringPair;
13
- ferdie: KeyringPair;
14
- }
15
- export interface TestKeyringMapEthereum extends TestKeyringMap {
16
- Alith: KeyringPair;
17
- Baltathar: KeyringPair;
18
- Charleth: KeyringPair;
19
- Dorothy: KeyringPair;
20
- Ethan: KeyringPair;
21
- Faith: KeyringPair;
22
- }
23
- export type DetectMap<O extends KeyringOptions | undefined> = DetectPairType<O> extends 'ethereum' ? TestKeyringMapEthereum : TestKeyringMapBizinikiwi;
24
- export type DetectPairType<O extends KeyringOptions | undefined> = O extends KeyringOptions ? O['type'] extends KeypairType ? O['type'] : 'sr25519' : 'sr25519';
25
- export declare function createTestPairs<O extends KeyringOptions, M = DetectMap<O>>(options?: O, isDerived?: boolean): M;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTestPairs = createTestPairs;
4
- const nobody_js_1 = require("./pair/nobody.js");
5
- const testing_js_1 = require("./testing.js");
6
- function createTestPairs(options, isDerived = true) {
7
- const keyring = (0, testing_js_1.createTestKeyring)(options, isDerived);
8
- const pairs = keyring.getPairs();
9
- const map = { nobody: (0, nobody_js_1.nobody)() };
10
- for (const p of pairs) {
11
- if (p.meta.name) {
12
- map[p.meta.name] = p;
13
- }
14
- }
15
- return map;
16
- }
@@ -1,111 +0,0 @@
1
- import type { HexString } from '@pezkuwi/util/types';
2
- import type { EncryptedJson, Keypair, KeypairType, Prefix } from '@pezkuwi/util-crypto/types';
3
- export interface KeyringOptions {
4
- /** The ss58Format to use for address encoding (defaults to 42) */
5
- ss58Format?: Prefix;
6
- /** The type of keyring to create (defaults to ed25519) */
7
- type?: KeypairType;
8
- }
9
- export interface KeyringPair$MetaHardware {
10
- accountIndex?: number;
11
- accountOffset?: number;
12
- addressOffset?: number;
13
- hardwareType?: 'ledger';
14
- }
15
- export interface KeyringPair$MetaFlags {
16
- isDefaultAuthSelected?: boolean;
17
- isExternal?: boolean;
18
- isHardware?: boolean;
19
- isHidden?: boolean;
20
- isInjected?: boolean;
21
- isMultisig?: boolean;
22
- isProxied?: boolean;
23
- isRecent?: boolean;
24
- isTesting?: boolean;
25
- }
26
- export interface KeyringPair$MetaContract {
27
- abi: string;
28
- genesisHash?: HexString | null;
29
- }
30
- export interface KeyringPair$MetaExtension {
31
- source?: string;
32
- }
33
- export interface KeyringPair$MetaMultisig {
34
- threshold?: number;
35
- who?: string[];
36
- }
37
- export interface KeyringPair$MetaParent {
38
- parentAddress?: string;
39
- parentName?: string;
40
- }
41
- export interface KeyringPair$Meta extends KeyringPair$MetaExtension, KeyringPair$MetaFlags, KeyringPair$MetaHardware, KeyringPair$MetaMultisig, KeyringPair$MetaParent {
42
- address?: string;
43
- contract?: KeyringPair$MetaContract;
44
- genesisHash?: HexString | null;
45
- name?: string;
46
- suri?: string;
47
- tags?: string[];
48
- type?: KeypairType;
49
- whenCreated?: number;
50
- whenEdited?: number;
51
- whenUsed?: number;
52
- [key: string]: unknown;
53
- }
54
- export interface KeyringPair$Json extends EncryptedJson {
55
- /** The ss58 encoded address or the hex-encoded version (the latter is for ETH-compat chains) */
56
- address: string;
57
- /** The underlying metadata associated with the keypair */
58
- meta: KeyringPair$Meta;
59
- }
60
- export interface SignOptions {
61
- /** Create a MultiSignature-compatible output with an indicator type */
62
- withType?: boolean;
63
- }
64
- export interface KeyringPair {
65
- readonly address: string;
66
- readonly addressRaw: Uint8Array;
67
- readonly meta: KeyringPair$Meta;
68
- readonly isLocked: boolean;
69
- readonly publicKey: Uint8Array;
70
- readonly type: KeypairType;
71
- decodePkcs8(passphrase?: string, encoded?: Uint8Array): void;
72
- derive(suri: string, meta?: KeyringPair$Meta): KeyringPair;
73
- encodePkcs8(passphrase?: string): Uint8Array;
74
- lock(): void;
75
- setMeta(meta: KeyringPair$Meta): void;
76
- sign(message: string | Uint8Array, options?: SignOptions): Uint8Array;
77
- toJson(passphrase?: string): KeyringPair$Json;
78
- unlock(passphrase?: string): void;
79
- verify(message: string | Uint8Array, signature: Uint8Array, signerPublic: string | Uint8Array): boolean;
80
- vrfSign(message: string | Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): Uint8Array;
81
- vrfVerify(message: string | Uint8Array, vrfResult: Uint8Array, signerPublic: string | Uint8Array, context?: string | Uint8Array, extra?: string | Uint8Array): boolean;
82
- }
83
- export interface KeyringPairs {
84
- add: (pair: KeyringPair) => KeyringPair;
85
- all: () => KeyringPair[];
86
- get: (address: string | Uint8Array) => KeyringPair;
87
- remove: (address: string | Uint8Array) => void;
88
- }
89
- export interface KeyringInstance {
90
- readonly pairs: KeyringPair[];
91
- readonly publicKeys: Uint8Array[];
92
- readonly type: KeypairType;
93
- decodeAddress(encoded: string | Uint8Array, ignoreChecksum?: boolean, ss58Format?: Prefix): Uint8Array;
94
- encodeAddress(key: Uint8Array | string, ss58Format?: Prefix): string;
95
- setSS58Format(ss58Format: Prefix): void;
96
- addPair(pair: KeyringPair): KeyringPair;
97
- addFromAddress(address: string | Uint8Array, meta?: KeyringPair$Meta, encoded?: Uint8Array | null, type?: KeypairType, ignoreChecksum?: boolean): KeyringPair;
98
- addFromJson(pair: KeyringPair$Json, ignoreChecksum?: boolean): KeyringPair;
99
- addFromMnemonic(mnemonic: string, meta?: KeyringPair$Meta, type?: KeypairType, wordlist?: string[]): KeyringPair;
100
- addFromPair(pair: Keypair, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
101
- addFromSeed(seed: Uint8Array, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair;
102
- addFromUri(suri: string, meta?: KeyringPair$Meta, type?: KeypairType, wordlist?: string[]): KeyringPair;
103
- createFromJson(json: KeyringPair$Json, ignoreChecksum?: boolean): KeyringPair;
104
- createFromPair(pair: Keypair, meta: KeyringPair$Meta, type: KeypairType): KeyringPair;
105
- createFromUri(suri: string, meta?: KeyringPair$Meta, type?: KeypairType, wordlist?: string[]): KeyringPair;
106
- getPair(address: string | Uint8Array): KeyringPair;
107
- getPairs(): KeyringPair[];
108
- getPublicKeys(): Uint8Array[];
109
- removePair(address: string | Uint8Array): void;
110
- toJson(address: string | Uint8Array, passphrase?: string): KeyringPair$Json;
111
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- export declare const DEV_PHRASE = "bottom drive obey lake curtain smoke basket hold race lonely fit walk";
2
- export declare const DEV_SEED = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e";
package/build/defaults.js DELETED
@@ -1,2 +0,0 @@
1
- export const DEV_PHRASE = 'bottom drive obey lake curtain smoke basket hold race lonely fit walk';
2
- export const DEV_SEED = '0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e';
package/build/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import './packageDetect.js';
2
- import { Keyring } from './bundle.js';
3
- export * from './bundle.js';
4
- export default Keyring;
package/build/index.js DELETED
@@ -1,4 +0,0 @@
1
- import './packageDetect.js';
2
- import { Keyring } from './bundle.js';
3
- export * from './bundle.js';
4
- export default Keyring;