@activeledger/sdk-node 2.1.1 → 2.2.0

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/lib/crypto.d.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  import { ICryptoProvider, IKeyHandleDetails, IKeyHandler } from "@activeledger/sdk-core";
2
2
  export declare class NodeCryptoProvider implements ICryptoProvider {
3
3
  generate(compressed?: boolean, type?: string): IKeyHandler;
4
+ generateFromSeed(seed: Uint8Array, compressed?: boolean, type?: string): IKeyHandler;
4
5
  private toFixedLength;
5
6
  sign(data: string, prv: IKeyHandleDetails, type?: string): string;
7
+ private static readonly SECP256K1_N;
8
+ private static toLowS;
9
+ private static decodeDer;
10
+ private static derInteger;
11
+ private static encodeDer;
6
12
  verify(data: string, signature: string, pub: IKeyHandleDetails, type?: string): boolean;
7
13
  private toPrivatePem;
8
14
  private toPublicPem;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA4CzF,qBAAa,kBAAmB,YAAW,eAAe;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAkCjE,OAAO,CAAC,aAAa;IASd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAoBjE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IA8B9F,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA4CzF,qBAAa,kBAAmB,YAAW,eAAe;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IA2C1D,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAoD3F,OAAO,CAAC,aAAa;IASd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IA2BxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAEjC;IA+BF,OAAO,CAAC,MAAM,CAAC,MAAM;IAerB,OAAO,CAAC,MAAM,CAAC,SAAS;IAuBxB,OAAO,CAAC,MAAM,CAAC,UAAU;IAiBzB,OAAO,CAAC,MAAM,CAAC,SAAS;IASjB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IA8B9F,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;CAMpB"}
package/lib/crypto.js CHANGED
@@ -53,6 +53,34 @@ class NodeCryptoProvider {
53
53
  },
54
54
  };
55
55
  }
