@bitgo-beta/sdk-coin-ada 2.3.14-beta.122 → 2.3.14-beta.1221

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 (51) hide show
  1. package/.mocharc.yml +1 -1
  2. package/CHANGELOG.md +916 -0
  3. package/dist/src/ada.d.ts +11 -12
  4. package/dist/src/ada.d.ts.map +1 -1
  5. package/dist/src/ada.js +68 -25
  6. package/dist/src/adaToken.d.ts +3 -10
  7. package/dist/src/adaToken.d.ts.map +1 -1
  8. package/dist/src/adaToken.js +6 -3
  9. package/dist/src/index.js +6 -2
  10. package/dist/src/lib/index.d.ts +2 -0
  11. package/dist/src/lib/index.d.ts.map +1 -1
  12. package/dist/src/lib/index.js +29 -9
  13. package/dist/src/lib/keyPair.js +29 -16
  14. package/dist/src/lib/messages/cip8/cip8Message.d.ts +25 -0
  15. package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +1 -0
  16. package/dist/src/lib/messages/cip8/cip8Message.js +140 -0
  17. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +19 -0
  18. package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
  19. package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +27 -0
  20. package/dist/src/lib/messages/cip8/index.d.ts +3 -0
  21. package/dist/src/lib/messages/cip8/index.d.ts.map +1 -0
  22. package/dist/src/lib/messages/cip8/index.js +19 -0
  23. package/dist/src/lib/messages/cip8/utils.d.ts +24 -0
  24. package/dist/src/lib/messages/cip8/utils.d.ts.map +1 -0
  25. package/dist/src/lib/messages/cip8/utils.js +73 -0
  26. package/dist/src/lib/messages/index.d.ts +3 -0
  27. package/dist/src/lib/messages/index.d.ts.map +1 -0
  28. package/dist/src/lib/messages/index.js +19 -0
  29. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  30. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  31. package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
  32. package/dist/src/lib/stakingActivateBuilder.d.ts +1 -1
  33. package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -1
  34. package/dist/src/lib/stakingActivateBuilder.js +30 -10
  35. package/dist/src/lib/stakingDeactivateBuilder.js +24 -10
  36. package/dist/src/lib/transaction.d.ts +13 -6
  37. package/dist/src/lib/transaction.d.ts.map +1 -1
  38. package/dist/src/lib/transaction.js +49 -16
  39. package/dist/src/lib/transactionBuilder.d.ts +82 -3
  40. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  41. package/dist/src/lib/transactionBuilder.js +407 -22
  42. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  44. package/dist/src/lib/transactionBuilderFactory.js +7 -1
  45. package/dist/src/lib/utils.d.ts +23 -0
  46. package/dist/src/lib/utils.d.ts.map +1 -1
  47. package/dist/src/lib/utils.js +153 -17
  48. package/dist/src/lib/voteDelegationBuilder.d.ts +24 -0
  49. package/dist/src/lib/voteDelegationBuilder.d.ts.map +1 -0
  50. package/dist/src/lib/voteDelegationBuilder.js +84 -0
  51. package/package.json +13 -11
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,15 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
37
  };
21
38
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Utils = exports.StakingPledgeBuilder = exports.StakingWithdrawBuilder = exports.StakingDeactivateBuilder = exports.StakingClaimRewardsBuilder = exports.StakingActivateBuilder = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
39
+ exports.Utils = exports.VoteDelegationBuilder = exports.StakingPledgeBuilder = exports.StakingWithdrawBuilder = exports.StakingDeactivateBuilder = exports.StakingClaimRewardsBuilder = exports.StakingActivateBuilder = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
23
40
  const Utils = __importStar(require("./utils"));
24
41
  exports.Utils = Utils;
25
42
  var keyPair_1 = require("./keyPair");
@@ -42,4 +59,7 @@ var stakingWithdrawBuilder_1 = require("./stakingWithdrawBuilder");
42
59
  Object.defineProperty(exports, "StakingWithdrawBuilder", { enumerable: true, get: function () { return stakingWithdrawBuilder_1.StakingWithdrawBuilder; } });
43
60
  var stakingPledgeBuilder_1 = require("./stakingPledgeBuilder");
44
61
  Object.defineProperty(exports, "StakingPledgeBuilder", { enumerable: true, get: function () { return stakingPledgeBuilder_1.StakingPledgeBuilder; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFZeEIsc0JBQUs7QUFWZCxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQiwyRUFBMEU7QUFBakUsd0lBQUEsMEJBQTBCLE9BQUE7QUFDbkMsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQiwrREFBOEQ7QUFBckQsNEhBQUEsb0JBQW9CLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQWN0aXZhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdDbGFpbVJld2FyZHNCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQ2xhaW1SZXdhcmRzQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nV2l0aGRyYXdCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdQbGVkZ2VCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nUGxlZGdlQnVpbGRlcic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
62
+ var voteDelegationBuilder_1 = require("./voteDelegationBuilder");
63
+ Object.defineProperty(exports, "VoteDelegationBuilder", { enumerable: true, get: function () { return voteDelegationBuilder_1.VoteDelegationBuilder; } });
64
+ __exportStar(require("./messages"), exports);
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWF4QixzQkFBSztBQVhkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4Qix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLDJFQUEwRTtBQUFqRSx3SUFBQSwwQkFBMEIsT0FBQTtBQUNuQyx1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLCtEQUE4RDtBQUFyRCw0SEFBQSxvQkFBb0IsT0FBQTtBQUM3QixpRUFBZ0U7QUFBdkQsOEhBQUEscUJBQXFCLE9BQUE7QUFFOUIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0FjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nQ2xhaW1SZXdhcmRzQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nUGxlZGdlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1BsZWRnZUJ1aWxkZXInO1xuZXhwb3J0IHsgVm90ZURlbGVnYXRpb25CdWlsZGVyIH0gZnJvbSAnLi92b3RlRGVsZWdhdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVXRpbHMgfTtcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuIl19
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
11
15
  }) : function(o, v) {
12
16
  o["default"] = v;
13
17
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
21
35
  Object.defineProperty(exports, "__esModule", { value: true });
22
36
  exports.KeyPair = void 0;
23
37
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
@@ -41,10 +55,10 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
41
55
  const pubKey = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(bytesFromHex);
42
56
  let enterpriseAddress;
43
57
  if (format === sdk_core_1.AddressFormat.testnet) {
44
- enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet().network_id(), cardano_serialization_lib_nodejs_1.StakeCredential.from_keyhash(pubKey.hash()));
58
+ enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet_preprod().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(pubKey.hash()));
45
59
  }
46
60
  else if (format === sdk_core_1.AddressFormat.mainnet) {
47
- enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.StakeCredential.from_keyhash(pubKey.hash()));
61
+ enterpriseAddress = cardano_serialization_lib_nodejs_1.EnterpriseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(pubKey.hash()));
48
62
  }
