@bitgo/sdk-core 35.5.0 → 35.6.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/account-lib/baseCoin/iface.d.ts +8 -0
  3. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/iface.js +23 -1
  5. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +16 -4
  6. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -1
  7. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +43 -10
  8. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +9 -8
  9. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -1
  10. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +52 -4
  11. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +12 -2
  13. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +13 -5
  14. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/messages/iface.js +1 -1
  16. package/dist/src/account-lib/baseCoin/messages/index.d.ts +1 -0
  17. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/messages/index.js +2 -1
  19. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  20. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  21. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  22. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  23. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  24. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  25. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  26. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  27. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  28. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -1
  29. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  30. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  31. package/dist/src/bitgo/environments.d.ts.map +1 -1
  32. package/dist/src/bitgo/environments.js +17 -1
  33. package/dist/src/bitgo/utils/messageTypes.d.ts +8 -5
  34. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -1
  35. package/dist/src/bitgo/utils/messageTypes.js +3 -1
  36. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +16 -2
  37. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  38. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +48 -2
  39. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +3 -0
  40. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  41. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  42. package/dist/src/bitgo/wallet/iWallet.d.ts +2 -1
  43. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  44. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  45. package/dist/src/bitgo/wallet/wallet.d.ts +7 -0
  46. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  47. package/dist/src/bitgo/wallet/wallet.js +51 -11
  48. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +48 -46
  49. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +58 -15
  50. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +23 -4
  51. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +13 -3
  52. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -1
  53. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +17 -18
  54. package/dist/test/unit/bitgo/utils/messageTypes.js +41 -53
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [35.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@35.5.0...@bitgo/sdk-core@35.6.0) (2025-07-10)
7
+
8
+ ### Features
9
+
10
+ - **account-lib:** verify encoded message ([71a7dd6](https://github.com/BitGo/BitGoJS/commit/71a7dd6cf56010c94364483b7c83221d9a26688e))
11
+ - **sdk-coin-ada:** add CIP-8 message builder ([50c53ec](https://github.com/BitGo/BitGoJS/commit/50c53ecc998815ad25a0b08f27a167a9d2d8d948))
12
+ - **sdk-core:** add simple message builder for sol ([d5af5c8](https://github.com/BitGo/BitGoJS/commit/d5af5c8d45f88feb01387b45f9b1e2cfeb70a2e8))
13
+ - **sdk-core:** create message sign request ([2152ad4](https://github.com/BitGo/BitGoJS/commit/2152ad4bb03851f0a14a1523219dc8052c773750))
14
+ - **statics:** add creditcoin chain config ([104014d](https://github.com/BitGo/BitGoJS/commit/104014d70bfabb3962172af98501a85410c16f9c))
15
+ - **statics:** add pharos chain config ([9dd76f9](https://github.com/BitGo/BitGoJS/commit/9dd76f9d7e7328d1999131b270efafa092720005))
16
+
6
17
  # [35.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@35.4.1...@bitgo/sdk-core@35.5.0) (2025-07-03)
7
18
 
8
19
  ### Features
@@ -29,6 +29,14 @@ export type Signature = {
29
29
  publicKey: PublicKey;
30
30
  signature: Buffer;
31
31
  };
32
+ export type SerializedSignature = {
33
+ publicKey: string;
34
+ signature: string;
35
+ };
36
+ export declare function serializeSignature(signature: Signature): SerializedSignature;
37
+ export declare function serializeSignatures(signatures: Signature[]): SerializedSignature[];
38
+ export declare function deserializeSignature(serialized: SerializedSignature): Signature;
39
+ export declare function deserializeSignatures(serialized?: SerializedSignature[]): Signature[];
32
40
  export type KeyPairOptions = Seed | PrivateKey | PublicKey;
33
41
  export type BaseBuilder = BaseTransactionBuilder | BaseTransactionBuilderFactory;
34
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,GAAG,CAAC;CACV;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG,sBAAsB,GAAG,6BAA6B,CAAC;AAEjF;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,IAAI,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,IAAI,UAAU,CAEzE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,IAAI,SAAS,CAEvE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAM,SAAQ,WAAW;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAC7E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../src/account-lib/baseCoin/iface.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeSignature = serializeSignature;
4
+ exports.serializeSignatures = serializeSignatures;
5
+ exports.deserializeSignature = deserializeSignature;
6
+ exports.deserializeSignatures = deserializeSignatures;
3
7
  exports.isSeed = isSeed;
4
8
  exports.isPrivateKey = isPrivateKey;
5
9
  exports.isPublicKey = isPublicKey;
10
+ function serializeSignature(signature) {
11
+ return {
12
+ publicKey: signature.publicKey.pub,
13
+ signature: signature.signature.toString('base64'),
14
+ };
15
+ }
16
+ function serializeSignatures(signatures) {
17
+ return signatures.map(serializeSignature);
18
+ }
19
+ function deserializeSignature(serialized) {
20
+ return {
21
+ publicKey: { pub: serialized.publicKey },
22
+ signature: Buffer.from(serialized.signature, 'base64'),
23
+ };
24
+ }
25
+ function deserializeSignatures(serialized) {
26
+ return serialized?.map(deserializeSignature) || [];
27
+ }
6
28
  /**
7
29
  * @param source
8
30
  */
@@ -21,4 +43,4 @@ function isPrivateKey(source) {
21
43
  function isPublicKey(source) {
22
44
  return source.pub !== undefined;
23
45
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vaWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0Q0Esd0JBRUM7QUFLRCxvQ0FFQztBQUtELGtDQUVDO0FBbkJEOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLE1BQXNCO0lBQzNDLE9BQVEsTUFBZSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFDN0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLE1BQXNCO0lBQ2pELE9BQVEsTUFBcUIsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxNQUFzQjtJQUNoRCxPQUFRLE1BQW9CLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUtleSB7XG4gIGtleTogYW55O1xufVxuXG4vKipcbiAqIEEgcHJpdmF0ZSBrZXkgaW4gZXh0ZW5kZWQgb3IgcmF3IGZvcm1hdFxuICovXG5leHBvcnQgdHlwZSBQcml2YXRlS2V5ID0ge1xuICBwcnY6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBwdWJsaWMga2V5IGluIGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQgZm9ybWF0XG4gKi9cbmV4cG9ydCB0eXBlIFB1YmxpY0tleSA9IHtcbiAgcHViOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEEgc2VlZCB0byBjcmVhdGUga2V5IHBhaXJzLiBNdXN0IGJlIGJldHdlZW4gMTYgYW5kIDY0IEJ5dGVzIGxvbmdcbiAqL1xuZXhwb3J0IHR5cGUgU2VlZCA9IHtcbiAgc2VlZDogQnVmZmVyO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRhdGlvbiBvZiBhIFNpZ25hdHVyZSB0byBiZSBhZGRlZCB0byBhIFRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5O1xuICBzaWduYXR1cmU6IEJ1ZmZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEtleVBhaXJPcHRpb25zID0gU2VlZCB8IFByaXZhdGVLZXkgfCBQdWJsaWNLZXk7XG5cbmV4cG9ydCB0eXBlIEJhc2VCdWlsZGVyID0gQmFzZVRyYW5zYWN0aW9uQnVpbGRlciB8IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5O1xuXG4vKipcbiAqIEBwYXJhbSBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU2VlZChzb3VyY2U6IEtleVBhaXJPcHRpb25zKTogc291cmNlIGlzIFNlZWQge1xuICByZXR1cm4gKHNvdXJjZSBhcyBTZWVkKS5zZWVkICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcml2YXRlS2V5KHNvdXJjZTogS2V5UGFpck9wdGlvbnMpOiBzb3VyY2UgaXMgUHJpdmF0ZUtleSB7XG4gIHJldHVybiAoc291cmNlIGFzIFByaXZhdGVLZXkpLnBydiAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEBwYXJhbSBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHVibGljS2V5KHNvdXJjZTogS2V5UGFpck9wdGlvbnMpOiBzb3VyY2UgaXMgUHVibGljS2V5IHtcbiAgcmV0dXJuIChzb3VyY2UgYXMgUHVibGljS2V5KS5wdWIgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBLZXkgcGFpciBpbiB0aGUgcHJvdG9jb2wgZGVmYXVsdCBmb3JtYXQuXG4gKi9cbmV4cG9ydCB0eXBlIERlZmF1bHRLZXlzID0ge1xuICBwcnY/OiBzdHJpbmc7XG4gIHB1Yjogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBLZXkgcGFpciBpbiBVaW50OEFycmF5IGZvcm1hdC5cbiAqL1xuZXhwb3J0IHR5cGUgQnl0ZUtleXMgPSB7XG4gIHBydj86IFVpbnQ4QXJyYXk7XG4gIHB1YjogVWludDhBcnJheTtcbn07XG5cbi8qKlxuICogS2V5IHBhaXIgaW4gZXh0ZW5kZWQgZm9ybWF0LiBVc2VkIGZvciBjb2lucyBzdXBwb3J0aW5nIHNlY3AyNTZrMSBlbGxpcHRpYyBjdXJ2ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRXh0ZW5kZWRLZXlzID0ge1xuICB4cHJ2Pzogc3RyaW5nO1xuICB4cHViOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VBZGRyZXNzIHtcbiAgYWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudHJ5IGV4dGVuZHMgQmFzZUFkZHJlc3Mge1xuICBjb2luPzogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VGZWUge1xuICBmZWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1lbW8/OiBzdHJpbmc7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkZlZSB7XG4gIGZlZTogc3RyaW5nO1xuICBmZWVSYXRlPzogbnVtYmVyO1xuICBzaXplPzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uT3V0cHV0cyB7XG4gIG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIG91dHB1dEFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uQ2hhbmdlcyB7XG4gIGNoYW5nZU91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gIGNoYW5nZUFtb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0gSVRyYW5zYWN0aW9uRXhwbGFuYXRpb248VHJhbnNhY3Rpb25GZWU+O1xuLyoqXG4gKiBGZWUgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgRmVlT3B0aW9ucyA9IHtcbiAgYW1vdW50OiBudW1iZXIgfCBzdHJpbmc7XG4gIHVuaXQ/OiAnYmFzZVVuaXQnIHwgJ2NwdScgfCAncmFtJztcbiAgZm9ybXVsYT86ICdmaXhlZCcgfCAnZmVlUmF0ZScgfCAncGVyS0InIHwgJ2N1c3RvbSc7XG4gIHR5cGU/OiAnYmFzZScgfCAnbWF4JyB8ICd0aXAnO1xufTtcblxuLyoqXG4gKiBUaGUgdmFsaWRpdHkgd2luZG93IHNpZ25hbHMgd2hlbiBhIHRyYW5zYWN0aW9uIGNhbiBiZSBpbmNsdWRlZCBpbiB0aGUgbmV0d29yay5cbiAqICBWYWxpZGl0eVdpbmRvdyBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNhY3Rpb24gZGF0YSBpbiB0aGUgaW5kZXhlciBhbmQgd2FsbGV0IHBsYXRmb3JtLCB1bmxlc3MgaXQgaXMgYWJzb2x1dGVseSBuZWNlc3NhcnkuXG4gKiBmaXJzdFZhbGlkOiB0aGUgYWJzb2x1dGUgYmxvY2svdGltZSBhZnRlciB3aGljaCB0aGUgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAqIGxhc3RWYWxpZDogdGhlIGFic29sdXRlIGJsb2NrL3RpbWUgYmVmb3JlIHdoaWNoIHRoZSB0cmFuc2FjdGlvbiBpcyB2YWxpZFxuICogbWluRHVyYXRpb246IG1pbmltdW0gZHVyYXRpb24gYSB0cmFuc2FjdGlvbiBmb3IgdGhpcyBjb2luIGlzIHZhbGlkXG4gKiBtYXhEdXJhdGlvbjogbWF4aW11bSBkdXJhdGlvbiBhIHRyYW5zYWN0aW9uIGZvciB0aGlzIGNvaW4gaXMgdmFsaWRcbiAqIG1pbkR1cmF0aW9uIGFuZCBtYXhEdXJhdGlvbiBhcmUgZGVmaW5lZCBwZXIgYmxvY2tjaGFpbiwgd2hlcmVhcyBmaXJzdFZhbGlkIGFuZCBsYXN0VmFsaWQgYXJlIGRlZmluZWQgcGVyIHRyYW5zYWN0aW9uXG4gKiB1bml0OiB2YWxpZGl0eSB3aW5kb3cgd2lsbCBiZSBtZWFzdXJlIGluIGJsb2NraGVpZ2ggb3IgdGltZXN0YW1wXG4gKiBUT0RPOiB2YWxpZGl0eVdpbmRvdyBjb25zdHJhaW50IG1ldGhvZHMgd2lsbCBiZSB0YWtlbiBvbjogaHR0cHM6Ly9iaXRnb2luYy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9TVExYLTEwODAwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRpdHlXaW5kb3cge1xuICBmaXJzdFZhbGlkPzogbnVtYmVyO1xuICBsYXN0VmFsaWQ/OiBudW1iZXI7XG4gIG1pbkR1cmF0aW9uPzogbnVtYmVyO1xuICBtYXhEdXJhdGlvbj86IG51bWJlcjtcbiAgdW5pdD86ICdibG9ja2hlaWdodCcgfCAndGltZXN0YW1wJztcbn1cblxuLyoqXG4gKiBTZXF1ZW5jZSBJZHMgYXJlIHVzZWQgdG8gZGlmZmVyZW50aWF0ZSBwYXltZW50cyBjb21pbmcgZnJvbSB0aGUgc2FtZSBhY2NvdW50IGFuZCB0byBwcmV2ZW50IGFjY2lkZW50YWwgZG91YmxlIHNwZW5kcyBhbmQgcmVwbGF5IGF0dGFja3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VxdWVuY2VJZCB7XG4gIG5hbWU6ICdOb25jZScgfCAnU2VxdWVuY2UgSWQnIHwgJ0NvdW50ZXInO1xuICBrZXl3b3JkOiAnbm9uY2UnIHwgJ3NlcXVlbmNlSWQnIHwgJ2NvdW50ZXInO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vaWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEwQ0EsZ0RBS0M7QUFFRCxrREFFQztBQUVELG9EQUtDO0FBRUQsc0RBRUM7QUFTRCx3QkFFQztBQUtELG9DQUVDO0FBS0Qsa0NBRUM7QUE3Q0QsU0FBZ0Isa0JBQWtCLENBQUMsU0FBb0I7SUFDckQsT0FBTztRQUNMLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUc7UUFDbEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLG1CQUFtQixDQUFDLFVBQXVCO0lBQ3pELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxVQUErQjtJQUNsRSxPQUFPO1FBQ0wsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUU7UUFDeEMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7S0FDdkQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxVQUFrQztJQUN0RSxPQUFPLFVBQVUsRUFBRSxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDckQsQ0FBQztBQU1EOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLE1BQXNCO0lBQzNDLE9BQVEsTUFBZSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFDN0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLE1BQXNCO0lBQ2pELE9BQVEsTUFBcUIsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxNQUFzQjtJQUNoRCxPQUFRLE1BQW9CLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRyYW5zYWN0aW9uRXhwbGFuYXRpb24gfSBmcm9tICcuLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9iYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUtleSB7XG4gIGtleTogYW55O1xufVxuXG4vKipcbiAqIEEgcHJpdmF0ZSBrZXkgaW4gZXh0ZW5kZWQgb3IgcmF3IGZvcm1hdFxuICovXG5leHBvcnQgdHlwZSBQcml2YXRlS2V5ID0ge1xuICBwcnY6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBwdWJsaWMga2V5IGluIGV4dGVuZGVkLCBjb21wcmVzc2VkLCBvciB1bmNvbXByZXNzZWQgZm9ybWF0XG4gKi9cbmV4cG9ydCB0eXBlIFB1YmxpY0tleSA9IHtcbiAgcHViOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEEgc2VlZCB0byBjcmVhdGUga2V5IHBhaXJzLiBNdXN0IGJlIGJldHdlZW4gMTYgYW5kIDY0IEJ5dGVzIGxvbmdcbiAqL1xuZXhwb3J0IHR5cGUgU2VlZCA9IHtcbiAgc2VlZDogQnVmZmVyO1xufTtcblxuLyoqXG4gKiBSZXByZXNlbnRhdGlvbiBvZiBhIFNpZ25hdHVyZSB0byBiZSBhZGRlZCB0byBhIFRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5O1xuICBzaWduYXR1cmU6IEJ1ZmZlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlcmlhbGl6ZWRTaWduYXR1cmUgPSB7XG4gIHB1YmxpY0tleTogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTaWduYXR1cmUoc2lnbmF0dXJlOiBTaWduYXR1cmUpOiBTZXJpYWxpemVkU2lnbmF0dXJlIHtcbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNLZXk6IHNpZ25hdHVyZS5wdWJsaWNLZXkucHViLFxuICAgIHNpZ25hdHVyZTogc2lnbmF0dXJlLnNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0JyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTaWduYXR1cmVzKHNpZ25hdHVyZXM6IFNpZ25hdHVyZVtdKTogU2VyaWFsaXplZFNpZ25hdHVyZVtdIHtcbiAgcmV0dXJuIHNpZ25hdHVyZXMubWFwKHNlcmlhbGl6ZVNpZ25hdHVyZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZVNpZ25hdHVyZShzZXJpYWxpemVkOiBTZXJpYWxpemVkU2lnbmF0dXJlKTogU2lnbmF0dXJlIHtcbiAgcmV0dXJuIHtcbiAgICBwdWJsaWNLZXk6IHsgcHViOiBzZXJpYWxpemVkLnB1YmxpY0tleSB9LFxuICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oc2VyaWFsaXplZC5zaWduYXR1cmUsICdiYXNlNjQnKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU2lnbmF0dXJlcyhzZXJpYWxpemVkPzogU2VyaWFsaXplZFNpZ25hdHVyZVtdKTogU2lnbmF0dXJlW10ge1xuICByZXR1cm4gc2VyaWFsaXplZD8ubWFwKGRlc2VyaWFsaXplU2lnbmF0dXJlKSB8fCBbXTtcbn1cblxuZXhwb3J0IHR5cGUgS2V5UGFpck9wdGlvbnMgPSBTZWVkIHwgUHJpdmF0ZUtleSB8IFB1YmxpY0tleTtcblxuZXhwb3J0IHR5cGUgQmFzZUJ1aWxkZXIgPSBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHwgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk7XG5cbi8qKlxuICogQHBhcmFtIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZWVkKHNvdXJjZTogS2V5UGFpck9wdGlvbnMpOiBzb3VyY2UgaXMgU2VlZCB7XG4gIHJldHVybiAoc291cmNlIGFzIFNlZWQpLnNlZWQgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gc291cmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ByaXZhdGVLZXkoc291cmNlOiBLZXlQYWlyT3B0aW9ucyk6IHNvdXJjZSBpcyBQcml2YXRlS2V5IHtcbiAgcmV0dXJuIChzb3VyY2UgYXMgUHJpdmF0ZUtleSkucHJ2ICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQdWJsaWNLZXkoc291cmNlOiBLZXlQYWlyT3B0aW9ucyk6IHNvdXJjZSBpcyBQdWJsaWNLZXkge1xuICByZXR1cm4gKHNvdXJjZSBhcyBQdWJsaWNLZXkpLnB1YiAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEtleSBwYWlyIGluIHRoZSBwcm90b2NvbCBkZWZhdWx0IGZvcm1hdC5cbiAqL1xuZXhwb3J0IHR5cGUgRGVmYXVsdEtleXMgPSB7XG4gIHBydj86IHN0cmluZztcbiAgcHViOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEtleSBwYWlyIGluIFVpbnQ4QXJyYXkgZm9ybWF0LlxuICovXG5leHBvcnQgdHlwZSBCeXRlS2V5cyA9IHtcbiAgcHJ2PzogVWludDhBcnJheTtcbiAgcHViOiBVaW50OEFycmF5O1xufTtcblxuLyoqXG4gKiBLZXkgcGFpciBpbiBleHRlbmRlZCBmb3JtYXQuIFVzZWQgZm9yIGNvaW5zIHN1cHBvcnRpbmcgc2VjcDI1NmsxIGVsbGlwdGljIGN1cnZlLlxuICovXG5leHBvcnQgdHlwZSBFeHRlbmRlZEtleXMgPSB7XG4gIHhwcnY/OiBzdHJpbmc7XG4gIHhwdWI6IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUFkZHJlc3Mge1xuICBhZGRyZXNzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50cnkgZXh0ZW5kcyBCYXNlQWRkcmVzcyB7XG4gIGNvaW4/OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUZlZSB7XG4gIGZlZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZyB8IG51bWJlcjtcbiAgbWVtbz86IHN0cmluZztcbiAgdG9rZW5OYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRmVlIHtcbiAgZmVlOiBzdHJpbmc7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25PdXRwdXRzIHtcbiAgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgb3V0cHV0QW1vdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25DaGFuZ2VzIHtcbiAgY2hhbmdlT3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgY2hhbmdlQW1vdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gPSBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxUcmFuc2FjdGlvbkZlZT47XG4vKipcbiAqIEZlZSBvcHRpb25zLlxuICovXG5leHBvcnQgdHlwZSBGZWVPcHRpb25zID0ge1xuICBhbW91bnQ6IG51bWJlciB8IHN0cmluZztcbiAgdW5pdD86ICdiYXNlVW5pdCcgfCAnY3B1JyB8ICdyYW0nO1xuICBmb3JtdWxhPzogJ2ZpeGVkJyB8ICdmZWVSYXRlJyB8ICdwZXJLQicgfCAnY3VzdG9tJztcbiAgdHlwZT86ICdiYXNlJyB8ICdtYXgnIHwgJ3RpcCc7XG59O1xuXG4vKipcbiAqIFRoZSB2YWxpZGl0eSB3aW5kb3cgc2lnbmFscyB3aGVuIGEgdHJhbnNhY3Rpb24gY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBuZXR3b3JrLlxuICogIFZhbGlkaXR5V2luZG93IGluZm9ybWF0aW9uIGlzIHN0b3JlZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2FjdGlvbiBkYXRhIGluIHRoZSBpbmRleGVyIGFuZCB3YWxsZXQgcGxhdGZvcm0sIHVubGVzcyBpdCBpcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS5cbiAqIGZpcnN0VmFsaWQ6IHRoZSBhYnNvbHV0ZSBibG9jay90aW1lIGFmdGVyIHdoaWNoIHRoZSB0cmFuc2FjdGlvbiBpcyB2YWxpZFxuICogbGFzdFZhbGlkOiB0aGUgYWJzb2x1dGUgYmxvY2svdGltZSBiZWZvcmUgd2hpY2ggdGhlIHRyYW5zYWN0aW9uIGlzIHZhbGlkXG4gKiBtaW5EdXJhdGlvbjogbWluaW11bSBkdXJhdGlvbiBhIHRyYW5zYWN0aW9uIGZvciB0aGlzIGNvaW4gaXMgdmFsaWRcbiAqIG1heER1cmF0aW9uOiBtYXhpbXVtIGR1cmF0aW9uIGEgdHJhbnNhY3Rpb24gZm9yIHRoaXMgY29pbiBpcyB2YWxpZFxuICogbWluRHVyYXRpb24gYW5kIG1heER1cmF0aW9uIGFyZSBkZWZpbmVkIHBlciBibG9ja2NoYWluLCB3aGVyZWFzIGZpcnN0VmFsaWQgYW5kIGxhc3RWYWxpZCBhcmUgZGVmaW5lZCBwZXIgdHJhbnNhY3Rpb25cbiAqIHVuaXQ6IHZhbGlkaXR5IHdpbmRvdyB3aWxsIGJlIG1lYXN1cmUgaW4gYmxvY2toZWlnaCBvciB0aW1lc3RhbXBcbiAqIFRPRE86IHZhbGlkaXR5V2luZG93IGNvbnN0cmFpbnQgbWV0aG9kcyB3aWxsIGJlIHRha2VuIG9uOiBodHRwczovL2JpdGdvaW5jLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1NUTFgtMTA4MDBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGl0eVdpbmRvdyB7XG4gIGZpcnN0VmFsaWQ/OiBudW1iZXI7XG4gIGxhc3RWYWxpZD86IG51bWJlcjtcbiAgbWluRHVyYXRpb24/OiBudW1iZXI7XG4gIG1heER1cmF0aW9uPzogbnVtYmVyO1xuICB1bml0PzogJ2Jsb2NraGVpZ2h0JyB8ICd0aW1lc3RhbXAnO1xufVxuXG4vKipcbiAqIFNlcXVlbmNlIElkcyBhcmUgdXNlZCB0byBkaWZmZXJlbnRpYXRlIHBheW1lbnRzIGNvbWluZyBmcm9tIHRoZSBzYW1lIGFjY291bnQgYW5kIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBkb3VibGUgc3BlbmRzIGFuZCByZXBsYXkgYXR0YWNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXF1ZW5jZUlkIHtcbiAgbmFtZTogJ05vbmNlJyB8ICdTZXF1ZW5jZSBJZCcgfCAnQ291bnRlcic7XG4gIGtleXdvcmQ6ICdub25jZScgfCAnc2VxdWVuY2VJZCcgfCAnY291bnRlcic7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
2
  import { BroadcastableMessage, MessageMetadata, MessageOptions, MessagePayload, MessageStandardType } from '../../../bitgo';
3
3
  import { IMessage } from './iface';
4
+ import { Signature } from '../iface';
4
5
  export declare abstract class BaseMessage implements IMessage {
5
6
  protected coinConfig: Readonly<CoinConfig>;
6
7
  protected type: MessageStandardType;
7
8
  protected payload: MessagePayload;
8
- protected signatures: string[];
9
+ protected signatures: Signature[];
9
10
  protected signers: string[];
10
11
  protected signablePayload?: string | Buffer;
11
12
  protected metadata?: MessageMetadata;
@@ -44,22 +45,26 @@ export declare abstract class BaseMessage implements IMessage {
44
45
  /**
45
46
  * Gets all signatures associated with this message
46
47
  */
47
- getSignatures(): string[];
48
+ getSignatures(): Signature[];
48
49
  /**
49
50
  * Sets signatures for this message
50
51
  * @param signatures Array of signatures to set
51
52
  */
52
- setSignatures(signatures: string[]): void;
53
+ setSignatures(signatures: Signature[]): void;
53
54
  /**
54
55
  * Adds a signature to this message
55
56
  * @param signature The signature to add
56
57
  */
57
- addSignature(signature: string): void;
58
+ addSignature(signature: Signature): void;
58
59
  /**
59
60
  * Gets the payload that should be signed
60
61
  * Each message standard must implement this method
61
62
  */
62
63
  abstract getSignablePayload(): Promise<string | Buffer>;
64
+ /**
65
+ * Gets the signatures in a format suitable for broadcasting
66
+ */
67
+ getBroadcastableSignatures(): Signature[];
63
68
  /**
64
69
  * Converts this message to a broadcastable format
65
70
  * Uses internal signatures and signers that were previously set
@@ -72,5 +77,12 @@ export declare abstract class BaseMessage implements IMessage {
72
77
  * @returns A JSON string representation of the broadcastable message
73
78
  */
74
79
  toBroadcastString(): Promise<string>;
80
+ /**
81
+ * Verifies if the provided encoded message matches the signable payload
82
+ * @param messageEncodedHex The encoded message in hex format
83
+ * @param metadata Optional metadata for additional verification context
84
+ * @returns True if the encoded message matches the signable payload, false otherwise
85
+ */
86
+ verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
75
87
  }
76
88
  //# sourceMappingURL=baseMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseMessage.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,8BAAsB,WAAY,YAAW,QAAQ;IACnD,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAErC;;;;OAIG;IACH,SAAS,aAAa,OAAO,EAAE,cAAc;IAe7C;;OAEG;IACH,OAAO,IAAI,mBAAmB;IAI9B;;OAEG;IACH,UAAU,IAAI,cAAc;IAI5B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS;IAI1C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM/B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAIzC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvD;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAqBxD;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;CAI3C"}
1
+ {"version":3,"file":"baseMessage.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAuB,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1D,8BAAsB,WAAY,YAAW,QAAQ;IACnD,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAErC;;;;OAIG;IACH,SAAS,aAAa,OAAO,EAAE,cAAc;IAmB7C;;OAEG;IACH,OAAO,IAAI,mBAAmB;IAI9B;;OAEG;IACH,UAAU,IAAI,cAAc;IAI5B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS;IAI1C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM/B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE;IAI5B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAI5C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvD;;OAEG;IACH,0BAA0B,IAAI,SAAS,EAAE;IAIzC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAwBxD;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1C;;;;;OAKG;IACG,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAU5G"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMessage = void 0;
4
4
  const bitgo_1 = require("../../../bitgo");
5
+ const iface_1 = require("../iface");
5
6
  class BaseMessage {
6
7
  /**
7
8
  * Base constructor.
@@ -12,12 +13,16 @@ class BaseMessage {
12
13
  this.signatures = [];
13
14
  this.signers = [];
14
15
  this.coinConfig = options.coinConfig;
16
+ this.payload = options.payload;
15
17
  this.type = options.type || bitgo_1.MessageStandardType.UNKNOWN;
16
- this.payload = options.payload || '';
17
18
  this.signablePayload = options.signablePayload;
18
19
  this.metadata = options.metadata || {};
19
20
  if (options.signatures) {
20
- this.signatures = [...options.signatures];
21
+ // Deep copy each Signature object, including the Buffer
22
+ this.signatures = options.signatures.map((sig) => ({
23
+ publicKey: { ...sig.publicKey },
24
+ signature: Buffer.from(sig.signature),
25
+ }));
21
26
  }
22
27
  if (options.signers) {
23
28
  this.signers = [...options.signers];
@@ -83,27 +88,38 @@ class BaseMessage {
83
88
  addSignature(signature) {
84
89
  this.signatures.push(signature);
85
90
  }
91
+ /**
92
+ * Gets the signatures in a format suitable for broadcasting
93
+ */
94
+ getBroadcastableSignatures() {
95
+ return this.signatures;
96
+ }
86
97
  /**
87
98
  * Converts this message to a broadcastable format
88
99
  * Uses internal signatures and signers that were previously set
89
100
  * @returns A broadcastable message
90
101
  */
91
102
  async toBroadcastFormat() {
92
- if (this.signatures.length === 0) {
93
- throw new Error('No signatures available for broadcast. Call setSignatures or addSignature first.');
103
+ if (!this.payload) {
104
+ throw new Error('Message payload must be set before converting to broadcast format');
94
105
  }
95
- if (this.signers.length === 0) {
96
- throw new Error('No signers available for broadcast. Call setSigners or addSigner first.');
106
+ const signablePayload = await this.getSignablePayload();
107
+ let serializedSignablePayload;
108
+ if (Buffer.isBuffer(signablePayload)) {
109
+ serializedSignablePayload = signablePayload.toString('base64');
110
+ }
111
+ else {
112
+ serializedSignablePayload = Buffer.from(String(signablePayload)).toString('base64');
97
113
  }
98
114
  return {
99
115
  type: this.type,
100
116
  payload: this.payload,
101
- signatures: this.signatures,
102
- signers: this.signers,
117
+ serializedSignatures: (0, iface_1.serializeSignatures)(this.getBroadcastableSignatures()),
118
+ signers: [...this.signers],
103
119
  metadata: {
104
120
  ...(this.metadata ? JSON.parse(JSON.stringify(this.metadata)) : {}), // deep copy to avoid mutation
105
121
  },
106
- signablePayload: this.signablePayload,
122
+ signablePayload: serializedSignablePayload,
107
123
  };
108
124
  }
109
125
  /**
@@ -115,6 +131,23 @@ class BaseMessage {
115
131
  const broadcastable = await this.toBroadcastFormat();
116
132
  return JSON.stringify(broadcastable);
117
133
  }
134
+ /**
135
+ * Verifies if the provided encoded message matches the signable payload
136
+ * @param messageEncodedHex The encoded message in hex format
137
+ * @param metadata Optional metadata for additional verification context
138
+ * @returns True if the encoded message matches the signable payload, false otherwise
139
+ */
140
+ async verifyEncodedPayload(messageEncodedHex, metadata) {
141
+ const signablePayload = await this.getSignablePayload();
142
+ let signablePayloadHex;
143
+ if (Buffer.isBuffer(signablePayload)) {
144
+ signablePayloadHex = signablePayload.toString('hex');
145
+ }
146
+ else {
147
+ signablePayloadHex = signablePayload;
148
+ }
149
+ return signablePayloadHex === messageEncodedHex;
150
+ }
118
151
  }
119
152
  exports.BaseMessage = BaseMessage;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBTXdCO0FBR3hCLE1BQXNCLFdBQVc7SUFTL0I7Ozs7T0FJRztJQUNILFlBQXNCLE9BQXVCO1FBVm5DLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDMUIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQVUvQixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLDJCQUFtQixDQUFDLE9BQU8sQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRXZDLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsTUFBYztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxPQUFpQjtRQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsVUFBb0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFpQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBUUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFO2dCQUNSLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLDhCQUE4QjthQUNwRztZQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsaUJBQWlCO1FBQ3JCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQTNJRCxrQ0EySUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsXG4gIE1lc3NhZ2VNZXRhZGF0YSxcbiAgTWVzc2FnZU9wdGlvbnMsXG4gIE1lc3NhZ2VQYXlsb2FkLFxuICBNZXNzYWdlU3RhbmRhcmRUeXBlLFxufSBmcm9tICcuLi8uLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBJTWVzc2FnZSB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1lc3NhZ2UgaW1wbGVtZW50cyBJTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgcHJvdGVjdGVkIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHByb3RlY3RlZCBwYXlsb2FkOiBNZXNzYWdlUGF5bG9hZDtcbiAgcHJvdGVjdGVkIHNpZ25hdHVyZXM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBzaWduZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgc2lnbmFibGVQYXlsb2FkPzogc3RyaW5nIHwgQnVmZmVyO1xuICBwcm90ZWN0ZWQgbWV0YWRhdGE/OiBNZXNzYWdlTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIE1lc3NhZ2Ugb3B0aW9ucyBjb250YWluaW5nIHR5cGUsIHBheWxvYWQsIG1ldGFkYXRhLCBldGMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Iob3B0aW9uczogTWVzc2FnZU9wdGlvbnMpIHtcbiAgICB0aGlzLmNvaW5Db25maWcgPSBvcHRpb25zLmNvaW5Db25maWc7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTjtcbiAgICB0aGlzLnBheWxvYWQgPSBvcHRpb25zLnBheWxvYWQgfHwgJyc7XG4gICAgdGhpcy5zaWduYWJsZVBheWxvYWQgPSBvcHRpb25zLnNpZ25hYmxlUGF5bG9hZDtcbiAgICB0aGlzLm1ldGFkYXRhID0gb3B0aW9ucy5tZXRhZGF0YSB8fCB7fTtcblxuICAgIGlmIChvcHRpb25zLnNpZ25hdHVyZXMpIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlcyA9IFsuLi5vcHRpb25zLnNpZ25hdHVyZXNdO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5zaWduZXJzKSB7XG4gICAgICB0aGlzLnNpZ25lcnMgPSBbLi4ub3B0aW9ucy5zaWduZXJzXTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtZXNzYWdlIHR5cGVcbiAgICovXG4gIGdldFR5cGUoKTogTWVzc2FnZVN0YW5kYXJkVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1lc3NhZ2UgcGF5bG9hZFxuICAgKi9cbiAgZ2V0UGF5bG9hZCgpOiBNZXNzYWdlUGF5bG9hZCB7XG4gICAgcmV0dXJuIHRoaXMucGF5bG9hZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1ldGFkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVzc2FnZVxuICAgKi9cbiAgZ2V0TWV0YWRhdGEoKTogTWVzc2FnZU1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBzaWduZXJzIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5c1xuICAgKi9cbiAgZ2V0U2lnbmVycygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnNpZ25lcnNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzaWduZXIgYWRkcmVzcyBvciBwdWJsaWMga2V5XG4gICAqIEBwYXJhbSBzaWduZXIgVGhlIGFkZHJlc3Mgb3IgcHVibGljIGtleSBvZiB0aGUgc2lnbmVyXG4gICAqL1xuICBhZGRTaWduZXIoc2lnbmVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2lnbmVycy5pbmNsdWRlcyhzaWduZXIpKSB7XG4gICAgICB0aGlzLnNpZ25lcnMucHVzaChzaWduZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHNpZ25lcnMgYWRkcmVzc2VzIG9yIHB1YmxpYyBrZXlzXG4gICAqIEBwYXJhbSBzaWduZXJzIEFycmF5IG9mIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5c1xuICAgKi9cbiAgc2V0U2lnbmVycyhzaWduZXJzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmVycyA9IFsuLi5zaWduZXJzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFsbCBzaWduYXR1cmVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIG1lc3NhZ2VcbiAgICovXG4gIGdldFNpZ25hdHVyZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zaWduYXR1cmVzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHNpZ25hdHVyZXMgZm9yIHRoaXMgbWVzc2FnZVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlcyBBcnJheSBvZiBzaWduYXR1cmVzIHRvIHNldFxuICAgKi9cbiAgc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmF0dXJlcyA9IFsuLi5zaWduYXR1cmVzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc2lnbmF0dXJlIHRvIHRoaXMgbWVzc2FnZVxuICAgKiBAcGFyYW0gc2lnbmF0dXJlIFRoZSBzaWduYXR1cmUgdG8gYWRkXG4gICAqL1xuICBhZGRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBheWxvYWQgdGhhdCBzaG91bGQgYmUgc2lnbmVkXG4gICAqIEVhY2ggbWVzc2FnZSBzdGFuZGFyZCBtdXN0IGltcGxlbWVudCB0aGlzIG1ldGhvZFxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPjtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhpcyBtZXNzYWdlIHRvIGEgYnJvYWRjYXN0YWJsZSBmb3JtYXRcbiAgICogVXNlcyBpbnRlcm5hbCBzaWduYXR1cmVzIGFuZCBzaWduZXJzIHRoYXQgd2VyZSBwcmV2aW91c2x5IHNldFxuICAgKiBAcmV0dXJucyBBIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgdG9Ccm9hZGNhc3RGb3JtYXQoKTogUHJvbWlzZTxCcm9hZGNhc3RhYmxlTWVzc2FnZT4ge1xuICAgIGlmICh0aGlzLnNpZ25hdHVyZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNpZ25hdHVyZXMgYXZhaWxhYmxlIGZvciBicm9hZGNhc3QuIENhbGwgc2V0U2lnbmF0dXJlcyBvciBhZGRTaWduYXR1cmUgZmlyc3QuJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2lnbmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc2lnbmVycyBhdmFpbGFibGUgZm9yIGJyb2FkY2FzdC4gQ2FsbCBzZXRTaWduZXJzIG9yIGFkZFNpZ25lciBmaXJzdC4nKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgc2lnbmF0dXJlczogdGhpcy5zaWduYXR1cmVzLFxuICAgICAgc2lnbmVyczogdGhpcy5zaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4uKHRoaXMubWV0YWRhdGEgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubWV0YWRhdGEpKSA6IHt9KSwgLy8gZGVlcCBjb3B5IHRvIGF2b2lkIG11dGF0aW9uXG4gICAgICB9LFxuICAgICAgc2lnbmFibGVQYXlsb2FkOiB0aGlzLnNpZ25hYmxlUGF5bG9hZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgdGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0byBhIHN0cmluZ1xuICAgKiBVc2VzIGludGVybmFsIHNpZ25hdHVyZXMgYW5kIHNpZ25lcnMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgc2V0XG4gICAqIEByZXR1cm5zIEEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgdG9Ccm9hZGNhc3RTdHJpbmcoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBicm9hZGNhc3RhYmxlID0gYXdhaXQgdGhpcy50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RhYmxlKTtcbiAgfVxufVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvYmFzZU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMENBTXdCO0FBRXhCLG9DQUEwRDtBQUUxRCxNQUFzQixXQUFXO0lBUy9COzs7O09BSUc7SUFDSCxZQUFzQixPQUF1QjtRQVZuQyxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixZQUFPLEdBQWEsRUFBRSxDQUFDO1FBVS9CLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLDJCQUFtQixDQUFDLE9BQU8sQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV2QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2Qix3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakQsU0FBUyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFO2dCQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO2FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxPQUFP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QUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsb0JBQW9CLENBQUMsaUJBQXlCLEVBQUUsUUFBa0M7UUFDdEYsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLGtCQUEwQixDQUFDO1FBQy9CLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixrQkFBa0IsR0FBRyxlQUFlLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sa0JBQWtCLEtBQUssaUJBQWlCLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBMUtELGtDQTBLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQge1xuICBCcm9hZGNhc3RhYmxlTWVzc2FnZSxcbiAgTWVzc2FnZU1ldGFkYXRhLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTWVzc2FnZVBheWxvYWQsXG4gIE1lc3NhZ2VTdGFuZGFyZFR5cGUsXG59IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IElNZXNzYWdlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBzZXJpYWxpemVTaWduYXR1cmVzLCBTaWduYXR1cmUgfSBmcm9tICcuLi9pZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWVzc2FnZSBpbXBsZW1lbnRzIElNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICBwcm90ZWN0ZWQgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcHJvdGVjdGVkIHBheWxvYWQ6IE1lc3NhZ2VQYXlsb2FkO1xuICBwcm90ZWN0ZWQgc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcbiAgcHJvdGVjdGVkIHNpZ25lcnM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBzaWduYWJsZVBheWxvYWQ/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIHByb3RlY3RlZCBtZXRhZGF0YT86IE1lc3NhZ2VNZXRhZGF0YTtcblxuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgTWVzc2FnZSBvcHRpb25zIGNvbnRhaW5pbmcgdHlwZSwgcGF5bG9hZCwgbWV0YWRhdGEsIGV0Yy5cbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHRoaXMuY29pbkNvbmZpZyA9IG9wdGlvbnMuY29pbkNvbmZpZztcbiAgICB0aGlzLnBheWxvYWQgPSBvcHRpb25zLnBheWxvYWQ7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTjtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IG9wdGlvbnMuc2lnbmFibGVQYXlsb2FkO1xuICAgIHRoaXMubWV0YWRhdGEgPSBvcHRpb25zLm1ldGFkYXRhIHx8IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuc2lnbmF0dXJlcykge1xuICAgICAgLy8gRGVlcCBjb3B5IGVhY2ggU2lnbmF0dXJlIG9iamVjdCwgaW5jbHVkaW5nIHRoZSBCdWZmZXJcbiAgICAgIHRoaXMuc2lnbmF0dXJlcyA9IG9wdGlvbnMuc2lnbmF0dXJlcy5tYXAoKHNpZykgPT4gKHtcbiAgICAgICAgcHVibGljS2V5OiB7IC4uLnNpZy5wdWJsaWNLZXkgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbShzaWcuc2lnbmF0dXJlKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc2lnbmVycykge1xuICAgICAgdGhpcy5zaWduZXJzID0gWy4uLm9wdGlvbnMuc2lnbmVyc107XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBnZXRUeXBlKCk6IE1lc3NhZ2VTdGFuZGFyZFR5cGUge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtZXNzYWdlIHBheWxvYWRcbiAgICovXG4gIGdldFBheWxvYWQoKTogTWVzc2FnZVBheWxvYWQge1xuICAgIHJldHVybiB0aGlzLnBheWxvYWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBtZXRhZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIG1lc3NhZ2VcbiAgICovXG4gIGdldE1ldGFkYXRhKCk6IE1lc3NhZ2VNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGE7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgc2lnbmVycyBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICovXG4gIGdldFNpZ25lcnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zaWduZXJzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc2lnbmVyIGFkZHJlc3Mgb3IgcHVibGljIGtleVxuICAgKiBAcGFyYW0gc2lnbmVyIFRoZSBhZGRyZXNzIG9yIHB1YmxpYyBrZXkgb2YgdGhlIHNpZ25lclxuICAgKi9cbiAgYWRkU2lnbmVyKHNpZ25lcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNpZ25lcnMuaW5jbHVkZXMoc2lnbmVyKSkge1xuICAgICAgdGhpcy5zaWduZXJzLnB1c2goc2lnbmVyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzaWduZXJzIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5c1xuICAgKiBAcGFyYW0gc2lnbmVycyBBcnJheSBvZiBhZGRyZXNzZXMgb3IgcHVibGljIGtleXNcbiAgICovXG4gIHNldFNpZ25lcnMoc2lnbmVyczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25lcnMgPSBbLi4uc2lnbmVyc107XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgc2lnbmF0dXJlcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBtZXNzYWdlXG4gICAqL1xuICBnZXRTaWduYXR1cmVzKCk6IFNpZ25hdHVyZVtdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuc2lnbmF0dXJlc107XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzaWduYXR1cmVzIGZvciB0aGlzIG1lc3NhZ2VcbiAgICogQHBhcmFtIHNpZ25hdHVyZXMgQXJyYXkgb2Ygc2lnbmF0dXJlcyB0byBzZXRcbiAgICovXG4gIHNldFNpZ25hdHVyZXMoc2lnbmF0dXJlczogU2lnbmF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBbLi4uc2lnbmF0dXJlc107XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHNpZ25hdHVyZSB0byB0aGlzIG1lc3NhZ2VcbiAgICogQHBhcmFtIHNpZ25hdHVyZSBUaGUgc2lnbmF0dXJlIHRvIGFkZFxuICAgKi9cbiAgYWRkU2lnbmF0dXJlKHNpZ25hdHVyZTogU2lnbmF0dXJlKTogdm9pZCB7XG4gICAgdGhpcy5zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwYXlsb2FkIHRoYXQgc2hvdWxkIGJlIHNpZ25lZFxuICAgKiBFYWNoIG1lc3NhZ2Ugc3RhbmRhcmQgbXVzdCBpbXBsZW1lbnQgdGhpcyBtZXRob2RcbiAgICovXG4gIGFic3RyYWN0IGdldFNpZ25hYmxlUGF5bG9hZCgpOiBQcm9taXNlPHN0cmluZyB8IEJ1ZmZlcj47XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpZ25hdHVyZXMgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGJyb2FkY2FzdGluZ1xuICAgKi9cbiAgZ2V0QnJvYWRjYXN0YWJsZVNpZ25hdHVyZXMoKTogU2lnbmF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZXM7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhpcyBtZXNzYWdlIHRvIGEgYnJvYWRjYXN0YWJsZSBmb3JtYXRcbiAgICogVXNlcyBpbnRlcm5hbCBzaWduYXR1cmVzIGFuZCBzaWduZXJzIHRoYXQgd2VyZSBwcmV2aW91c2x5IHNldFxuICAgKiBAcmV0dXJucyBBIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKi9cbiAgYXN5bmMgdG9Ccm9hZGNhc3RGb3JtYXQoKTogUHJvbWlzZTxCcm9hZGNhc3RhYmxlTWVzc2FnZT4ge1xuICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01lc3NhZ2UgcGF5bG9hZCBtdXN0IGJlIHNldCBiZWZvcmUgY29udmVydGluZyB0byBicm9hZGNhc3QgZm9ybWF0Jyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IHRoaXMuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgbGV0IHNlcmlhbGl6ZWRTaWduYWJsZVBheWxvYWQ6IHN0cmluZztcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHNpZ25hYmxlUGF5bG9hZCkpIHtcbiAgICAgIHNlcmlhbGl6ZWRTaWduYWJsZVBheWxvYWQgPSBzaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXJpYWxpemVkU2lnbmFibGVQYXlsb2FkID0gQnVmZmVyLmZyb20oU3RyaW5nKHNpZ25hYmxlUGF5bG9hZCkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgc2VyaWFsaXplZFNpZ25hdHVyZXM6IHNlcmlhbGl6ZVNpZ25hdHVyZXModGhpcy5nZXRCcm9hZGNhc3RhYmxlU2lnbmF0dXJlcygpKSxcbiAgICAgIHNpZ25lcnM6IFsuLi50aGlzLnNpZ25lcnNdLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4uKHRoaXMubWV0YWRhdGEgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubWV0YWRhdGEpKSA6IHt9KSwgLy8gZGVlcCBjb3B5IHRvIGF2b2lkIG11dGF0aW9uXG4gICAgICB9LFxuICAgICAgc2lnbmFibGVQYXlsb2FkOiBzZXJpYWxpemVkU2lnbmFibGVQYXlsb2FkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIGEgc3RyaW5nXG4gICAqIFVzZXMgaW50ZXJuYWwgc2lnbmF0dXJlcyBhbmQgc2lnbmVycyB0aGF0IHdlcmUgcHJldmlvdXNseSBzZXRcbiAgICogQHJldHVybnMgQSBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlXG4gICAqL1xuICBhc3luYyB0b0Jyb2FkY2FzdFN0cmluZygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGJyb2FkY2FzdGFibGUgPSBhd2FpdCB0aGlzLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGJyb2FkY2FzdGFibGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIGlmIHRoZSBwcm92aWRlZCBlbmNvZGVkIG1lc3NhZ2UgbWF0Y2hlcyB0aGUgc2lnbmFibGUgcGF5bG9hZFxuICAgKiBAcGFyYW0gbWVzc2FnZUVuY29kZWRIZXggVGhlIGVuY29kZWQgbWVzc2FnZSBpbiBoZXggZm9ybWF0XG4gICAqIEBwYXJhbSBtZXRhZGF0YSBPcHRpb25hbCBtZXRhZGF0YSBmb3IgYWRkaXRpb25hbCB2ZXJpZmljYXRpb24gY29udGV4dFxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBlbmNvZGVkIG1lc3NhZ2UgbWF0Y2hlcyB0aGUgc2lnbmFibGUgcGF5bG9hZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhc3luYyB2ZXJpZnlFbmNvZGVkUGF5bG9hZChtZXNzYWdlRW5jb2RlZEhleDogc3RyaW5nLCBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgdGhpcy5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBsZXQgc2lnbmFibGVQYXlsb2FkSGV4OiBzdHJpbmc7XG4gICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihzaWduYWJsZVBheWxvYWQpKSB7XG4gICAgICBzaWduYWJsZVBheWxvYWRIZXggPSBzaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2hleCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaWduYWJsZVBheWxvYWRIZXggPSBzaWduYWJsZVBheWxvYWQ7XG4gICAgfVxuICAgIHJldHVybiBzaWduYWJsZVBheWxvYWRIZXggPT09IG1lc3NhZ2VFbmNvZGVkSGV4O1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
- import { BroadcastableMessage, MessagePayload, MessageStandardType } from '../../../bitgo';
1
+ import { BroadcastableMessage, MessageOptions, MessagePayload, MessageStandardType } from '../../../bitgo';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
3
  import { IMessage, IMessageBuilder } from './iface';
4
+ import { Signature } from '../iface';
4
5
  /**
5
6
  * Base Message Builder
6
7
  */
@@ -8,7 +9,7 @@ export declare abstract class BaseMessageBuilder implements IMessageBuilder {
8
9
  protected coinConfig: Readonly<CoinConfig>;
9
10
  protected payload: MessagePayload;
10
11
  protected type: MessageStandardType;
11
- protected signatures: string[];
12
+ protected signatures: Signature[];
12
13
  protected signers: string[];
13
14
  protected metadata?: Record<string, unknown>;
14
15
  protected digest?: string;
@@ -42,9 +43,9 @@ export declare abstract class BaseMessageBuilder implements IMessageBuilder {
42
43
  getMetadata(): Record<string, unknown> | undefined;
43
44
  getType(): MessageStandardType;
44
45
  setType(value: MessageStandardType): IMessageBuilder;
45
- getSignatures(): string[];
46
- setSignatures(value: string[]): IMessageBuilder;
47
- addSignature(signature: string): IMessageBuilder;
46
+ getSignatures(): Signature[];
47
+ setSignatures(signatures: Signature[]): IMessageBuilder;
48
+ addSignature(signature: Signature): IMessageBuilder;
48
49
  getSigners(): string[];
49
50
  setSigners(value: string[]): IMessageBuilder;
50
51
  addSigner(signer: string): IMessageBuilder;
@@ -52,15 +53,15 @@ export declare abstract class BaseMessageBuilder implements IMessageBuilder {
52
53
  setDigest(value: string): IMessageBuilder;
53
54
  /**
54
55
  * Builds a message using the previously set payload and metadata
55
- * This abstract method must be implemented by each specific builder
56
56
  * @returns A Promise resolving to the built IMessage
57
57
  */
58
- abstract build(): Promise<IMessage>;
58
+ build(): Promise<IMessage>;
59
+ protected abstract buildMessage(options: MessageOptions): Promise<IMessage>;
59
60
  /**
60
61
  * Parse a broadcastable message back into a message
61
62
  * @param broadcastMessage The broadcastable message to parse
62
63
  * @returns The parsed message
63
64
  */
64
- abstract fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
65
+ fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
65
66
  }
66
67
  //# sourceMappingURL=baseMessageBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IACjE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,cAAc,CAAM;IACvC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACpC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,SAAS,aACP,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,WAAW,GAAE,mBAAiD;IAMhE;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;IAK3D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAKtE;;;OAGG;IACI,UAAU,IAAI,cAAc,GAAG,SAAS;IAI/C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIlD,OAAO,IAAI,mBAAmB;IAI9B,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe;IAKpD,aAAa,IAAI,MAAM,EAAE;IAIzB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;IAK/C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAOhD,UAAU,IAAI,MAAM,EAAE;IAItB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;IAK5C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAO1C,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAKhD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CACxF"}
1
+ {"version":3,"file":"baseMessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAyB,SAAS,EAAE,MAAM,UAAU,CAAC;AAE5D;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IACjE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,SAAS,CAAC,OAAO,EAAE,cAAc,CAAM;IACvC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,SAAS,aACP,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAChC,WAAW,GAAE,mBAAiD;IAMhE;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;IAK3D;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe;IAKtE;;;OAGG;IACI,UAAU,IAAI,cAAc,GAAG,SAAS;IAI/C;;;OAGG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAIlD,OAAO,IAAI,mBAAmB;IAI9B,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe;IAKpD,aAAa,IAAI,SAAS,EAAE;IAI5B,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe;IAKvD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe;IAWnD,UAAU,IAAI,MAAM,EAAE;IAItB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe;IAK5C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;IAO1C,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAKhD;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAwBvC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAE3E;;;;OAIG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAc5F"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMessageBuilder = void 0;
4
4
  const bitgo_1 = require("../../../bitgo");
5
+ const iface_1 = require("../iface");
5
6
  /**
6
7
  * Base Message Builder
7
8
  */
@@ -61,12 +62,12 @@ class BaseMessageBuilder {
61
62
  getSignatures() {
62
63
  return this.signatures;
63
64
  }
64
- setSignatures(value) {
65
- this.signatures = value;
65
+ setSignatures(signatures) {
66
+ this.signatures = signatures;
66
67
  return this;
67
68
  }
68
69
  addSignature(signature) {
69
- if (!this.signatures.includes(signature)) {
70
+ if (!this.signatures.some((sig) => sig.publicKey.pub === signature.publicKey.pub && sig.signature.equals(signature.signature))) {
70
71
  this.signatures.push(signature);
71
72
  }
72
73
  return this;
@@ -91,6 +92,53 @@ class BaseMessageBuilder {
91
92
  this.digest = value;
92
93
  return this;
93
94
  }
95
+ /**
96
+ * Builds a message using the previously set payload and metadata
97
+ * @returns A Promise resolving to the built IMessage
98
+ */
99
+ async build() {
100
+ try {
101
+ if (!this.payload) {
102
+ throw new Error('Message payload must be set before building the message');
103
+ }
104
+ return this.buildMessage({
105
+ coinConfig: this.coinConfig,
106
+ payload: this.payload,
107
+ type: this.type,
108
+ signatures: this.signatures,
109
+ signers: this.signers,
110
+ metadata: {
111
+ ...this.metadata,
112
+ encoding: 'utf8',
113
+ },
114
+ });
115
+ }
116
+ catch (err) {
117
+ if (err instanceof Error) {
118
+ throw err;
119
+ }
120
+ throw new Error(`Failed to build message of type ${this.type}`);
121
+ }
122
+ }
123
+ /**
124
+ * Parse a broadcastable message back into a message
125
+ * @param broadcastMessage The broadcastable message to parse
126
+ * @returns The parsed message
127
+ */
128
+ async fromBroadcastFormat(broadcastMessage) {
129
+ const { type, payload, serializedSignatures, signers, metadata } = broadcastMessage;
130
+ if (type !== this.type) {
131
+ throw new Error(`Invalid message type, expected ${this.type}`);
132
+ }
133
+ this.payload = payload;
134
+ this.signatures = (0, iface_1.deserializeSignatures)(serializedSignatures);
135
+ this.signers = signers || [];
136
+ this.metadata = {
137
+ ...metadata,
138
+ encoding: 'utf8',
139
+ };
140
+ return this.build();
141
+ }
94
142
  }
95
143
  exports.BaseMessageBuilder = BaseMessageBuilder;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQ0FBMkY7QUFJM0Y7O0dBRUc7QUFDSCxNQUFzQixrQkFBa0I7SUFTdEM7Ozs7T0FJRztJQUNILFlBQ0UsVUFBZ0MsRUFDaEMsY0FBbUMsMkJBQW1CLENBQUMsT0FBTztRQWR0RCxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUU3QixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsYUFBUSxHQUE2QixFQUFFLENBQUM7UUFZaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsT0FBdUI7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxRQUFpQztRQUNsRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQTBCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBZTtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FlRjtBQXpIRCxnREF5SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVBheWxvYWQsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSU1lc3NhZ2UsIElNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4vaWZhY2UnO1xuXG4vKipcbiAqIEJhc2UgTWVzc2FnZSBCdWlsZGVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTWVzc2FnZUJ1aWxkZXIgaW1wbGVtZW50cyBJTWVzc2FnZUJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG4gIHByb3RlY3RlZCBwYXlsb2FkOiBNZXNzYWdlUGF5bG9hZCA9ICcnO1xuICBwcm90ZWN0ZWQgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcHJvdGVjdGVkIHNpZ25hdHVyZXM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCBzaWduZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBwcm90ZWN0ZWQgZGlnZXN0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKiBAcGFyYW0gbWVzc2FnZVR5cGUgVGhlIHR5cGUgb2YgbWVzc2FnZSB0aGlzIGJ1aWxkZXIgY3JlYXRlcywgZGVmYXVsdHMgdG8gVU5LTk9XTlxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+LFxuICAgIG1lc3NhZ2VUeXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlID0gTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOXG4gICkge1xuICAgIHRoaXMuY29pbkNvbmZpZyA9IGNvaW5Db25maWc7XG4gICAgdGhpcy50eXBlID0gbWVzc2FnZVR5cGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWVzc2FnZSBwYXlsb2FkIHRvIGJlIHVzZWQgd2hlbiBidWlsZGluZyB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgbWVzc2FnZSBwYXlsb2FkIChzdHJpbmcsIEpTT04sIGV0Yy4pXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIHNldFBheWxvYWQocGF5bG9hZDogTWVzc2FnZVBheWxvYWQpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMucGF5bG9hZCA9IHBheWxvYWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBtZXRhZGF0YSBmb3IgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1ldGFkYXRhIEFkZGl0aW9uYWwgbWV0YWRhdGEgZm9yIHRoZSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZ1xuICAgKi9cbiAgcHVibGljIHNldE1ldGFkYXRhKG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5tZXRhZGF0YSA9IG1ldGFkYXRhO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgbWVzc2FnZSBwYXlsb2FkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IG1lc3NhZ2UgcGF5bG9hZFxuICAgKi9cbiAgcHVibGljIGdldFBheWxvYWQoKTogTWVzc2FnZVBheWxvYWQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnBheWxvYWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBtZXRhZGF0YVxuICAgKi9cbiAgcHVibGljIGdldE1ldGFkYXRhKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhZGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUeXBlKCk6IE1lc3NhZ2VTdGFuZGFyZFR5cGUge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBwdWJsaWMgc2V0VHlwZSh2YWx1ZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2lnbmF0dXJlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmF0dXJlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaWduYXR1cmVzKHZhbHVlOiBzdHJpbmdbXSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5zaWduYXR1cmVzID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYWRkU2lnbmF0dXJlKHNpZ25hdHVyZTogc3RyaW5nKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBpZiAoIXRoaXMuc2lnbmF0dXJlcy5pbmNsdWRlcyhzaWduYXR1cmUpKSB7XG4gICAgICB0aGlzLnNpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduZXJzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zaWduZXJzO1xuICB9XG5cbiAgcHVibGljIHNldFNpZ25lcnModmFsdWU6IHN0cmluZ1tdKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnNpZ25lcnMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRTaWduZXIoc2lnbmVyOiBzdHJpbmcpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGlmICghdGhpcy5zaWduZXJzLmluY2x1ZGVzKHNpZ25lcikpIHtcbiAgICAgIHRoaXMuc2lnbmVycy5wdXNoKHNpZ25lcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldERpZ2VzdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRpZ2VzdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaWdlc3QodmFsdWU6IHN0cmluZyk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5kaWdlc3QgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBwcmV2aW91c2x5IHNldCBwYXlsb2FkIGFuZCBtZXRhZGF0YVxuICAgKiBUaGlzIGFic3RyYWN0IG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IGVhY2ggc3BlY2lmaWMgYnVpbGRlclxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBidWlsdCBJTWVzc2FnZVxuICAgKi9cbiAgYWJzdHJhY3QgYnVpbGQoKTogUHJvbWlzZTxJTWVzc2FnZT47XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGJhY2sgaW50byBhIG1lc3NhZ2VcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0byBwYXJzZVxuICAgKiBAcmV0dXJucyBUaGUgcGFyc2VkIG1lc3NhZ2VcbiAgICovXG4gIGFic3RyYWN0IGZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UpOiBQcm9taXNlPElNZXNzYWdlPjtcbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL2Jhc2VDb2luL21lc3NhZ2VzL2Jhc2VNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwQ0FBMkc7QUFHM0csb0NBQTREO0FBRTVEOztHQUVHO0FBQ0gsTUFBc0Isa0JBQWtCO0lBU3RDOzs7O09BSUc7SUFDSCxZQUNFLFVBQWdDLEVBQ2hDLGNBQW1DLDJCQUFtQixDQUFDLE9BQU87UUFkdEQsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFFN0IsZUFBVSxHQUFnQixFQUFFLENBQUM7UUFDN0IsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixhQUFRLEdBQTZCLEVBQUUsQ0FBQztRQVloRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLFFBQWlDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBMEI7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FB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QUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsNkJBQXFCLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsUUFBUTtZQUNYLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFqS0QsZ0RBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zLCBNZXNzYWdlUGF5bG9hZCwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBJTWVzc2FnZSwgSU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMsIFNpZ25hdHVyZSB9IGZyb20gJy4uL2lmYWNlJztcblxuLyoqXG4gKiBCYXNlIE1lc3NhZ2UgQnVpbGRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1lc3NhZ2VCdWlsZGVyIGltcGxlbWVudHMgSU1lc3NhZ2VCdWlsZGVyIHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICBwcm90ZWN0ZWQgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQgPSAnJztcbiAgcHJvdGVjdGVkIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHByb3RlY3RlZCBzaWduYXR1cmVzOiBTaWduYXR1cmVbXSA9IFtdO1xuICBwcm90ZWN0ZWQgc2lnbmVyczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgcHJvdGVjdGVkIGRpZ2VzdD86IHN0cmluZztcblxuICAvKipcbiAgICogQmFzZSBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIGNvaW5Db25maWcgQmFzZUNvaW4gZnJvbSBzdGF0aWNzIGxpYnJhcnlcbiAgICogQHBhcmFtIG1lc3NhZ2VUeXBlIFRoZSB0eXBlIG9mIG1lc3NhZ2UgdGhpcyBidWlsZGVyIGNyZWF0ZXMsIGRlZmF1bHRzIHRvIFVOS05PV05cbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPixcbiAgICBtZXNzYWdlVHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSA9IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTlxuICApIHtcbiAgICB0aGlzLmNvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICAgIHRoaXMudHlwZSA9IG1lc3NhZ2VUeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lc3NhZ2UgcGF5bG9hZCB0byBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIHBheWxvYWQgVGhlIG1lc3NhZ2UgcGF5bG9hZCAoc3RyaW5nLCBKU09OLCBldGMuKVxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBzZXRQYXlsb2FkKHBheWxvYWQ6IE1lc3NhZ2VQYXlsb2FkKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnBheWxvYWQgPSBwYXlsb2FkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbWV0YWRhdGEgZm9yIHRoZSBtZXNzYWdlXG4gICAqIEBwYXJhbSBtZXRhZGF0YSBBZGRpdGlvbmFsIG1ldGFkYXRhIGZvciB0aGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmdcbiAgICovXG4gIHB1YmxpYyBzZXRNZXRhZGF0YShtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IG1lc3NhZ2UgcGF5bG9hZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBtZXNzYWdlIHBheWxvYWRcbiAgICovXG4gIHB1YmxpYyBnZXRQYXlsb2FkKCk6IE1lc3NhZ2VQYXlsb2FkIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5wYXlsb2FkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgbWV0YWRhdGFcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgbWV0YWRhdGFcbiAgICovXG4gIHB1YmxpYyBnZXRNZXRhZGF0YSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGE7XG4gIH1cblxuICBwdWJsaWMgZ2V0VHlwZSgpOiBNZXNzYWdlU3RhbmRhcmRUeXBlIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgcHVibGljIHNldFR5cGUodmFsdWU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHRoaXMudHlwZSA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldFNpZ25hdHVyZXMoKTogU2lnbmF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0U2lnbmF0dXJlcyhzaWduYXR1cmVzOiBTaWduYXR1cmVbXSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5zaWduYXR1cmVzID0gc2lnbmF0dXJlcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRTaWduYXR1cmUoc2lnbmF0dXJlOiBTaWduYXR1cmUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnNpZ25hdHVyZXMuc29tZShcbiAgICAgICAgKHNpZykgPT4gc2lnLnB1YmxpY0tleS5wdWIgPT09IHNpZ25hdHVyZS5wdWJsaWNLZXkucHViICYmIHNpZy5zaWduYXR1cmUuZXF1YWxzKHNpZ25hdHVyZS5zaWduYXR1cmUpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLnNpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWduZXJzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zaWduZXJzO1xuICB9XG5cbiAgcHVibGljIHNldFNpZ25lcnModmFsdWU6IHN0cmluZ1tdKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICB0aGlzLnNpZ25lcnMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRTaWduZXIoc2lnbmVyOiBzdHJpbmcpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIGlmICghdGhpcy5zaWduZXJzLmluY2x1ZGVzKHNpZ25lcikpIHtcbiAgICAgIHRoaXMuc2lnbmVycy5wdXNoKHNpZ25lcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGdldERpZ2VzdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRpZ2VzdDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaWdlc3QodmFsdWU6IHN0cmluZyk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgdGhpcy5kaWdlc3QgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBtZXNzYWdlIHVzaW5nIHRoZSBwcmV2aW91c2x5IHNldCBwYXlsb2FkIGFuZCBtZXRhZGF0YVxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgcmVzb2x2aW5nIHRvIHRoZSBidWlsdCBJTWVzc2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlIHBheWxvYWQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5idWlsZE1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiB0aGlzLmNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICBzaWduYXR1cmVzOiB0aGlzLnNpZ25hdHVyZXMsXG4gICAgICAgIHNpZ25lcnM6IHRoaXMuc2lnbmVycyxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAuLi50aGlzLm1ldGFkYXRhLFxuICAgICAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBidWlsZCBtZXNzYWdlIG9mIHR5cGUgJHt0aGlzLnR5cGV9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkTWVzc2FnZShvcHRpb25zOiBNZXNzYWdlT3B0aW9ucyk6IFByb21pc2U8SU1lc3NhZ2U+O1xuXG4gIC8qKlxuICAgKiBQYXJzZSBhIGJyb2FkY2FzdGFibGUgbWVzc2FnZSBiYWNrIGludG8gYSBtZXNzYWdlXG4gICAqIEBwYXJhbSBicm9hZGNhc3RNZXNzYWdlIFRoZSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgdG8gcGFyc2VcbiAgICogQHJldHVybnMgVGhlIHBhcnNlZCBtZXNzYWdlXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICBjb25zdCB7IHR5cGUsIHBheWxvYWQsIHNlcmlhbGl6ZWRTaWduYXR1cmVzLCBzaWduZXJzLCBtZXRhZGF0YSB9ID0gYnJvYWRjYXN0TWVzc2FnZTtcbiAgICBpZiAodHlwZSAhPT0gdGhpcy50eXBlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCAke3RoaXMudHlwZX1gKTtcbiAgICB9XG4gICAgdGhpcy5wYXlsb2FkID0gcGF5bG9hZDtcbiAgICB0aGlzLnNpZ25hdHVyZXMgPSBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMoc2VyaWFsaXplZFNpZ25hdHVyZXMpO1xuICAgIHRoaXMuc2lnbmVycyA9IHNpZ25lcnMgfHwgW107XG4gICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmJ1aWxkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;GAEG;AACH,8BAAsB,yBAA0B,YAAW,sBAAsB;IAC/E,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,aAAa,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAItD;;;;OAIG;aACa,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe;IAI5E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe;CAI9D"}
1
+ {"version":3,"file":"baseMessageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG3E;;GAEG;AACH,8BAAsB,yBAA0B,YAAW,sBAAsB;IAC/E,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,aAAa,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAItD;;;;OAIG;aACa,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe;IAa5E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe;CAI9D"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseMessageBuilderFactory = void 0;
4
+ const iface_1 = require("../iface");
4
5
  /**
5
6
  * Base Message Builder
6
7
  */
@@ -18,7 +19,16 @@ class BaseMessageBuilderFactory {
18
19
  * @returns A message builder instance for the broadcastable message type
19
20
  */
20
21
  fromBroadcastFormat(broadcastMessage) {
21
- return this.getMessageBuilder(broadcastMessage.type);
22
+ const builder = this.getMessageBuilder(broadcastMessage.type);
23
+ builder.setPayload(broadcastMessage.payload);
24
+ builder.setMetadata(broadcastMessage.metadata || {});
25
+ if (broadcastMessage.signers) {
26
+ builder.setSigners(broadcastMessage.signers);
27
+ }
28
+ if (broadcastMessage.serializedSignatures) {
29
+ builder.setSignatures((0, iface_1.deserializeSignatures)(broadcastMessage.serializedSignatures));
30
+ }
31
+ return builder;
22
32
  }
23
33
  /**
24
34
  * Parses a broadcastable message and gets the message builder based on the message type.
@@ -31,4 +41,4 @@ class BaseMessageBuilderFactory {
31
41
  }
32
42
  }
33
43
  exports.BaseMessageBuilderFactory = BaseMessageBuilderFactory;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBOztHQUVHO0FBQ0gsTUFBc0IseUJBQXlCO0lBRzdDOzs7T0FHRztJQUNILFlBQXNCLFVBQWdDO1FBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFTRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsZ0JBQXNDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsZUFBdUI7UUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBeUIsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQXBDRCw4REFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSU1lc3NhZ2VCdWlsZGVyLCBJTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2JpdGdvJztcblxuLyoqXG4gKiBCYXNlIE1lc3NhZ2UgQnVpbGRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSBpbXBsZW1lbnRzIElNZXNzYWdlQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz47XG5cbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSBjb2luQ29uZmlnIEJhc2VDb2luIGZyb20gc3RhdGljcyBsaWJyYXJ5XG4gICAqL1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICB0aGlzLmNvaW5Db25maWcgPSBjb2luQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIHRoZSBzcGVjaWZpZWQgbWVzc2FnZSB0eXBlXG4gICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIG1lc3NhZ2UgdG8gYnVpbGRcbiAgICogQHJldHVybnMgQSBtZXNzYWdlIGJ1aWxkZXIgaW5zdGFuY2UgZm9yIHRoZSBzcGVjaWZpZWQgdHlwZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1lc3NhZ2VCdWlsZGVyKHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIEdldHMgYSBtZXNzYWdlIGJ1aWxkZXIgZnJvbSBhIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gYnJvYWRjYXN0TWVzc2FnZSBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHR5cGVcbiAgICovXG4gIGZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1lc3NhZ2VCdWlsZGVyKGJyb2FkY2FzdE1lc3NhZ2UudHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGFuZCBnZXRzIHRoZSBtZXNzYWdlIGJ1aWxkZXIgYmFzZWQgb24gdGhlIG1lc3NhZ2UgdHlwZS5cbiAgICogQHBhcmFtIGJyb2FkY2FzdFN0cmluZyBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgcGFyc2VkIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZzogc3RyaW5nKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpIGFzIEJyb2FkY2FzdGFibGVNZXNzYWdlO1xuICAgIHJldHVybiB0aGlzLmZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG9DQUFpRDtBQUVqRDs7R0FFRztBQUNILE1BQXNCLHlCQUF5QjtJQUc3Qzs7O09BR0c7SUFDSCxZQUFzQixVQUFnQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBU0Q7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLGdCQUFzQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUEsNkJBQXFCLEVBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLGVBQXVCO1FBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQXlCLENBQUM7UUFDN0UsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUE3Q0QsOERBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IElNZXNzYWdlQnVpbGRlciwgSU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQnJvYWRjYXN0YWJsZU1lc3NhZ2UsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9iaXRnbyc7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMgfSBmcm9tICcuLi9pZmFjZSc7XG5cbi8qKlxuICogQmFzZSBNZXNzYWdlIEJ1aWxkZXJcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnkgaW1wbGVtZW50cyBJTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgcHJvdGVjdGVkIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuXG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5jb2luQ29uZmlnID0gY29pbkNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgbWVzc2FnZSBidWlsZGVyIGZvciB0aGUgc3BlY2lmaWVkIG1lc3NhZ2UgdHlwZVxuICAgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiBtZXNzYWdlIHRvIGJ1aWxkXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgc3BlY2lmaWVkIHR5cGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgbWVzc2FnZSBidWlsZGVyIGZyb20gYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2VcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBBIG1lc3NhZ2UgYnVpbGRlciBpbnN0YW5jZSBmb3IgdGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBjb25zdCBidWlsZGVyID0gdGhpcy5nZXRNZXNzYWdlQnVpbGRlcihicm9hZGNhc3RNZXNzYWdlLnR5cGUpO1xuICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChicm9hZGNhc3RNZXNzYWdlLnBheWxvYWQpO1xuICAgIGJ1aWxkZXIuc2V0TWV0YWRhdGEoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSB8fCB7fSk7XG4gICAgaWYgKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycykge1xuICAgICAgYnVpbGRlci5zZXRTaWduZXJzKGJyb2FkY2FzdE1lc3NhZ2Uuc2lnbmVycyk7XG4gICAgfVxuICAgIGlmIChicm9hZGNhc3RNZXNzYWdlLnNlcmlhbGl6ZWRTaWduYXR1cmVzKSB7XG4gICAgICBidWlsZGVyLnNldFNpZ25hdHVyZXMoZGVzZXJpYWxpemVTaWduYXR1cmVzKGJyb2FkY2FzdE1lc3NhZ2Uuc2VyaWFsaXplZFNpZ25hdHVyZXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGFuZCBnZXRzIHRoZSBtZXNzYWdlIGJ1aWxkZXIgYmFzZWQgb24gdGhlIG1lc3NhZ2UgdHlwZS5cbiAgICogQHBhcmFtIGJyb2FkY2FzdFN0cmluZyBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIEEgbWVzc2FnZSBidWlsZGVyIGluc3RhbmNlIGZvciB0aGUgcGFyc2VkIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0eXBlXG4gICAqL1xuICBmcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZzogc3RyaW5nKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlID0gSlNPTi5wYXJzZShicm9hZGNhc3RTdHJpbmcpIGFzIEJyb2FkY2FzdGFibGVNZXNzYWdlO1xuICAgIHJldHVybiB0aGlzLmZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { BroadcastableMessage, MessageMetadata, MessagePayload, MessageStandardType } from '../../../bitgo';
2
+ import { Signature } from '../iface';
2
3
  /**
3
4
  * Represents a built message that can be signed
4
5
  */
@@ -32,17 +33,17 @@ export interface IMessage {
32
33
  /**
33
34
  * Gets all signatures associated with this message
34
35
  */
35
- getSignatures(): string[];
36
+ getSignatures(): Signature[];
36
37
  /**
37
38
  * Sets signatures for this message
38
39
  * @param signatures Array of signatures to set
39
40
  */
40
- setSignatures(signatures: string[]): void;
41
+ setSignatures(signatures: Signature[]): void;
41
42
  /**
42
43
  * Adds a signature to this message
43
44
  * @param signature The signature to add
44
45
  */
45
- addSignature(signature: string): void;
46
+ addSignature(signature: Signature): void;
46
47
  /**
47
48
  * Returns the payload that should be signed
48
49
  * This might be different from the original payload in some standards
@@ -61,6 +62,13 @@ export interface IMessage {
61
62
  * @returns A JSON string representation of the broadcastable message
62
63
  */
63
64
  toBroadcastString(): Promise<string>;
65
+ /**
66
+ * Verifies if the provided encoded message matches the expected format
67
+ * @param messageEncodedHex The encoded message in hex format to verify
68
+ * @param metadata Optional metadata to include in the verification
69
+ * @returns A Promise resolving to true if the message is valid, false otherwise
70
+ */
71
+ verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
64
72
  }
65
73
  /**
66
74
  * Core interface for message building strategies
@@ -83,13 +91,13 @@ export interface IMessageBuilder {
83
91
  * @param signatures The signatures to add
84
92
  * @returns The builder instance for chaining
85
93
  */
86
- setSignatures(signatures: string[]): IMessageBuilder;
94
+ setSignatures(signatures: Signature[]): IMessageBuilder;
87
95
  /**
88
96
  * Adds a signature to the message
89
97
  * @param signature The signature to add
90
98
  * @returns The builder instance for chaining
91
99
  */
92
- addSignature(signature: string): IMessageBuilder;
100
+ addSignature(signature: Signature): IMessageBuilder;
93
101
  /**
94
102
  * Sets the signers for the message
95
103
  * @param signers Array of addresses or public keys
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;OAEG;IACH,UAAU,IAAI,cAAc,CAAC;IAE7B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE/C;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEnD;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAAC;IAErD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;IAEhE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAErD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IAEjD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IAE3C;;;OAGG;IACH,UAAU,IAAI,cAAc,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe,CAAC;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/D"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../../src/account-lib/baseCoin/messages/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;OAEG;IACH,UAAU,IAAI,cAAc,CAAC;IAE7B;;OAEG;IACH,WAAW,IAAI,eAAe,GAAG,SAAS,CAAC;IAE3C;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,aAAa,IAAI,SAAS,EAAE,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE7C;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAEzC;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAE/C;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEnD;;;;OAIG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;;;OAKG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvG;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAAC;IAErD;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;IAEhE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAExD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,CAAC;IAEpD;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;IAE/C;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;IAE3C;;;OAGG;IACH,UAAU,IAAI,cAAc,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,OAAO,IAAI,mBAAmB,CAAC;IAE/B;;;OAGG;IACH,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACH,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,eAAe,CAAC;IAE7E;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/D"}