56
+ generateFromSeed(seed, compressed, type) {
57
+ const pq = type ? POST_QUANTUM[type] : undefined;
58
+ if (pq) {
59
+ if (seed.length !== pq.lengths.seed) {
60
+ throw new Error(`${type} needs a ${pq.lengths.seed}-byte seed, got ${seed.length}`);
61
+ }
62
+ const keys = pq.keygen(seed);
63
+ return {
64
+ prv: { pkcs8pem: Buffer.from(keys.secretKey).toString("base64") },
65
+ pub: { pkcs8pem: Buffer.from(keys.publicKey).toString("base64") },
66
+ };
67
+ }
68
+ if (seed.length !== 32) {
69
+ throw new Error(`secp256k1 needs a 32-byte seed, got ${seed.length}`);
70
+ }
71
+ const scalar = BigInt("0x" + Buffer.from(seed).toString("hex"));
72
+ if (scalar === BigInt(0) || scalar >= NodeCryptoProvider.SECP256K1_N) {
73
+ throw new Error("seed is not a valid secp256k1 private key - the scalar must be in [1, n-1]");
74
+ }
75
+ const curve = crypto.createECDH("secp256k1");
76
+ curve.setPrivateKey(Buffer.from(seed));
77
+ return {
78
+ prv: { pkcs8pem: "0x" + Buffer.from(seed).toString("hex") },
79
+ pub: {
80
+ pkcs8pem: "0x" + curve.getPublicKey("hex", compressed ? "compressed" : "uncompressed"),
81
+ },
82
+ };
83
+ }
56
84
  toFixedLength(buf, length) {
57
85
  if (buf.length === length) {
58
86
  return buf;
@@ -68,7 +96,48 @@ class NodeCryptoProvider {
68
96
  }
69
97
  const sign = crypto.createSign("sha256");
70
98
  sign.update(data);
71
- return Buffer.from(sign.sign(this.toPrivatePem(prv.pkcs8pem), "hex"), "hex").toString("base64");
99
+ const der = sign.sign(this.toPrivatePem(prv.pkcs8pem));
100
+ return Buffer.from(NodeCryptoProvider.toLowS(der)).toString("base64");
101
+ }
102
+ static toLowS(der) {
103
+ const { r, s } = NodeCryptoProvider.decodeDer(der);
104
+ if (s <= NodeCryptoProvider.SECP256K1_N / BigInt(2)) {
105
+ return der;
106
+ }
107
+ return NodeCryptoProvider.encodeDer(r, NodeCryptoProvider.SECP256K1_N - s);
108
+ }
109
+ static decodeDer(der) {
110
+ let offset = 2;
111
+ if (der[offset] !== 0x02) {
112
+ throw new Error("Malformed ECDSA signature: expected R");
113
+ }
114
+ const rLength = der[offset + 1];
115
+ const r = der.subarray(offset + 2, offset + 2 + rLength);
116
+ offset += 2 + rLength;
117
+ if (der[offset] !== 0x02) {
118
+ throw new Error("Malformed ECDSA signature: expected S");
119
+ }
120
+ const sBytes = der.subarray(offset + 2, offset + 2 + der[offset + 1]);
121
+ return { r, s: BigInt("0x" + sBytes.toString("hex")) };
122
+ }
123
+ static derInteger(value) {
124
+ let trimmed = value;
125
+ let start = 0;
126
+ while (start < trimmed.length - 1 && trimmed[start] === 0) {
127
+ start++;
128
+ }
129
+ trimmed = trimmed.subarray(start);
130
+ if (trimmed[0] & 0x80) {
131
+ trimmed = Buffer.concat([Buffer.from([0]), trimmed]);
132
+ }
133
+ return Buffer.concat([Buffer.from([0x02, trimmed.length]), trimmed]);
134
+ }
135
+ static encodeDer(r, s) {
136
+ const body = Buffer.concat([
137
+ NodeCryptoProvider.derInteger(r),
138
+ NodeCryptoProvider.derInteger(Buffer.from(s.toString(16).padStart(64, "0"), "hex")),
139
+ ]);
140
+ return Buffer.concat([Buffer.from([0x30, body.length]), body]);
72
141
  }
73
142
  verify(data, signature, pub, type) {
74
143
  const pq = type ? POST_QUANTUM[type] : undefined;
@@ -98,4 +167,5 @@ class NodeCryptoProvider {
98
167
  }
99
168
  }
100
169
  exports.NodeCryptoProvider = NodeCryptoProvider;
170
+ NodeCryptoProvider.SECP256K1_N = BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141");
101
171
  //# sourceMappingURL=crypto.js.map
package/lib/crypto.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -3,5 +3,6 @@ export * from "./crypto";
3
3
  export * from "./interfaces";
4
4
  export { KeyHandler } from "./key";
5
5
  export { TransactionHandler } from "./transaction";
6
+ export { PayloadHandler } from "./payload";
6
7
  export { LedgerEvents } from "./events";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,cAAc,wBAAwB,CAAC;AAKvC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
package/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.LedgerEvents = exports.TransactionHandler = exports.KeyHandler = void 0;
17
+ exports.LedgerEvents = exports.PayloadHandler = exports.TransactionHandler = exports.KeyHandler = void 0;
18
18
  __exportStar(require("@activeledger/sdk-core"), exports);
19
19
  __exportStar(require("./crypto"), exports);
20
20
  __exportStar(require("./interfaces"), exports);
@@ -22,6 +22,8 @@ var key_1 = require("./key");
22
22
  Object.defineProperty(exports, "KeyHandler", { enumerable: true, get: function () { return key_1.KeyHandler; } });
23
23
  var transaction_1 = require("./transaction");
24
24
  Object.defineProperty(exports, "TransactionHandler", { enumerable: true, get: function () { return transaction_1.TransactionHandler; } });
25
+ var payload_1 = require("./payload");
26
+ Object.defineProperty(exports, "PayloadHandler", { enumerable: true, get: function () { return payload_1.PayloadHandler; } });
25
27
  var events_1 = require("./events");
26
28
  Object.defineProperty(exports, "LedgerEvents", { enumerable: true, get: function () { return events_1.LedgerEvents; } });
27
29
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA,yDAAuC;AAKvC,2CAAyB;AACzB,+CAA6B;AAC7B,6BAAmC;AAA1B,iGAAA,UAAU,OAAA;AACnB,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,mCAAwC;AAA/B,sGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAuBA,yDAAuC;AAKvC,2CAAyB;AACzB,+CAA6B;AAC7B,6BAAmC;AAA1B,iGAAA,UAAU,OAAA;AACnB,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA"}
@@ -1,4 +1,4 @@
1
- import { IKey } from "@activeledger/sdk-core";
1
+ import { IKey, KeyType } from "@activeledger/sdk-core";
2
2
  export interface IKeyExportOptions {
3
3
  location: string;
4
4
  createDir?: boolean;
@@ -12,5 +12,6 @@ export interface IBIP39Options {
12
12
  compressed?: boolean;
13
13
  passphrase?: string;
14
14
  legacy?: boolean;
15
+ type?: KeyType;
15
16
  }
16
17
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAI9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAQpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAIvD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAQpB,MAAM,CAAC,EAAE,OAAO,CAAC;IAUjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
package/lib/key.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { IKey, KeyHandler as CoreKeyHandler } from "@activeledger/sdk-core";
2
2
  import { IBIP39Options, IKeyExportOptions, IKeyExtended } from "./interfaces";
3
3
  export declare class KeyHandler extends CoreKeyHandler {
4
+ private readonly provider;
4
5
  constructor();
5
6
  generateBIP39Key(keyName: string, options?: IBIP39Options): Promise<IKeyExtended>;
6
7
  restoreBIP39Key(keyName: string, phrase: string, options?: IBIP39Options): Promise<IKeyExtended>;
8
+ private deriveSeed;
7
9
  private deriveBIP32MasterKey;
8
10
  exportKey(key: IKey, options: IKeyExportOptions): Promise<void>;
9
11
  exportKey(key: IKey, location: string, createDir?: boolean, overwrite?: boolean, name?: string): Promise<void>;
package/lib/key.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,cAAc,EAAW,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAU9E,qBAAa,UAAW,SAAQ,cAAc;;IAarC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BjF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmD3G,OAAO,CAAC,oBAAoB;IAYrB,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,SAAS,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,OAAO,EACnB,SAAS,CAAC,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAmET,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7C,OAAO,CAAC,aAAa;CAOtB"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,IAAI,EAAE,UAAU,IAAI,cAAc,EAAW,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAU9E,qBAAa,UAAW,SAAQ,cAAc;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;;IAgBvC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BjF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA6D3G,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,oBAAoB;IAYrB,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,SAAS,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,OAAO,EACnB,SAAS,CAAC,EAAE,OAAO,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAmET,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7C,OAAO,CAAC,aAAa;CAOtB"}
package/lib/key.js CHANGED
@@ -31,7 +31,9 @@ const sdk_core_1 = require("@activeledger/sdk-core");
31
31
  const crypto_1 = require("./crypto");
32
32
  class KeyHandler extends sdk_core_1.KeyHandler {
33
33
  constructor() {
34
- super(new crypto_1.NodeCryptoProvider());
34
+ const provider = new crypto_1.NodeCryptoProvider();
35
+ super(provider);
36
+ this.provider = provider;
35
37
  }
36
38
  generateBIP39Key(keyName, options) {
37
39
  return this.restoreBIP39Key(keyName, (0, bip39_1.generateMnemonic)(), options);
@@ -39,21 +41,17 @@ class KeyHandler extends sdk_core_1.KeyHandler {
39
41
  restoreBIP39Key(keyName, phrase, options = {}) {
40
42
  return new Promise((resolve, reject) => {
41
43
  try {
42
- const privateKey = options.legacy
44
+ const type = options.type || sdk_core_1.KeyType.EllipticCurve;
45
+ if (options.legacy && type !== sdk_core_1.KeyType.EllipticCurve) {
46
+ return reject(new Error(`The legacy BIP-39 scheme is secp256k1 only - it cannot derive ${type}`));
47
+ }
48
+ const seed = options.legacy
43
49
  ? crypto.createHash("sha256").update(phrase, "utf8").digest()
44
- : this.deriveBIP32MasterKey((0, bip39_1.mnemonicToSeedSync)(phrase, options.passphrase || ""));
45
- const curve = crypto.createECDH("secp256k1");
46
- curve.setPrivateKey(privateKey);
50
+ : this.deriveSeed(type, (0, bip39_1.mnemonicToSeedSync)(phrase, options.passphrase || ""));
47
51
  const keyHolder = {
48
- key: {
49
- pub: {
50
- pkcs8pem: "0x" +
51
- (options.compressed ? curve.getPublicKey("hex", "compressed") : curve.getPublicKey("hex", "uncompressed")),
52
- },
53
- prv: { pkcs8pem: "0x" + privateKey.toString("hex") },
54
- },
52
+ key: this.provider.generateFromSeed(seed, options.compressed, type),
55
53
  name: keyName,
56
- type: sdk_core_1.KeyType.EllipticCurve,
54
+ type,
57
55
  phrase,
58
56
  };
59
57
  resolve(keyHolder);
@@ -63,6 +61,13 @@ class KeyHandler extends sdk_core_1.KeyHandler {
63
61
  }
64
62
  });
65
63
  }
64
+ deriveSeed(type, bip39Seed) {
65
+ if (type === sdk_core_1.KeyType.EllipticCurve) {
66
+ return this.deriveBIP32MasterKey(bip39Seed);
67
+ }
68
+ const length = type === sdk_core_1.KeyType.Falcon512 ? 48 : 32;
69
+ return Buffer.from(crypto.hkdfSync("sha512", bip39Seed, Buffer.alloc(0), Buffer.from(`activeledger-seed-v1:${type}`, "utf8"), length));
70
+ }
66
71
  deriveBIP32MasterKey(seed) {
67
72
  return crypto.createHmac("sha512", "Bitcoin seed").update(seed).digest().subarray(0, 32);
68
73
  }
package/lib/key.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../src/key.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { PayloadHandler as CorePayloadHandler } from "@activeledger/sdk-core";
2
+ export declare class PayloadHandler extends CorePayloadHandler {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAa9E,qBAAa,cAAe,SAAQ,kBAAkB;;CAIrD"}
package/lib/payload.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PayloadHandler = void 0;
4
+ const sdk_core_1 = require("@activeledger/sdk-core");
5
+ const crypto_1 = require("./crypto");
6
+ class PayloadHandler extends sdk_core_1.PayloadHandler {
7
+ constructor() {
8
+ super(new crypto_1.NodeCryptoProvider());
9
+ }
10
+ }
11
+ exports.PayloadHandler = PayloadHandler;
12
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../src/payload.ts"],"names":[],"mappings":";;;AAuBA,qDAA8E;AAC9E,qCAA8C;AAY9C,MAAa,cAAe,SAAQ,yBAAkB;IACpD;QACE,KAAK,CAAC,IAAI,2BAAkB,EAAE,CAAC,CAAC;IAClC,CAAC;CACF;AAJD,wCAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@activeledger/sdk-node",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "Activeledger SDK for Node.js - secp256k1 signing via node:crypto (no external crypto dependency)",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "lib"
34
34
  ],
35
35
  "dependencies": {
36
- "@activeledger/sdk-core": "2.1.1",
36
+ "@activeledger/sdk-core": "2.2.0",
37
37
  "@noble/post-quantum": "^0.7.1",
38
38
  "asn1.js": "^5.4.1",
39
39
  "bip39": "3.1.0",