49
63
  return enterpriseAddress.to_address().to_bech32();
50
64
  }
@@ -57,22 +71,21 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
57
71
  }
58
72
  recordKeysFromPrivateKeyInProtocolFormat(prv) {
59
73
  const rawPrv = cardano_serialization_lib_nodejs_1.PrivateKey.from_bech32(prv).as_bytes();
60
- return new KeyPair({ prv: sdk_core_1.toHex(rawPrv) }).keyPair;
74
+ return new KeyPair({ prv: (0, sdk_core_1.toHex)(rawPrv) }).keyPair;
61
75
  }
62
76
  recordKeysFromPublicKeyInProtocolFormat(pub) {
63
77
  const rawPub = cardano_serialization_lib_nodejs_1.PublicKey.from_bech32(pub).as_bytes();
64
- return { pub: sdk_core_1.toHex(rawPub) };
78
+ return { pub: (0, sdk_core_1.toHex)(rawPub) };
65
79
  }
66
80
  /** @inheritdoc */
67
81
  signMessage(message) {
68
- var _a;
69
82
  const messageToSign = new Uint8Array(Buffer.from(message, 'hex'));
70
- const prv = (_a = this.keyPair) === null || _a === void 0 ? void 0 : _a.prv;
83
+ const prv = this.keyPair?.prv;
71
84
  if (!prv) {
72
85
  throw new Error('Missing private key');
73
86
  }
74
- return nacl.sign.detached(messageToSign, nacl.sign.keyPair.fromSeed(sdk_core_1.toUint8Array(prv)).secretKey);
87
+ return nacl.sign.detached(messageToSign, nacl.sign.keyPair.fromSeed((0, sdk_core_1.toUint8Array)(prv)).secretKey);
75
88
  }
76
89
  }
77
90
  exports.KeyPair = KeyPair;
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQXVIO0FBQ3ZILCtGQU1rRDtBQUNsRCxnREFBa0M7QUFFbEMsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekM7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsTUFBTTtRQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyw0Q0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxJQUFJLGlCQUFpQixDQUFDO1FBQ3RCLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3BDLGlCQUFpQixHQUFHLG9EQUFpQixDQUFDLEdBQUcsQ0FDdkMsOENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFDbEMsa0RBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUM7U0FDSDthQUFNLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFO1lBQzNDLGlCQUFpQixHQUFHLG9EQUFpQixDQUFDLEdBQUcsQ0FDdkMsOENBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFDbEMsa0RBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQzVDLENBQUM7U0FDSDtRQUNELE9BQU8saUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsd0NBQXdDLENBQUMsR0FBVztRQUNsRCxNQUFNLE1BQU0sR0FBRyw2Q0FBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNyRCxDQUFDO0lBRUQsdUNBQXVDLENBQUMsR0FBVztRQUNqRCxNQUFNLE1BQU0sR0FBRyw0Q0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLGdCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxPQUFlOztRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxHQUFHLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsR0FBRyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDeEM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsdUJBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7Q0FDRjtBQTNERCwwQkEyREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWZhdWx0S2V5cywgS2V5UGFpck9wdGlvbnMsIEVkMjU1MTlLZXlQYWlyLCB0b0hleCwgQWRkcmVzc0Zvcm1hdCwgdG9VaW50OEFycmF5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgUHVibGljS2V5LFxuICBQcml2YXRlS2V5LFxuICBFbnRlcnByaXNlQWRkcmVzcyxcbiAgTmV0d29ya0luZm8sXG4gIFN0YWtlQ3JlZGVudGlhbCxcbn0gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAcmV0dXJucyB7IEFkZHJlc3MgfVxuICAgKi9cbiAgZ2V0QWRkcmVzcyhmb3JtYXQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ5dGVzRnJvbUhleCA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgY29uc3QgcHViS2V5ID0gUHVibGljS2V5LmZyb21fYnl0ZXMoYnl0ZXNGcm9tSGV4KTtcbiAgICBsZXQgZW50ZXJwcmlzZUFkZHJlc3M7XG4gICAgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8udGVzdG5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgU3Rha2VDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC5tYWlubmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8ubWFpbm5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgU3Rha2VDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGVycHJpc2VBZGRyZXNzLnRvX2FkZHJlc3MoKS50b19iZWNoMzIoKTtcbiAgfVxuXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJlc3VsdDogRGVmYXVsdEtleXMgPSB7IHB1YjogdGhpcy5rZXlQYWlyLnB1YiB9O1xuICAgIGlmICh0aGlzLmtleVBhaXIucHJ2KSB7XG4gICAgICByZXN1bHQucHJ2ID0gdGhpcy5rZXlQYWlyLnBydjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmF3UHJ2ID0gUHJpdmF0ZUtleS5mcm9tX2JlY2gzMihwcnYpLmFzX2J5dGVzKCk7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHJ2OiB0b0hleChyYXdQcnYpIH0pLmtleVBhaXI7XG4gIH1cblxuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleUluUHJvdG9jb2xGb3JtYXQocHViOiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmF3UHViID0gUHVibGljS2V5LmZyb21fYmVjaDMyKHB1YikuYXNfYnl0ZXMoKTtcbiAgICByZXR1cm4geyBwdWI6IHRvSGV4KHJhd1B1YikgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBzaWduTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCBtZXNzYWdlVG9TaWduID0gbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20obWVzc2FnZSwgJ2hleCcpKTtcbiAgICBjb25zdCBwcnYgPSB0aGlzLmtleVBhaXI/LnBydjtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIHJldHVybiBuYWNsLnNpZ24uZGV0YWNoZWQobWVzc2FnZVRvU2lnbiwgbmFjbC5zaWduLmtleVBhaXIuZnJvbVNlZWQodG9VaW50OEFycmF5KHBydikpLnNlY3JldEtleSk7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBdUg7QUFDdkgsK0ZBTWtEO0FBQ2xELGdEQUFrQztBQUVsQyxNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUN6Qzs7Ozs7T0FLRztJQUNILFlBQVksTUFBdUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxNQUFNO1FBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sTUFBTSxHQUFHLDRDQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUksaUJBQWlCLENBQUM7UUFDdEIsSUFBSSxNQUFNLEtBQUssd0JBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxpQkFBaUIsR0FBRyxvREFBaUIsQ0FBQyxHQUFHLENBQ3ZDLDhDQUFXLENBQUMsZUFBZSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQzFDLDZDQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUN2QyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksTUFBTSxLQUFLLHdCQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsaUJBQWlCLEdBQUcsb0RBQWlCLENBQUMsR0FBRyxDQUN2Qyw4Q0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUNsQyw2Q0FBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDdkMsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxNQUFNLEdBQWdCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELE1BQU0sTUFBTSxHQUFHLDZDQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBQSxnQkFBSyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDckQsQ0FBQztJQUVELHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsTUFBTSxNQUFNLEdBQUcsNENBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFBLGdCQUFLLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBQSx1QkFBWSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNGO0FBM0RELDBCQTJEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRLZXlzLCBLZXlQYWlyT3B0aW9ucywgRWQyNTUxOUtleVBhaXIsIHRvSGV4LCBBZGRyZXNzRm9ybWF0LCB0b1VpbnQ4QXJyYXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQge1xuICBQdWJsaWNLZXksXG4gIFByaXZhdGVLZXksXG4gIEVudGVycHJpc2VBZGRyZXNzLFxuICBOZXR3b3JrSW5mbyxcbiAgQ3JlZGVudGlhbCxcbn0gZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAcmV0dXJucyB7IEFkZHJlc3MgfVxuICAgKi9cbiAgZ2V0QWRkcmVzcyhmb3JtYXQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ5dGVzRnJvbUhleCA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKHRoaXMua2V5UGFpci5wdWIsICdoZXgnKSk7XG4gICAgY29uc3QgcHViS2V5ID0gUHVibGljS2V5LmZyb21fYnl0ZXMoYnl0ZXNGcm9tSGV4KTtcbiAgICBsZXQgZW50ZXJwcmlzZUFkZHJlc3M7XG4gICAgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8udGVzdG5ldF9wcmVwcm9kKCkubmV0d29ya19pZCgpLFxuICAgICAgICBDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwdWJLZXkuaGFzaCgpKVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC5tYWlubmV0KSB7XG4gICAgICBlbnRlcnByaXNlQWRkcmVzcyA9IEVudGVycHJpc2VBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8ubWFpbm5ldCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgQ3JlZGVudGlhbC5mcm9tX2tleWhhc2gocHViS2V5Lmhhc2goKSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBlbnRlcnByaXNlQWRkcmVzcy50b19hZGRyZXNzKCkudG9fYmVjaDMyKCk7XG4gIH1cblxuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICBjb25zdCByZXN1bHQ6IERlZmF1bHRLZXlzID0geyBwdWI6IHRoaXMua2V5UGFpci5wdWIgfTtcbiAgICBpZiAodGhpcy5rZXlQYWlyLnBydikge1xuICAgICAgcmVzdWx0LnBydiA9IHRoaXMua2V5UGFpci5wcnY7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXlJblByb3RvY29sRm9ybWF0KHBydjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJhd1BydiA9IFByaXZhdGVLZXkuZnJvbV9iZWNoMzIocHJ2KS5hc19ieXRlcygpO1xuICAgIHJldHVybiBuZXcgS2V5UGFpcih7IHBydjogdG9IZXgocmF3UHJ2KSB9KS5rZXlQYWlyO1xuICB9XG5cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJhd1B1YiA9IFB1YmxpY0tleS5mcm9tX2JlY2gzMihwdWIpLmFzX2J5dGVzKCk7XG4gICAgcmV0dXJuIHsgcHViOiB0b0hleChyYXdQdWIpIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgc2lnbk1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgY29uc3QgbWVzc2FnZVRvU2lnbiA9IG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICdoZXgnKSk7XG4gICAgY29uc3QgcHJ2ID0gdGhpcy5rZXlQYWlyPy5wcnY7XG4gICAgaWYgKCFwcnYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgIH1cbiAgICByZXR1cm4gbmFjbC5zaWduLmRldGFjaGVkKG1lc3NhZ2VUb1NpZ24sIG5hY2wuc2lnbi5rZXlQYWlyLmZyb21TZWVkKHRvVWludDhBcnJheShwcnYpKS5zZWNyZXRLZXkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { BaseMessage, MessageOptions, Signature } from '@bitgo-beta/sdk-core';
2
+ /**
3
+ * Implementation of Message for CIP8 standard
4
+ */
5
+ export declare class Cip8Message extends BaseMessage {
6
+ constructor(options: MessageOptions);
7
+ /**
8
+ * Returns the hash of the CIP-8 prefixed message
9
+ */
10
+ getSignablePayload(): Promise<string | Buffer>;
11
+ getBroadcastableSignatures(): Signature[];
12
+ /**
13
+ * Verifies the encoded payload against the provided metadata
14
+ * @param messageEncodedHex The hex-encoded message to verify
15
+ * @param metadata Metadata containing signer addresses
16
+ * @returns True if the encoded payload matches the expected format, false otherwise
17
+ */
18
+ verifyEncodedPayload(messageEncodedHex: string, metadata?: Record<string, unknown>): Promise<boolean>;
19
+ /**
20
+ * Validates required fields and returns common setup objects
21
+ * @private
22
+ */
23
+ private validateAndGetCommonSetup;
24
+ }
25
+ //# sourceMappingURL=cip8Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cip8Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAInG;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAiBpD,0BAA0B,IAAI,SAAS,EAAE;IA4BzC;;;;;OAKG;IACG,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3G;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAsBlC"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Cip8Message = void 0;
37
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
38
+ const CardanoSL = __importStar(require("@emurgo/cardano-serialization-lib-nodejs"));
39
+ const utils_1 = require("./utils");
40
+ /**
41
+ * Implementation of Message for CIP8 standard
42
+ */
43
+ class Cip8Message extends sdk_core_1.BaseMessage {
44
+ constructor(options) {
45
+ super({
46
+ ...options,
47
+ type: sdk_core_1.MessageStandardType.CIP8,
48
+ });
49
+ }
50
+ /**
51
+ * Returns the hash of the CIP-8 prefixed message
52
+ */
53
+ async getSignablePayload() {
54
+ const { addressCborBytes } = this.validateAndGetCommonSetup();
55
+ const { sigStructureCborBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
56
+ this.signablePayload = Buffer.from(sigStructureCborBytes);
57
+ return this.signablePayload;
58
+ }
59
+ /*
60
+ * Returns broadcastable signatures in COSE format according to CIP8 standard
61
+ *
62
+ * This method transforms the internal signatures into a format suitable for broadcasting
63
+ * by constructing COSE (CBOR Object Signing and Encryption) objects that comply with
64
+ * the CIP8 message signing specification.
65
+ *
66
+ * @returns Array of signatures with COSE-formatted signature data and public keys
67
+ * @throws Error if required setup validation fails
68
+ */
69
+ getBroadcastableSignatures() {
70
+ if (!this.signatures.length) {
71
+ return [];
72
+ }
73
+ const signature = this.signatures[0].signature;
74
+ const publicKeyHex = this.signatures[0].publicKey.pub;
75
+ const { addressCborBytes } = this.validateAndGetCommonSetup();
76
+ const { protectedHeaderCborBytes, payloadBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
77
+ const coseObjectsOutput = (0, utils_1.constructCSLCoseObjects)(protectedHeaderCborBytes, payloadBytes, signature, CardanoSL.PublicKey.from_bytes(Buffer.from(publicKeyHex, 'hex')));
78
+ const coseObjectsBuffer = (0, utils_1.coseObjectsOutputToBuffer)(coseObjectsOutput);
79
+ return [
80
+ {
81
+ signature: coseObjectsBuffer,
82
+ publicKey: {
83
+ pub: publicKeyHex,
84
+ },
85
+ },
86
+ ];
87
+ }
88
+ /**
89
+ * Verifies the encoded payload against the provided metadata
90
+ * @param messageEncodedHex The hex-encoded message to verify
91
+ * @param metadata Metadata containing signer addresses
92
+ * @returns True if the encoded payload matches the expected format, false otherwise
93
+ */
94
+ async verifyEncodedPayload(messageEncodedHex, metadata) {
95
+ if (!metadata) {
96
+ throw new Error('Metadata is required for verifying the encoded payload');
97
+ }
98
+ const signers = metadata.signers;
99
+ if (signers.length === 0) {
100
+ throw new Error('At least one signer address is required in metadata for verification');
101
+ }
102
+ this.addSigner(signers[0]);
103
+ const signablePayload = await this.getSignablePayload();
104
+ let signablePayloadHex;
105
+ if (Buffer.isBuffer(signablePayload)) {
106
+ signablePayloadHex = signablePayload.toString('hex');
107
+ }
108
+ else {
109
+ signablePayloadHex = signablePayload;
110
+ }
111
+ return signablePayloadHex === messageEncodedHex;
112
+ }
113
+ /**
114
+ * Validates required fields and returns common setup objects
115
+ * @private
116
+ */
117
+ validateAndGetCommonSetup() {
118
+ if (!this.payload) {
119
+ throw new Error('Payload is required to build a CIP8 message');
120
+ }
121
+ if (!this.signers || this.signers.length === 0) {
122
+ throw new Error('A signer address is required to build a CIP8 message');
123
+ }
124
+ let cslAddress;
125
+ try {
126
+ cslAddress = CardanoSL.Address.from_bech32(this.signers[0]);
127
+ }
128
+ catch (error) {
129
+ // Convert string errors to proper Error objects
130
+ if (typeof error === 'string') {
131
+ throw new Error(`Invalid signer address: ${error}`);
132
+ }
133
+ throw error;
134
+ }
135
+ const addressCborBytes = cslAddress.to_bytes();
136
+ return { addressCborBytes };
137
+ }
138
+ }
139
+ exports.Cip8Message = Cip8Message;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvY2lwOE1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1HO0FBQ25HLG9GQUFzRTtBQUN0RSxtQ0FBb0c7QUFFcEc7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBVztJQUMxQyxZQUFZLE9BQXVCO1FBQ2pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSw4QkFBbUIsQ0FBQyxJQUFJO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDOUQsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBRXRELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzlELE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFBLDZCQUFxQixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6RyxNQUFNLGlCQUFpQixHQUFHLElBQUEsK0JBQXVCLEVBQy9DLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ2pFLENBQUM7UUFDRixNQUFNLGlCQUFpQixHQUFHLElBQUEsaUNBQXlCLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RSxPQUFPO1lBQ0w7Z0JBQ0UsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNULEdBQUcsRUFBRSxZQUFZO2lCQUNsQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBeUIsRUFBRSxRQUFrQztRQUN0RixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFtQixDQUFDO1FBQzdDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRSxDQUFDLENBQUM7UUFDMUYsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLGtCQUEwQixDQUFDO1FBQy9CLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixrQkFBa0IsR0FBRyxlQUFlLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sa0JBQWtCLEtBQUssaUJBQWlCLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHlCQUF5QjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxJQUFJLFVBQTZCLENBQUM7UUFDbEMsSUFBSSxDQUFDO1lBQ0gsVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGdEQUFnRDtZQUNoRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUEzR0Qsa0NBMkdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zLCBNZXNzYWdlU3RhbmRhcmRUeXBlLCBTaWduYXR1cmUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBDYXJkYW5vU0wgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgeyBjb25zdHJ1Y3RDU0xDb3NlT2JqZWN0cywgY29zZU9iamVjdHNPdXRwdXRUb0J1ZmZlciwgY3JlYXRlQ1NMU2lnU3RydWN0dXJlIH0gZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgTWVzc2FnZSBmb3IgQ0lQOCBzdGFuZGFyZFxuICovXG5leHBvcnQgY2xhc3MgQ2lwOE1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuQ0lQOCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBoYXNoIG9mIHRoZSBDSVAtOCBwcmVmaXhlZCBtZXNzYWdlXG4gICAqL1xuICBhc3luYyBnZXRTaWduYWJsZVBheWxvYWQoKTogUHJvbWlzZTxzdHJpbmcgfCBCdWZmZXI+IHtcbiAgICBjb25zdCB7IGFkZHJlc3NDYm9yQnl0ZXMgfSA9IHRoaXMudmFsaWRhdGVBbmRHZXRDb21tb25TZXR1cCgpO1xuICAgIGNvbnN0IHsgc2lnU3RydWN0dXJlQ2JvckJ5dGVzIH0gPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgdGhpcy5wYXlsb2FkKTtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHNpZ1N0cnVjdHVyZUNib3JCeXRlcyk7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmFibGVQYXlsb2FkO1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyBicm9hZGNhc3RhYmxlIHNpZ25hdHVyZXMgaW4gQ09TRSBmb3JtYXQgYWNjb3JkaW5nIHRvIENJUDggc3RhbmRhcmRcbiAgICpcbiAgICogVGhpcyBtZXRob2QgdHJhbnNmb3JtcyB0aGUgaW50ZXJuYWwgc2lnbmF0dXJlcyBpbnRvIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBicm9hZGNhc3RpbmdcbiAgICogYnkgY29uc3RydWN0aW5nIENPU0UgKENCT1IgT2JqZWN0IFNpZ25pbmcgYW5kIEVuY3J5cHRpb24pIG9iamVjdHMgdGhhdCBjb21wbHkgd2l0aFxuICAgKiB0aGUgQ0lQOCBtZXNzYWdlIHNpZ25pbmcgc3BlY2lmaWNhdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQXJyYXkgb2Ygc2lnbmF0dXJlcyB3aXRoIENPU0UtZm9ybWF0dGVkIHNpZ25hdHVyZSBkYXRhIGFuZCBwdWJsaWMga2V5c1xuICAgKiBAdGhyb3dzIEVycm9yIGlmIHJlcXVpcmVkIHNldHVwIHZhbGlkYXRpb24gZmFpbHNcbiAgICovXG4gIGdldEJyb2FkY2FzdGFibGVTaWduYXR1cmVzKCk6IFNpZ25hdHVyZVtdIHtcbiAgICBpZiAoIXRoaXMuc2lnbmF0dXJlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSB0aGlzLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlO1xuICAgIGNvbnN0IHB1YmxpY0tleUhleCA9IHRoaXMuc2lnbmF0dXJlc1swXS5wdWJsaWNLZXkucHViO1xuXG4gICAgY29uc3QgeyBhZGRyZXNzQ2JvckJ5dGVzIH0gPSB0aGlzLnZhbGlkYXRlQW5kR2V0Q29tbW9uU2V0dXAoKTtcbiAgICBjb25zdCB7IHByb3RlY3RlZEhlYWRlckNib3JCeXRlcywgcGF5bG9hZEJ5dGVzIH0gPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgdGhpcy5wYXlsb2FkKTtcblxuICAgIGNvbnN0IGNvc2VPYmplY3RzT3V0cHV0ID0gY29uc3RydWN0Q1NMQ29zZU9iamVjdHMoXG4gICAgICBwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsXG4gICAgICBwYXlsb2FkQnl0ZXMsXG4gICAgICBzaWduYXR1cmUsXG4gICAgICBDYXJkYW5vU0wuUHVibGljS2V5LmZyb21fYnl0ZXMoQnVmZmVyLmZyb20ocHVibGljS2V5SGV4LCAnaGV4JykpXG4gICAgKTtcbiAgICBjb25zdCBjb3NlT2JqZWN0c0J1ZmZlciA9IGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIoY29zZU9iamVjdHNPdXRwdXQpO1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHNpZ25hdHVyZTogY29zZU9iamVjdHNCdWZmZXIsXG4gICAgICAgIHB1YmxpY0tleToge1xuICAgICAgICAgIHB1YjogcHVibGljS2V5SGV4LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBlbmNvZGVkIHBheWxvYWQgYWdhaW5zdCB0aGUgcHJvdmlkZWQgbWV0YWRhdGFcbiAgICogQHBhcmFtIG1lc3NhZ2VFbmNvZGVkSGV4IFRoZSBoZXgtZW5jb2RlZCBtZXNzYWdlIHRvIHZlcmlmeVxuICAgKiBAcGFyYW0gbWV0YWRhdGEgTWV0YWRhdGEgY29udGFpbmluZyBzaWduZXIgYWRkcmVzc2VzXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGVuY29kZWQgcGF5bG9hZCBtYXRjaGVzIHRoZSBleHBlY3RlZCBmb3JtYXQsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYXN5bmMgdmVyaWZ5RW5jb2RlZFBheWxvYWQobWVzc2FnZUVuY29kZWRIZXg6IHN0cmluZywgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghbWV0YWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWV0YWRhdGEgaXMgcmVxdWlyZWQgZm9yIHZlcmlmeWluZyB0aGUgZW5jb2RlZCBwYXlsb2FkJyk7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25lcnMgPSBtZXRhZGF0YS5zaWduZXJzIGFzIHN0cmluZ1tdO1xuICAgIGlmIChzaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdCBsZWFzdCBvbmUgc2lnbmVyIGFkZHJlc3MgaXMgcmVxdWlyZWQgaW4gbWV0YWRhdGEgZm9yIHZlcmlmaWNhdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmFkZFNpZ25lcihzaWduZXJzWzBdKTtcbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCB0aGlzLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIGxldCBzaWduYWJsZVBheWxvYWRIZXg6IHN0cmluZztcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKHNpZ25hYmxlUGF5bG9hZCkpIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZC50b1N0cmluZygnaGV4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpZ25hYmxlUGF5bG9hZEhleCA9IHNpZ25hYmxlUGF5bG9hZDtcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hYmxlUGF5bG9hZEhleCA9PT0gbWVzc2FnZUVuY29kZWRIZXg7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHJlcXVpcmVkIGZpZWxkcyBhbmQgcmV0dXJucyBjb21tb24gc2V0dXAgb2JqZWN0c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuZEdldENvbW1vblNldHVwKCkge1xuICAgIGlmICghdGhpcy5wYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BheWxvYWQgaXMgcmVxdWlyZWQgdG8gYnVpbGQgYSBDSVA4IG1lc3NhZ2UnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNpZ25lcnMgfHwgdGhpcy5zaWduZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBIHNpZ25lciBhZGRyZXNzIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGEgQ0lQOCBtZXNzYWdlJyk7XG4gICAgfVxuXG4gICAgbGV0IGNzbEFkZHJlc3M6IENhcmRhbm9TTC5BZGRyZXNzO1xuICAgIHRyeSB7XG4gICAgICBjc2xBZGRyZXNzID0gQ2FyZGFub1NMLkFkZHJlc3MuZnJvbV9iZWNoMzIodGhpcy5zaWduZXJzWzBdKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gQ29udmVydCBzdHJpbmcgZXJyb3JzIHRvIHByb3BlciBFcnJvciBvYmplY3RzXG4gICAgICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2lnbmVyIGFkZHJlc3M6ICR7ZXJyb3J9YCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBjb25zdCBhZGRyZXNzQ2JvckJ5dGVzID0gY3NsQWRkcmVzcy50b19ieXRlcygpO1xuICAgIHJldHVybiB7IGFkZHJlc3NDYm9yQnl0ZXMgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilder, IMessage, MessageOptions } from '@bitgo-beta/sdk-core';
3
+ /**
4
+ * Builder for CIP-8 messages
5
+ */
6
+ export declare class Cip8MessageBuilder extends BaseMessageBuilder {
7
+ /**
8
+ * Base constructor.
9
+ * @param _coinConfig BaseCoin from statics library
10
+ */
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ /**
13
+ * Builds a CIP-8 message instance with the provided options
14
+ * @param options Options to create the message
15
+ * @returns A Promise that resolves to a Cip8Message instance
16
+ */
17
+ buildMessage(options: MessageOptions): Promise<IMessage>;
18
+ }
19
+ //# sourceMappingURL=cip8MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cip8MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8MessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAEzG;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAG/D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Cip8MessageBuilder = void 0;
4
+ const cip8Message_1 = require("./cip8Message");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ /**
7
+ * Builder for CIP-8 messages
8
+ */
9
+ class Cip8MessageBuilder extends sdk_core_1.BaseMessageBuilder {
10
+ /**
11
+ * Base constructor.
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig, sdk_core_1.MessageStandardType.CIP8);
16
+ }
17
+ /**
18
+ * Builds a CIP-8 message instance with the provided options
19
+ * @param options Options to create the message
20
+ * @returns A Promise that resolves to a Cip8Message instance
21
+ */
22
+ async buildMessage(options) {
23
+ return new cip8Message_1.Cip8Message(options);
24
+ }
25
+ }
26
+ exports.Cip8MessageBuilder = Cip8MessageBuilder;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9jaXA4L2NpcDhNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFFNUMsbURBQXlHO0FBRXpHOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSw2QkFBa0I7SUFDeEQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBdUI7UUFDeEMsT0FBTyxJQUFJLHlCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBakJELGdEQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcDhNZXNzYWdlIH0gZnJvbSAnLi9jaXA4TWVzc2FnZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlTWVzc2FnZUJ1aWxkZXIsIElNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBDSVAtOCBtZXNzYWdlc1xuICovXG5leHBvcnQgY2xhc3MgQ2lwOE1lc3NhZ2VCdWlsZGVyIGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyIHtcbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkNJUDgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIENJUC04IG1lc3NhZ2UgaW5zdGFuY2Ugd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9uc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIHRvIGNyZWF0ZSB0aGUgbWVzc2FnZVxuICAgKiBAcmV0dXJucyBBIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIENpcDhNZXNzYWdlIGluc3RhbmNlXG4gICAqL1xuICBhc3luYyBidWlsZE1lc3NhZ2Uob3B0aW9uczogTWVzc2FnZU9wdGlvbnMpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgcmV0dXJuIG5ldyBDaXA4TWVzc2FnZShvcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './cip8Message';
2
+ export * from './cip8MessageBuilder';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cip8Message"), exports);
18
+ __exportStar(require("./cip8MessageBuilder"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qix1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NpcDhNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vY2lwOE1lc3NhZ2VCdWlsZGVyJztcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Buffer } from 'buffer';
2
+ import * as CSL from '@emurgo/cardano-serialization-lib-nodejs';
3
+ export declare function bytesToHex(bytes: Uint8Array | Buffer): string;
4
+ export interface CSLSigStructureOutput {
5
+ sigStructureCborBytes: Uint8Array;
6
+ protectedHeaderCborBytes: Uint8Array;
7
+ payloadBytes: Buffer;
8
+ }
9
+ export interface CSLCoseObjectsOutput {
10
+ manualCoseSign1Hex: string;
11
+ manualCoseKeyHex: string;
12
+ }
13
+ /**
14
+ * Creates the CSL signature structure for off-chain message signing.
15
+ *
16
+ * @param addressCborBytes - The CBOR bytes of the CSL address.
17
+ * @param message - The message to be signed.
18
+ * @returns An object containing the signature structure CBOR bytes, protected header CBOR bytes, and payload bytes.
19
+ */
20
+ export declare function createCSLSigStructure(addressCborBytes: Uint8Array, message: string): CSLSigStructureOutput;
21
+ export declare function constructCSLCoseObjects(protectedHeaderCborBytes: Uint8Array, payloadBytes: Buffer, cslSignatureBytes: Uint8Array, paymentPubKey: CSL.PublicKey): CSLCoseObjectsOutput;
22
+ export declare function coseObjectsOutputToBuffer(output: CSLCoseObjectsOutput): Buffer;
23
+ export declare function bufferToCoseObjectsOutput(buffer: Buffer): Promise<CSLCoseObjectsOutput>;
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,0CAA0C,CAAC;AAIhE,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,EAAE,UAAU,CAAC;IAClC,wBAAwB,EAAE,UAAU,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAoB1G;AAGD,wBAAgB,uBAAuB,CACrC,wBAAwB,EAAE,UAAU,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,UAAU,EAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,GAC3B,oBAAoB,CA4BtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE7F"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bytesToHex = bytesToHex;
4
+ exports.createCSLSigStructure = createCSLSigStructure;
5
+ exports.constructCSLCoseObjects = constructCSLCoseObjects;
6
+ exports.coseObjectsOutputToBuffer = coseObjectsOutputToBuffer;
7
+ exports.bufferToCoseObjectsOutput = bufferToCoseObjectsOutput;
8
+ const buffer_1 = require("buffer");
9
+ const cbor_1 = require("cbor");
10
+ // Helper function to convert a Uint8Array or Buffer to a hex string
11
+ function bytesToHex(bytes) {
12
+ return buffer_1.Buffer.from(bytes).toString('hex');
13
+ }
14
+ /**
15
+ * Creates the CSL signature structure for off-chain message signing.
16
+ *
17
+ * @param addressCborBytes - The CBOR bytes of the CSL address.
18
+ * @param message - The message to be signed.
19
+ * @returns An object containing the signature structure CBOR bytes, protected header CBOR bytes, and payload bytes.
20
+ */
21
+ function createCSLSigStructure(addressCborBytes, message) {
22
+ // Payload
23
+ const payloadBytes = buffer_1.Buffer.from(message, 'utf-8');
24
+ // Protected Header
25
+ const protectedHeaderMap = new Map();
26
+ protectedHeaderMap.set(1, -8); // Algorithm ID: EdDSA
27
+ protectedHeaderMap.set('address', buffer_1.Buffer.from(addressCborBytes));
28
+ const protectedHeaderCborBytes = cbor_1.Encoder.encode(protectedHeaderMap);
29
+ // Sig_structure
30
+ const sigStructureArray = [
31
+ 'Signature1',
32
+ buffer_1.Buffer.from(protectedHeaderCborBytes),
33
+ buffer_1.Buffer.from([]), // Empty external_aad
34
+ buffer_1.Buffer.from(payloadBytes),
35
+ ];
36
+ const sigStructureCborBytes = cbor_1.Encoder.encode(sigStructureArray);
37
+ return { sigStructureCborBytes, protectedHeaderCborBytes, payloadBytes };
38
+ }
39
+ // COSE objects construction function
40
+ function constructCSLCoseObjects(protectedHeaderCborBytes, payloadBytes, cslSignatureBytes, paymentPubKey) {
41
+ // COSE_Sign1 Construction
42
+ const unprotectedHeadersMap = new Map();
43
+ unprotectedHeadersMap.set('hashed', false);
44
+ const coseSign1Array = [
45
+ buffer_1.Buffer.from(protectedHeaderCborBytes),
46
+ unprotectedHeadersMap,
47
+ buffer_1.Buffer.from(payloadBytes),
48
+ buffer_1.Buffer.from(cslSignatureBytes),
49
+ ];
50
+ const finalCoseSign1CborBytes = cbor_1.Encoder.encode(coseSign1Array);
51
+ /* // directly encoding the coseSign1Array without prepending the 0xD2 tag.
52
+ * const coseSign1PayloadBytes = Encoder.encode(coseSign1Array);
53
+ * const coseSign1Tag = Buffer.from([0xD2]); // Tag 18 for COSE_Sign1
54
+ * const finalCoseSign1CborBytes = Buffer.concat([coseSign1Tag, coseSign1PayloadBytes]);
55
+ */
56
+ const manualCoseSign1Hex = bytesToHex(finalCoseSign1CborBytes);
57
+ // COSE_Key Construction
58
+ const coseKeyMap = new Map();
59
+ coseKeyMap.set(1, 1); // kty: OKP (Octet Key Pair)
60
+ coseKeyMap.set(3, -8); // alg: EdDSA
61
+ coseKeyMap.set(-1, 6); // crv: Ed25519
62
+ coseKeyMap.set(-2, buffer_1.Buffer.from(paymentPubKey.as_bytes())); // x: public_key_bytes (Ed25519 public key)
63
+ const finalCoseKeyCborBytes = cbor_1.Encoder.encode(coseKeyMap);
64
+ const manualCoseKeyHex = bytesToHex(finalCoseKeyCborBytes);
65
+ return { manualCoseSign1Hex, manualCoseKeyHex };
66
+ }
67
+ function coseObjectsOutputToBuffer(output) {
68
+ return buffer_1.Buffer.from(cbor_1.Encoder.encode(output));
69
+ }
70
+ async function bufferToCoseObjectsOutput(buffer) {
71
+ return await cbor_1.Decoder.decodeFirst(buffer);
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnQ0FFQztBQW9CRCxzREFvQkM7QUFHRCwwREFpQ0M7QUFFRCw4REFFQztBQUVELDhEQUVDO0FBM0ZELG1DQUFnQztBQUVoQywrQkFBd0M7QUFFeEMsb0VBQW9FO0FBQ3BFLFNBQWdCLFVBQVUsQ0FBQyxLQUEwQjtJQUNuRCxPQUFPLGVBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFhRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxnQkFBNEIsRUFBRSxPQUFlO0lBQ2pGLFVBQVU7SUFDVixNQUFNLFlBQVksR0FBRyxlQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVuRCxtQkFBbUI7SUFDbkIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUMzRCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0I7SUFDckQsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxlQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRSxNQUFNLHdCQUF3QixHQUFHLGNBQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVwRSxnQkFBZ0I7SUFDaEIsTUFBTSxpQkFBaUIsR0FBVTtRQUMvQixZQUFZO1FBQ1osZUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNyQyxlQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLHFCQUFxQjtRQUN0QyxlQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztLQUMxQixDQUFDO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxjQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxDQUFDO0FBQzNFLENBQUM7QUFFRCxxQ0FBcUM7QUFDckMsU0FBZ0IsdUJBQXVCLENBQ3JDLHdCQUFvQyxFQUNwQyxZQUFvQixFQUNwQixpQkFBNkIsRUFDN0IsYUFBNEI7SUFFNUIsMEJBQTBCO0lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQUNyRCxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sY0FBYyxHQUFVO1FBQzVCLGVBQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDckMscUJBQXFCO1FBQ3JCLGVBQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pCLGVBQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7S0FDL0IsQ0FBQztJQUNGLE1BQU0sdUJBQXVCLEdBQUcsY0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvRDs7OztPQUlHO0lBQ0gsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUUvRCx3QkFBd0I7SUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQUMxQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUNsRCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYTtJQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZTtJQUN0QyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztJQUN0RyxNQUFNLHFCQUFxQixHQUFHLGNBQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsTUFBNEI7SUFDcEUsT0FBTyxlQUFNLENBQUMsSUFBSSxDQUFDLGNBQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRU0sS0FBSyxVQUFVLHlCQUF5QixDQUFDLE1BQWM7SUFDNUQsT0FBTyxNQUFNLGNBQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgKiBhcyBDU0wgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgeyBEZWNvZGVyLCBFbmNvZGVyIH0gZnJvbSAnY2Jvcic7XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IGEgVWludDhBcnJheSBvciBCdWZmZXIgdG8gYSBoZXggc3RyaW5nXG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb0hleChieXRlczogVWludDhBcnJheSB8IEJ1ZmZlcik6IHN0cmluZyB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShieXRlcykudG9TdHJpbmcoJ2hleCcpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENTTFNpZ1N0cnVjdHVyZU91dHB1dCB7XG4gIHNpZ1N0cnVjdHVyZUNib3JCeXRlczogVWludDhBcnJheTtcbiAgcHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzOiBVaW50OEFycmF5O1xuICBwYXlsb2FkQnl0ZXM6IEJ1ZmZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDU0xDb3NlT2JqZWN0c091dHB1dCB7XG4gIG1hbnVhbENvc2VTaWduMUhleDogc3RyaW5nO1xuICBtYW51YWxDb3NlS2V5SGV4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgQ1NMIHNpZ25hdHVyZSBzdHJ1Y3R1cmUgZm9yIG9mZi1jaGFpbiBtZXNzYWdlIHNpZ25pbmcuXG4gKlxuICogQHBhcmFtIGFkZHJlc3NDYm9yQnl0ZXMgLSBUaGUgQ0JPUiBieXRlcyBvZiB0aGUgQ1NMIGFkZHJlc3MuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNpZ25lZC5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBzaWduYXR1cmUgc3RydWN0dXJlIENCT1IgYnl0ZXMsIHByb3RlY3RlZCBoZWFkZXIgQ0JPUiBieXRlcywgYW5kIHBheWxvYWQgYnl0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlczogVWludDhBcnJheSwgbWVzc2FnZTogc3RyaW5nKTogQ1NMU2lnU3RydWN0dXJlT3V0cHV0IHtcbiAgLy8gUGF5bG9hZFxuICBjb25zdCBwYXlsb2FkQnl0ZXMgPSBCdWZmZXIuZnJvbShtZXNzYWdlLCAndXRmLTgnKTtcblxuICAvLyBQcm90ZWN0ZWQgSGVhZGVyXG4gIGNvbnN0IHByb3RlY3RlZEhlYWRlck1hcCA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBhbnk+KCk7XG4gIHByb3RlY3RlZEhlYWRlck1hcC5zZXQoMSwgLTgpOyAvLyBBbGdvcml0aG0gSUQ6IEVkRFNBXG4gIHByb3RlY3RlZEhlYWRlck1hcC5zZXQoJ2FkZHJlc3MnLCBCdWZmZXIuZnJvbShhZGRyZXNzQ2JvckJ5dGVzKSk7XG4gIGNvbnN0IHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyA9IEVuY29kZXIuZW5jb2RlKHByb3RlY3RlZEhlYWRlck1hcCk7XG5cbiAgLy8gU2lnX3N0cnVjdHVyZVxuICBjb25zdCBzaWdTdHJ1Y3R1cmVBcnJheTogYW55W10gPSBbXG4gICAgJ1NpZ25hdHVyZTEnLFxuICAgIEJ1ZmZlci5mcm9tKHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyksXG4gICAgQnVmZmVyLmZyb20oW10pLCAvLyBFbXB0eSBleHRlcm5hbF9hYWRcbiAgICBCdWZmZXIuZnJvbShwYXlsb2FkQnl0ZXMpLFxuICBdO1xuICBjb25zdCBzaWdTdHJ1Y3R1cmVDYm9yQnl0ZXMgPSBFbmNvZGVyLmVuY29kZShzaWdTdHJ1Y3R1cmVBcnJheSk7XG5cbiAgcmV0dXJuIHsgc2lnU3RydWN0dXJlQ2JvckJ5dGVzLCBwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsIHBheWxvYWRCeXRlcyB9O1xufVxuXG4vLyBDT1NFIG9iamVjdHMgY29uc3RydWN0aW9uIGZ1bmN0aW9uXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0Q1NMQ29zZU9iamVjdHMoXG4gIHByb3RlY3RlZEhlYWRlckNib3JCeXRlczogVWludDhBcnJheSxcbiAgcGF5bG9hZEJ5dGVzOiBCdWZmZXIsXG4gIGNzbFNpZ25hdHVyZUJ5dGVzOiBVaW50OEFycmF5LFxuICBwYXltZW50UHViS2V5OiBDU0wuUHVibGljS2V5XG4pOiBDU0xDb3NlT2JqZWN0c091dHB1dCB7XG4gIC8vIENPU0VfU2lnbjEgQ29uc3RydWN0aW9uXG4gIGNvbnN0IHVucHJvdGVjdGVkSGVhZGVyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIHVucHJvdGVjdGVkSGVhZGVyc01hcC5zZXQoJ2hhc2hlZCcsIGZhbHNlKTtcbiAgY29uc3QgY29zZVNpZ24xQXJyYXk6IGFueVtdID0gW1xuICAgIEJ1ZmZlci5mcm9tKHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyksXG4gICAgdW5wcm90ZWN0ZWRIZWFkZXJzTWFwLFxuICAgIEJ1ZmZlci5mcm9tKHBheWxvYWRCeXRlcyksXG4gICAgQnVmZmVyLmZyb20oY3NsU2lnbmF0dXJlQnl0ZXMpLFxuICBdO1xuICBjb25zdCBmaW5hbENvc2VTaWduMUNib3JCeXRlcyA9IEVuY29kZXIuZW5jb2RlKGNvc2VTaWduMUFycmF5KTtcbiAgLyogLy8gZGlyZWN0bHkgZW5jb2RpbmcgdGhlIGNvc2VTaWduMUFycmF5IHdpdGhvdXQgcHJlcGVuZGluZyB0aGUgMHhEMiB0YWcuXG4gICAqIGNvbnN0IGNvc2VTaWduMVBheWxvYWRCeXRlcyA9IEVuY29kZXIuZW5jb2RlKGNvc2VTaWduMUFycmF5KTtcbiAgICogY29uc3QgY29zZVNpZ24xVGFnID0gQnVmZmVyLmZyb20oWzB4RDJdKTsgLy8gVGFnIDE4IGZvciBDT1NFX1NpZ24xXG4gICAqIGNvbnN0IGZpbmFsQ29zZVNpZ24xQ2JvckJ5dGVzID0gQnVmZmVyLmNvbmNhdChbY29zZVNpZ24xVGFnLCBjb3NlU2lnbjFQYXlsb2FkQnl0ZXNdKTtcbiAgICovXG4gIGNvbnN0IG1hbnVhbENvc2VTaWduMUhleCA9IGJ5dGVzVG9IZXgoZmluYWxDb3NlU2lnbjFDYm9yQnl0ZXMpO1xuXG4gIC8vIENPU0VfS2V5IENvbnN0cnVjdGlvblxuICBjb25zdCBjb3NlS2V5TWFwID0gbmV3IE1hcDxudW1iZXIsIGFueT4oKTtcbiAgY29zZUtleU1hcC5zZXQoMSwgMSk7IC8vIGt0eTogT0tQIChPY3RldCBLZXkgUGFpcilcbiAgY29zZUtleU1hcC5zZXQoMywgLTgpOyAvLyBhbGc6IEVkRFNBXG4gIGNvc2VLZXlNYXAuc2V0KC0xLCA2KTsgLy8gY3J2OiBFZDI1NTE5XG4gIGNvc2VLZXlNYXAuc2V0KC0yLCBCdWZmZXIuZnJvbShwYXltZW50UHViS2V5LmFzX2J5dGVzKCkpKTsgLy8geDogcHVibGljX2tleV9ieXRlcyAoRWQyNTUxOSBwdWJsaWMga2V5KVxuICBjb25zdCBmaW5hbENvc2VLZXlDYm9yQnl0ZXMgPSBFbmNvZGVyLmVuY29kZShjb3NlS2V5TWFwKTtcbiAgY29uc3QgbWFudWFsQ29zZUtleUhleCA9IGJ5dGVzVG9IZXgoZmluYWxDb3NlS2V5Q2JvckJ5dGVzKTtcblxuICByZXR1cm4geyBtYW51YWxDb3NlU2lnbjFIZXgsIG1hbnVhbENvc2VLZXlIZXggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIob3V0cHV0OiBDU0xDb3NlT2JqZWN0c091dHB1dCk6IEJ1ZmZlciB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShFbmNvZGVyLmVuY29kZShvdXRwdXQpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1ZmZlclRvQ29zZU9iamVjdHNPdXRwdXQoYnVmZmVyOiBCdWZmZXIpOiBQcm9taXNlPENTTENvc2VPYmplY3RzT3V0cHV0PiB7XG4gIHJldHVybiBhd2FpdCBEZWNvZGVyLmRlY29kZUZpcnN0KGJ1ZmZlcik7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './messageBuilderFactory';
2
+ export * from './cip8';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./messageBuilderFactory"), exports);
18
+ __exportStar(require("./cip8"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jaXA4JztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { BaseMessageBuilderFactory, IMessageBuilder, MessageStandardType } from '@bitgo-beta/sdk-core';
3
+ export declare class MessageBuilderFactory extends BaseMessageBuilderFactory {
4
+ constructor(coinConfig: Readonly<CoinConfig>);
5
+ getMessageBuilder(type: MessageStandardType): IMessageBuilder;
6
+ }
7
+ //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvG,qBAAa,qBAAsB,SAAQ,yBAAyB;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIrC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAQrE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBuilderFactory = void 0;
4
+ const cip8_1 = require("./cip8");
5
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
6
+ class MessageBuilderFactory extends sdk_core_1.BaseMessageBuilderFactory {
7
+ constructor(coinConfig) {
8
+ super(coinConfig);
9
+ }
10
+ getMessageBuilder(type) {
11
+ switch (type) {
12
+ case sdk_core_1.MessageStandardType.CIP8:
13
+ return new cip8_1.Cip8MessageBuilder(this.coinConfig);
14
+ default:
15
+ throw new Error(`Invalid message standard ${type}`);
16
+ }
17
+ }
18
+ }
19
+ exports.MessageBuilderFactory = MessageBuilderFactory;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQTRDO0FBRTVDLG1EQUF1RztBQUV2RyxNQUFhLHFCQUFzQixTQUFRLG9DQUF5QjtJQUNsRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBeUI7UUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssOEJBQW1CLENBQUMsSUFBSTtnQkFDM0IsT0FBTyxJQUFJLHlCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcDhNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4vY2lwOCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LCBJTWVzc2FnZUJ1aWxkZXIsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgTWVzc2FnZVN0YW5kYXJkVHlwZS5DSVA4OlxuICAgICAgICByZXR1cm4gbmV3IENpcDhNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxufVxuIl19