@bitgo-beta/sdk-coin-canton 1.0.1-beta.8 → 1.0.1-beta.81

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 (100) hide show
  1. package/dist/resources/hash/hash.d.ts +5 -0
  2. package/dist/resources/hash/hash.js +298 -0
  3. package/dist/resources/proto/damlTransaction.js +100 -0
  4. package/dist/resources/proto/damlTransactionNode.js +71 -0
  5. package/dist/resources/proto/damlTransactionNodeSeed.js +56 -0
  6. package/dist/resources/proto/metadata/metadataGlobalKeyMappingEntry.js +53 -0
  7. package/dist/resources/proto/metadata/metadataInputContract.js +80 -0
  8. package/dist/resources/proto/metadata/metadataSubmitterInfo.js +62 -0
  9. package/dist/resources/proto/metadata.js +189 -0
  10. package/dist/resources/proto/node/empty.js +36 -0
  11. package/dist/resources/proto/node/globalKey.js +81 -0
  12. package/dist/resources/proto/node/identifier.js +73 -0
  13. package/dist/resources/proto/node/node.js +664 -0
  14. package/dist/resources/proto/node/timestamp.js +145 -0
  15. package/dist/resources/proto/node/value.js +838 -0
  16. package/dist/resources/proto/preparedTransaction.d.ts +8 -0
  17. package/dist/resources/proto/preparedTransaction.js +66 -0
  18. package/dist/src/canton.d.ts +4 -2
  19. package/dist/src/canton.d.ts.map +1 -1
  20. package/dist/src/canton.js +44 -6
  21. package/dist/src/index.d.ts +1 -0
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +2 -1
  24. package/dist/src/lib/constant.d.ts +16 -0
  25. package/dist/src/lib/constant.d.ts.map +1 -0
  26. package/dist/src/lib/constant.js +19 -0
  27. package/dist/src/lib/iface.d.ts +101 -0
  28. package/dist/src/lib/iface.d.ts.map +1 -1
  29. package/dist/src/lib/iface.js +1 -1
  30. package/dist/src/lib/index.d.ts +7 -1
  31. package/dist/src/lib/index.d.ts.map +1 -1
  32. package/dist/src/lib/index.js +15 -3
  33. package/dist/src/lib/keyPair.d.ts +7 -1
  34. package/dist/src/lib/keyPair.d.ts.map +1 -1
  35. package/dist/src/lib/keyPair.js +24 -4
  36. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +51 -0
  37. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -0
  38. package/dist/src/lib/oneStepPreApprovalBuilder.js +101 -0
  39. package/dist/src/lib/resourcesInterface.d.ts +214 -0
  40. package/dist/src/lib/resourcesInterface.d.ts.map +1 -0
  41. package/dist/src/lib/resourcesInterface.js +3 -0
  42. package/dist/src/lib/transaction/transaction.d.ts +23 -0
  43. package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
  44. package/dist/src/lib/transaction/transaction.js +168 -0
  45. package/dist/src/lib/transactionBuilder.d.ts +10 -17
  46. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  47. package/dist/src/lib/transactionBuilder.js +31 -27
  48. package/dist/src/lib/transactionBuilderFactory.d.ts +15 -3
  49. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  50. package/dist/src/lib/transactionBuilderFactory.js +56 -6
  51. package/dist/src/lib/transferAcceptanceBuilder.d.ts +59 -0
  52. package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/transferAcceptanceBuilder.js +116 -0
  54. package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
  55. package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
  56. package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
  57. package/dist/src/lib/transferBuilder.d.ts +5 -1
  58. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  59. package/dist/src/lib/transferBuilder.js +8 -1
  60. package/dist/src/lib/transferRejectionBuilder.d.ts +59 -0
  61. package/dist/src/lib/transferRejectionBuilder.d.ts.map +1 -0
  62. package/dist/src/lib/transferRejectionBuilder.js +116 -0
  63. package/dist/src/lib/utils.d.ts +101 -0
  64. package/dist/src/lib/utils.d.ts.map +1 -1
  65. package/dist/src/lib/utils.js +258 -3
  66. package/dist/src/lib/walletInitBuilder.d.ts +101 -0
  67. package/dist/src/lib/walletInitBuilder.d.ts.map +1 -0
  68. package/dist/src/lib/walletInitBuilder.js +232 -0
  69. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +16 -0
  70. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -0
  71. package/dist/src/lib/walletInitialization/walletInitTransaction.js +87 -0
  72. package/dist/test/resources.d.ts +76 -0
  73. package/dist/test/resources.d.ts.map +1 -0
  74. package/dist/test/resources.js +91 -0
  75. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts +2 -0
  76. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts.map +1 -0
  77. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +66 -0
  78. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
  79. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
  80. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +56 -0
  81. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
  82. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
  83. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
  84. package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts +2 -0
  85. package/dist/test/unit/builder/transferReject/transferRejectBuilder.d.ts.map +1 -0
  86. package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +56 -0
  87. package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts +2 -0
  88. package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts.map +1 -0
  89. package/dist/test/unit/builder/walletInit/walletInitBuilder.js +65 -0
  90. package/dist/test/unit/keyPair.d.ts +2 -0
  91. package/dist/test/unit/keyPair.d.ts.map +1 -0
  92. package/dist/test/unit/keyPair.js +72 -0
  93. package/dist/test/unit/utils.d.ts +2 -0
  94. package/dist/test/unit/utils.d.ts.map +1 -0
  95. package/dist/test/unit/utils.js +76 -0
  96. package/dist/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +29 -10
  98. package/dist/src/lib/transaction.d.ts +0 -8
  99. package/dist/src/lib/transaction.d.ts.map +0 -1
  100. package/dist/src/lib/transaction.js +0 -17
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OneStepPreApprovalBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const transactionBuilder_1 = require("./transactionBuilder");
9
+ const utils_1 = __importDefault(require("./utils"));
10
+ class OneStepPreApprovalBuilder extends transactionBuilder_1.TransactionBuilder {
11
+ constructor(_coinConfig) {
12
+ super(_coinConfig);
13
+ }
14
+ initBuilder(tx) {
15
+ super.initBuilder(tx);
16
+ this.setTransactionType();
17
+ }
18
+ get transactionType() {
19
+ return sdk_core_1.TransactionType.OneStepPreApproval;
20
+ }
21
+ setTransactionType() {
22
+ this.transaction.transactionType = sdk_core_1.TransactionType.OneStepPreApproval;
23
+ }
24
+ setTransaction(transaction) {
25
+ this.transaction.prepareCommand = transaction;
26
+ }
27
+ /** @inheritDoc */
28
+ addSignature(publicKey, signature) {
29
+ if (!this.transaction) {
30
+ throw new sdk_core_1.InvalidTransactionError('transaction is empty!');
31
+ }
32
+ this._signatures.push({ publicKey, signature });
33
+ const pubKeyBase64 = utils_1.default.getBase64FromHex(publicKey.pub);
34
+ this.transaction.signerFingerprint = utils_1.default.getAddressFromPublicKey(pubKeyBase64);
35
+ this.transaction.signatures = signature.toString('base64');
36
+ }
37
+ /**
38
+ * Sets the unique id for the 1-step enablement
39
+ * Also sets the _id of the transaction
40
+ *
41
+ * @param id - A uuid
42
+ * @returns The current builder instance for chaining.
43
+ * @throws Error if id is empty.
44
+ */
45
+ commandId(id) {
46
+ if (!id.trim()) {
47
+ throw new Error('commandId must be a non-empty string');
48
+ }
49
+ this._commandId = id.trim();
50
+ // also set the transaction _id
51
+ this.transaction.id = id.trim();
52
+ return this;
53
+ }
54
+ /**
55
+ * Sets the receiver for the 1-step enablement
56
+ *
57
+ * @param id - the receiver party id (address)
58
+ * @returns The current builder instance for chaining.
59
+ * @throws Error if id is empty.
60
+ */
61
+ receiverPartyId(id) {
62
+ if (!id.trim()) {
63
+ throw new Error('receiverPartyId must be a non-empty string');
64
+ }
65
+ this._receiverPartyId = id.trim();
66
+ return this;
67
+ }
68
+ /**
69
+ * Builds and returns the CantonOneStepEnablementRequest object from the builder's internal state.
70
+ *
71
+ * This method performs validation before constructing the object. If required fields are
72
+ * missing or invalid, it throws an error.
73
+ *
74
+ * @returns {CantonOneStepEnablementRequest} - A fully constructed and validated request object for 1-step enablement.
75
+ * @throws {Error} If any required field is missing or fails validation.
76
+ */
77
+ toRequestObject() {
78
+ this.validate();
79
+ return {
80
+ commandId: this._commandId,
81
+ receiverId: this._receiverPartyId,
82
+ verboseHashing: false,
83
+ actAs: [this._receiverPartyId],
84
+ readAs: [],
85
+ };
86
+ }
87
+ /**
88
+ * Validates the internal state of the builder before building the request object.
89
+ *
90
+ * @private
91
+ * @throws {Error} If any required field is missing or invalid.
92
+ */
93
+ validate() {
94
+ if (!this._commandId)
95
+ throw new Error('commandId is missing');
96
+ if (!this._receiverPartyId)
97
+ throw new Error('receiver partyId is missing');
98
+ }
99
+ }
100
+ exports.OneStepPreApprovalBuilder = OneStepPreApprovalBuilder;
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lU3RlcFByZUFwcHJvdmFsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvb25lU3RlcFByZUFwcHJvdmFsQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMkY7QUFHM0YsNkRBQTBEO0FBRTFELG9EQUE0QjtBQUU1QixNQUFhLHlCQUEwQixTQUFRLHVDQUFrQjtJQUcvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sMEJBQWUsQ0FBQyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsa0JBQWtCLENBQUM7SUFDeEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUF5QztRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUM7SUFDaEQsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixZQUFZLENBQUMsU0FBb0IsRUFBRSxTQUFpQjtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsR0FBRyxlQUFLLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FBQyxFQUFVO1FBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlLENBQUMsRUFBVTtRQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDakMsY0FBYyxFQUFFLEtBQUs7WUFDckIsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQzlCLE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLFFBQVE7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGO0FBbkdELDhEQW1HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBQdWJsaWNLZXksIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UsIENhbnRvbk9uZVN0ZXBFbmFibGVtZW50UmVxdWVzdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIE9uZVN0ZXBQcmVBcHByb3ZhbEJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9jb21tYW5kSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVjZWl2ZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuT25lU3RlcFByZUFwcHJvdmFsO1xuICB9XG5cbiAgc2V0VHJhbnNhY3Rpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25UeXBlID0gVHJhbnNhY3Rpb25UeXBlLk9uZVN0ZXBQcmVBcHByb3ZhbDtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZCA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb24gaXMgZW1wdHkhJyk7XG4gICAgfVxuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaCh7IHB1YmxpY0tleSwgc2lnbmF0dXJlIH0pO1xuICAgIGNvbnN0IHB1YktleUJhc2U2NCA9IHV0aWxzLmdldEJhc2U2NEZyb21IZXgocHVibGljS2V5LnB1Yik7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zaWduZXJGaW5nZXJwcmludCA9IHV0aWxzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YktleUJhc2U2NCk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmVzID0gc2lnbmF0dXJlLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1bmlxdWUgaWQgZm9yIHRoZSAxLXN0ZXAgZW5hYmxlbWVudFxuICAgKiBBbHNvIHNldHMgdGhlIF9pZCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gQSB1dWlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29tbWFuZElkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29tbWFuZElkID0gaWQudHJpbSgpO1xuICAgIC8vIGFsc28gc2V0IHRoZSB0cmFuc2FjdGlvbiBfaWRcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmlkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIGZvciB0aGUgMS1zdGVwIGVuYWJsZW1lbnRcbiAgICpcbiAgICogQHBhcmFtIGlkIC0gdGhlIHJlY2VpdmVyIHBhcnR5IGlkIChhZGRyZXNzKVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIHJlY2VpdmVyUGFydHlJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXJQYXJ0eUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX3JlY2VpdmVyUGFydHlJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIENhbnRvbk9uZVN0ZXBFbmFibGVtZW50UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge0NhbnRvbk9uZVN0ZXBFbmFibGVtZW50UmVxdWVzdH0gLSBBIGZ1bGx5IGNvbnN0cnVjdGVkIGFuZCB2YWxpZGF0ZWQgcmVxdWVzdCBvYmplY3QgZm9yIDEtc3RlcCBlbmFibGVtZW50LlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBDYW50b25PbmVTdGVwRW5hYmxlbWVudFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kSWQ6IHRoaXMuX2NvbW1hbmRJZCxcbiAgICAgIHJlY2VpdmVySWQ6IHRoaXMuX3JlY2VpdmVyUGFydHlJZCxcbiAgICAgIHZlcmJvc2VIYXNoaW5nOiBmYWxzZSxcbiAgICAgIGFjdEFzOiBbdGhpcy5fcmVjZWl2ZXJQYXJ0eUlkXSxcbiAgICAgIHJlYWRBczogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBidWlsZGVyIGJlZm9yZSBidWlsZGluZyB0aGUgcmVxdWVzdCBvYmplY3QuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBpbnZhbGlkLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbW1hbmRJZCkgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgaXMgbWlzc2luZycpO1xuICAgIGlmICghdGhpcy5fcmVjZWl2ZXJQYXJ0eUlkKSB0aHJvdyBuZXcgRXJyb3IoJ3JlY2VpdmVyIHBhcnR5SWQgaXMgbWlzc2luZycpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,214 @@
1
+ export interface Metadata {
2
+ submitterInfo?: Metadata_SubmitterInfo;
3
+ synchronizerId: string;
4
+ mediatorGroup: number;
5
+ transactionUuid: string;
6
+ preparationTime: bigint;
7
+ inputContracts: Metadata_InputContract[];
8
+ minLedgerEffectiveTime?: bigint;
9
+ maxLedgerEffectiveTime?: bigint;
10
+ globalKeyMapping: Metadata_GlobalKeyMappingEntry[];
11
+ maxRecordTime?: bigint;
12
+ }
13
+ interface Metadata_SubmitterInfo {
14
+ actAs: string[];
15
+ commandId: string;
16
+ }
17
+ interface Metadata_InputContract {
18
+ contract: {
19
+ oneofKind: 'v1';
20
+ v1: Create;
21
+ } | {
22
+ oneofKind: undefined;
23
+ };
24
+ createdAt: bigint;
25
+ eventBlob: Uint8Array;
26
+ }
27
+ interface Create {
28
+ lfVersion: string;
29
+ contractId: string;
30
+ packageName: string;
31
+ templateId?: Identifier;
32
+ argument?: Value;
33
+ signatories: string[];
34
+ stakeholders: string[];
35
+ }
36
+ interface Metadata_GlobalKeyMappingEntry {
37
+ key?: GlobalKey;
38
+ value?: Value;
39
+ }
40
+ interface GlobalKey {
41
+ templateId?: Identifier;
42
+ packageName: string;
43
+ key?: Value;
44
+ hash: Uint8Array;
45
+ }
46
+ interface Identifier {
47
+ packageId: string;
48
+ moduleName: string;
49
+ entityName: string;
50
+ }
51
+ interface Value {
52
+ sum: {
53
+ oneofKind: 'unit';
54
+ unit: Empty;
55
+ } | {
56
+ oneofKind: 'bool';
57
+ bool: boolean;
58
+ } | {
59
+ oneofKind: 'int64';
60
+ int64: string;
61
+ } | {
62
+ oneofKind: 'date';
63
+ date: number;
64
+ } | {
65
+ oneofKind: 'timestamp';
66
+ timestamp: string;
67
+ } | {
68
+ oneofKind: 'numeric';
69
+ numeric: string;
70
+ } | {
71
+ oneofKind: 'party';
72
+ party: string;
73
+ } | {
74
+ oneofKind: 'text';
75
+ text: string;
76
+ } | {
77
+ oneofKind: 'contractId';
78
+ contractId: string;
79
+ } | {
80
+ oneofKind: 'optional';
81
+ optional: Optional;
82
+ } | {
83
+ oneofKind: 'list';
84
+ list: List;
85
+ } | {
86
+ oneofKind: 'textMap';
87
+ textMap: TextMap;
88
+ } | {
89
+ oneofKind: 'genMap';
90
+ genMap: GenMap;
91
+ } | {
92
+ oneofKind: 'record';
93
+ record: Record;
94
+ } | {
95
+ oneofKind: 'variant';
96
+ variant: Variant;
97
+ } | {
98
+ oneofKind: 'enum';
99
+ enum: Enum;
100
+ } | {
101
+ oneofKind: undefined;
102
+ };
103
+ }
104
+ interface Empty {
105
+ }
106
+ interface Optional {
107
+ value?: Value;
108
+ }
109
+ interface List {
110
+ elements: Value[];
111
+ }
112
+ interface TextMap {
113
+ entries: TextMap_Entry[];
114
+ }
115
+ interface TextMap_Entry {
116
+ key: string;
117
+ value?: Value;
118
+ }
119
+ interface GenMap {
120
+ entries: GenMap_Entry[];
121
+ }
122
+ interface GenMap_Entry {
123
+ key?: Value;
124
+ value?: Value;
125
+ }
126
+ interface Record {
127
+ recordId?: Identifier;
128
+ fields: RecordField[];
129
+ }
130
+ export interface RecordField {
131
+ label: string;
132
+ value?: Value;
133
+ }
134
+ interface Variant {
135
+ variantId?: Identifier;
136
+ constructor: string;
137
+ value?: Value;
138
+ }
139
+ interface Enum {
140
+ enumId?: Identifier;
141
+ constructor: string;
142
+ }
143
+ export interface DamlTransaction {
144
+ version: string;
145
+ roots: string[];
146
+ nodes: DamlTransaction_Node[];
147
+ nodeSeeds: DamlTransaction_NodeSeed[];
148
+ }
149
+ interface DamlTransaction_Node {
150
+ nodeId: string;
151
+ /**
152
+ * Versioned node
153
+ *
154
+ * @generated from protobuf oneof: versioned_node
155
+ */
156
+ versionedNode: {
157
+ oneofKind: 'v1';
158
+ v1: Node;
159
+ } | {
160
+ oneofKind: undefined;
161
+ };
162
+ }
163
+ interface Node {
164
+ nodeType: {
165
+ oneofKind: 'create';
166
+ create: Create;
167
+ } | {
168
+ oneofKind: 'fetch';
169
+ fetch: Fetch;
170
+ } | {
171
+ oneofKind: 'exercise';
172
+ exercise: Exercise;
173
+ } | {
174
+ oneofKind: 'rollback';
175
+ rollback: Rollback;
176
+ } | {
177
+ oneofKind: undefined;
178
+ };
179
+ }
180
+ interface Fetch {
181
+ lfVersion: string;
182
+ contractId: string;
183
+ packageName: string;
184
+ templateId?: Identifier;
185
+ signatories: string[];
186
+ stakeholders: string[];
187
+ actingParties: string[];
188
+ interfaceId?: Identifier;
189
+ }
190
+ interface Exercise {
191
+ lfVersion: string;
192
+ contractId: string;
193
+ packageName: string;
194
+ templateId?: Identifier;
195
+ signatories: string[];
196
+ stakeholders: string[];
197
+ actingParties: string[];
198
+ interfaceId?: Identifier;
199
+ choiceId: string;
200
+ chosenValue?: Value;
201
+ consuming: boolean;
202
+ children: string[];
203
+ exerciseResult?: Value;
204
+ choiceObservers: string[];
205
+ }
206
+ interface Rollback {
207
+ children: string[];
208
+ }
209
+ interface DamlTransaction_NodeSeed {
210
+ nodeId: number;
211
+ seed: Uint8Array;
212
+ }
213
+ export {};
214
+ //# sourceMappingURL=resourcesInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourcesInterface.d.ts","sourceRoot":"","sources":["../../../src/lib/resourcesInterface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZXNvdXJjZXNJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGEge1xuICBzdWJtaXR0ZXJJbmZvPzogTWV0YWRhdGFfU3VibWl0dGVySW5mbztcbiAgc3luY2hyb25pemVySWQ6IHN0cmluZztcbiAgbWVkaWF0b3JHcm91cDogbnVtYmVyO1xuICB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcbiAgcHJlcGFyYXRpb25UaW1lOiBiaWdpbnQ7XG4gIGlucHV0Q29udHJhY3RzOiBNZXRhZGF0YV9JbnB1dENvbnRyYWN0W107XG4gIG1pbkxlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIG1heExlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIGdsb2JhbEtleU1hcHBpbmc6IE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeVtdO1xuICBtYXhSZWNvcmRUaW1lPzogYmlnaW50O1xufVxuXG5pbnRlcmZhY2UgTWV0YWRhdGFfU3VibWl0dGVySW5mbyB7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXRhZGF0YV9JbnB1dENvbnRyYWN0IHtcbiAgY29udHJhY3Q6XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3YxJztcbiAgICAgICAgdjE6IENyZWF0ZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiB1bmRlZmluZWQ7XG4gICAgICB9O1xuICBjcmVhdGVkQXQ6IGJpZ2ludDtcbiAgZXZlbnRCbG9iOiBVaW50OEFycmF5O1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlIHtcbiAgbGZWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgdGVtcGxhdGVJZD86IElkZW50aWZpZXI7XG4gIGFyZ3VtZW50PzogVmFsdWU7XG4gIHNpZ25hdG9yaWVzOiBzdHJpbmdbXTtcbiAgc3Rha2Vob2xkZXJzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeSB7XG4gIGtleT86IEdsb2JhbEtleTtcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIEdsb2JhbEtleSB7XG4gIHRlbXBsYXRlSWQ/OiBJZGVudGlmaWVyO1xuICBwYWNrYWdlTmFtZTogc3RyaW5nO1xuICBrZXk/OiBWYWx1ZTtcbiAgaGFzaDogVWludDhBcnJheTtcbn1cblxuaW50ZXJmYWNlIElkZW50aWZpZXIge1xuICBwYWNrYWdlSWQ6IHN0cmluZztcbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBWYWx1ZSB7XG4gIHN1bTpcbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAndW5pdCc7XG4gICAgICAgIHVuaXQ6IEVtcHR5O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdib29sJztcbiAgICAgICAgYm9vbDogYm9vbGVhbjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnaW50NjQnO1xuICAgICAgICBpbnQ2NDogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdkYXRlJztcbiAgICAgICAgZGF0ZTogbnVtYmVyO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICd0aW1lc3RhbXAnO1xuICAgICAgICB0aW1lc3RhbXA6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnbnVtZXJpYyc7XG4gICAgICAgIG51bWVyaWM6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAncGFydHknO1xuICAgICAgICBwYXJ0eTogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICd0ZXh0JztcbiAgICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdjb250cmFjdElkJztcbiAgICAgICAgY29udHJhY3RJZDogc3RyaW5nO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdvcHRpb25hbCc7XG4gICAgICAgIG9wdGlvbmFsOiBPcHRpb25hbDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnbGlzdCc7XG4gICAgICAgIGxpc3Q6IExpc3Q7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3RleHRNYXAnO1xuICAgICAgICB0ZXh0TWFwOiBUZXh0TWFwO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdnZW5NYXAnO1xuICAgICAgICBnZW5NYXA6IEdlbk1hcDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAncmVjb3JkJztcbiAgICAgICAgcmVjb3JkOiBSZWNvcmQ7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3ZhcmlhbnQnO1xuICAgICAgICB2YXJpYW50OiBWYXJpYW50O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdlbnVtJztcbiAgICAgICAgZW51bTogRW51bTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiB1bmRlZmluZWQ7XG4gICAgICB9O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuaW50ZXJmYWNlIEVtcHR5IHt9XG5cbmludGVyZmFjZSBPcHRpb25hbCB7XG4gIHZhbHVlPzogVmFsdWU7XG59XG5cbmludGVyZmFjZSBMaXN0IHtcbiAgZWxlbWVudHM6IFZhbHVlW107XG59XG5cbmludGVyZmFjZSBUZXh0TWFwIHtcbiAgZW50cmllczogVGV4dE1hcF9FbnRyeVtdO1xufVxuXG5pbnRlcmZhY2UgVGV4dE1hcF9FbnRyeSB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZT86IFZhbHVlO1xufVxuXG5pbnRlcmZhY2UgR2VuTWFwIHtcbiAgZW50cmllczogR2VuTWFwX0VudHJ5W107XG59XG5cbmludGVyZmFjZSBHZW5NYXBfRW50cnkge1xuICBrZXk/OiBWYWx1ZTtcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIFJlY29yZCB7XG4gIHJlY29yZElkPzogSWRlbnRpZmllcjtcbiAgZmllbGRzOiBSZWNvcmRGaWVsZFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZEZpZWxkIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIFZhcmlhbnQge1xuICB2YXJpYW50SWQ/OiBJZGVudGlmaWVyO1xuICBjb25zdHJ1Y3Rvcjogc3RyaW5nO1xuICB2YWx1ZT86IFZhbHVlO1xufVxuXG5pbnRlcmZhY2UgRW51bSB7XG4gIGVudW1JZD86IElkZW50aWZpZXI7XG4gIGNvbnN0cnVjdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFtbFRyYW5zYWN0aW9uIHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICByb290czogc3RyaW5nW107XG4gIG5vZGVzOiBEYW1sVHJhbnNhY3Rpb25fTm9kZVtdO1xuICBub2RlU2VlZHM6IERhbWxUcmFuc2FjdGlvbl9Ob2RlU2VlZFtdO1xufVxuXG5pbnRlcmZhY2UgRGFtbFRyYW5zYWN0aW9uX05vZGUge1xuICBub2RlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb25lZCBub2RlXG4gICAqXG4gICAqIEBnZW5lcmF0ZWQgZnJvbSBwcm90b2J1ZiBvbmVvZjogdmVyc2lvbmVkX25vZGVcbiAgICovXG4gIHZlcnNpb25lZE5vZGU6XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3YxJztcbiAgICAgICAgdjE6IE5vZGU7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogdW5kZWZpbmVkO1xuICAgICAgfTtcbn1cblxuaW50ZXJmYWNlIE5vZGUge1xuICBub2RlVHlwZTpcbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnY3JlYXRlJztcbiAgICAgICAgY3JlYXRlOiBDcmVhdGU7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ2ZldGNoJztcbiAgICAgICAgZmV0Y2g6IEZldGNoO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdleGVyY2lzZSc7XG4gICAgICAgIGV4ZXJjaXNlOiBFeGVyY2lzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAncm9sbGJhY2snO1xuICAgICAgICByb2xsYmFjazogUm9sbGJhY2s7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogdW5kZWZpbmVkO1xuICAgICAgfTtcbn1cblxuaW50ZXJmYWNlIEZldGNoIHtcbiAgbGZWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgdGVtcGxhdGVJZD86IElkZW50aWZpZXI7XG4gIHNpZ25hdG9yaWVzOiBzdHJpbmdbXTtcbiAgc3Rha2Vob2xkZXJzOiBzdHJpbmdbXTtcbiAgYWN0aW5nUGFydGllczogc3RyaW5nW107XG4gIGludGVyZmFjZUlkPzogSWRlbnRpZmllcjtcbn1cblxuaW50ZXJmYWNlIEV4ZXJjaXNlIHtcbiAgbGZWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgdGVtcGxhdGVJZD86IElkZW50aWZpZXI7XG4gIHNpZ25hdG9yaWVzOiBzdHJpbmdbXTtcbiAgc3Rha2Vob2xkZXJzOiBzdHJpbmdbXTtcbiAgYWN0aW5nUGFydGllczogc3RyaW5nW107XG4gIGludGVyZmFjZUlkPzogSWRlbnRpZmllcjtcbiAgY2hvaWNlSWQ6IHN0cmluZztcbiAgY2hvc2VuVmFsdWU/OiBWYWx1ZTtcbiAgY29uc3VtaW5nOiBib29sZWFuO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG4gIGV4ZXJjaXNlUmVzdWx0PzogVmFsdWU7XG4gIGNob2ljZU9ic2VydmVyczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBSb2xsYmFjayB7XG4gIGNoaWxkcmVuOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIERhbWxUcmFuc2FjdGlvbl9Ob2RlU2VlZCB7XG4gIG5vZGVJZDogbnVtYmVyO1xuICBzZWVkOiBVaW50OEFycmF5O1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { CantonPrepareCommandResponse, TransferAcknowledge, TxData } from '../iface';
4
+ export declare class Transaction extends BaseTransaction {
5
+ private _prepareCommand;
6
+ private _signerFingerprint;
7
+ private _acknowledgeData;
8
+ constructor(coinConfig: Readonly<CoinConfig>);
9
+ get prepareCommand(): CantonPrepareCommandResponse;
10
+ set prepareCommand(transaction: CantonPrepareCommandResponse);
11
+ set transactionType(transactionType: TransactionType);
12
+ set acknowledgeData(data: TransferAcknowledge);
13
+ get id(): string;
14
+ set id(id: string);
15
+ canSign(key: BaseKey): boolean;
16
+ set signatures(signature: string);
17
+ set signerFingerprint(fingerprint: string);
18
+ toBroadcastFormat(): string;
19
+ toJson(): TxData;
20
+ get signablePayload(): Buffer;
21
+ fromRawTransaction(rawTx: string): void;
22
+ }
23
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,4BAA4B,EAK5B,mBAAmB,EACnB,MAAM,EACP,MAAM,UAAU,CAAC;AAIlB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAsB;gBAElC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,cAAc,IAAI,4BAA4B,CAEjD;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,4BAA4B,EAE3D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAE5C;IAED,IAAI,EAAE,IAAI,MAAM,CAKf;IAED,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,IAAI,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAExC;IAED,iBAAiB,IAAI,MAAM;IA6D3B,MAAM,IAAI,MAAM;IA6BhB,IAAI,eAAe,IAAI,MAAM,CAQ5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAsBxC"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Transaction = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const utils_1 = __importDefault(require("../utils"));
9
+ const constant_1 = require("../constant");
10
+ class Transaction extends sdk_core_1.BaseTransaction {
11
+ constructor(coinConfig) {
12
+ super(coinConfig);
13
+ }
14
+ get prepareCommand() {
15
+ return this._prepareCommand;
16
+ }
17
+ set prepareCommand(transaction) {
18
+ this._prepareCommand = transaction;
19
+ }
20
+ set transactionType(transactionType) {
21
+ this._type = transactionType;
22
+ }
23
+ set acknowledgeData(data) {
24
+ this._acknowledgeData = data;
25
+ }
26
+ get id() {
27
+ if (!this._id) {
28
+ throw new sdk_core_1.InvalidTransactionError('transaction is is not set');
29
+ }
30
+ return this._id;
31
+ }
32
+ set id(id) {
33
+ this._id = id;
34
+ }
35
+ canSign(key) {
36
+ return false;
37
+ }
38
+ set signatures(signature) {
39
+ this._signatures.push(signature);
40
+ }
41
+ set signerFingerprint(fingerprint) {
42
+ this._signerFingerprint = fingerprint;
43
+ }
44
+ toBroadcastFormat() {
45
+ if (!this._type) {
46
+ throw new sdk_core_1.InvalidTransactionError('Transaction type is not set');
47
+ }
48
+ if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
49
+ if (!this._acknowledgeData) {
50
+ throw new sdk_core_1.InvalidTransactionError('AcknowledgeData is not set');
51
+ }
52
+ const minData = {
53
+ txType: sdk_core_1.TransactionType[this._type],
54
+ submissionId: this.id,
55
+ acknowledgeData: this._acknowledgeData,
56
+ };
57
+ return Buffer.from(JSON.stringify(minData)).toString('base64');
58
+ }
59
+ if (!this._prepareCommand) {
60
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
61
+ }
62
+ const partySignatures = [];
63
+ const data = {
64
+ prepareCommandResponse: this._prepareCommand,
65
+ txType: this._type ? sdk_core_1.TransactionType[this._type] : '',
66
+ preparedTransaction: '',
67
+ partySignatures: {
68
+ signatures: partySignatures,
69
+ },
70
+ deduplicationPeriod: {
71
+ Empty: {},
72
+ },
73
+ submissionId: this.id,
74
+ hashingSchemeVersion: constant_1.HASHING_SCHEME_VERSION,
75
+ minLedgerTime: {
76
+ time: {
77
+ Empty: {},
78
+ },
79
+ },
80
+ };
81
+ const signatures = [];
82
+ if (this._signatures.length > 0 && this._signerFingerprint) {
83
+ const signerPartyId = `${this._signerFingerprint.slice(0, 5)}::${this._signerFingerprint}`;
84
+ this.signature.map((signature) => {
85
+ const signatureObj = {
86
+ format: constant_1.SIGNATURE_FORMAT,
87
+ signature: signature,
88
+ signedBy: this._signerFingerprint,
89
+ signingAlgorithmSpec: constant_1.SIGNATURE_ALGORITHM_SPEC,
90
+ };
91
+ signatures.push(signatureObj);
92
+ });
93
+ const partySignature = {
94
+ party: signerPartyId,
95
+ signatures: signatures,
96
+ };
97
+ data.partySignatures?.signatures.push(partySignature);
98
+ data.preparedTransaction = this._prepareCommand.preparedTransaction
99
+ ? this._prepareCommand.preparedTransaction
100
+ : '';
101
+ }
102
+ return Buffer.from(JSON.stringify(data)).toString('base64');
103
+ }
104
+ toJson() {
105
+ const result = {
106
+ id: this.id,
107
+ type: this._type,
108
+ sender: '',
109
+ receiver: '',
110
+ };
111
+ if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
112
+ if (!this._acknowledgeData) {
113
+ throw new sdk_core_1.InvalidTransactionError('AcknowledgeData is not set');
114
+ }
115
+ result.acknowledgeData = this._acknowledgeData;
116
+ return result;
117
+ }
118
+ if (!this._prepareCommand || !this._prepareCommand.preparedTransaction) {
119
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
120
+ }
121
+ // TODO: extract other required data (utxo used, request time, execute before etc)
122
+ let parsedInfo;
123
+ try {
124
+ parsedInfo = utils_1.default.parseRawCantonTransactionData(this._prepareCommand.preparedTransaction);
125
+ }
126
+ catch (e) {
127
+ throw new sdk_core_1.InvalidTransactionError(`Failed to parse transaction hash: ${e instanceof Error ? e.message : e}`);
128
+ }
129
+ result.sender = parsedInfo.sender;
130
+ result.receiver = parsedInfo.receiver;
131
+ return result;
132
+ }
133
+ get signablePayload() {
134
+ if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
135
+ return Buffer.from(constant_1.DUMMY_HASH, 'base64');
136
+ }
137
+ if (!this._prepareCommand) {
138
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
139
+ }
140
+ return Buffer.from(this._prepareCommand.preparedTransactionHash, 'base64');
141
+ }
142
+ fromRawTransaction(rawTx) {
143
+ try {
144
+ const decoded = JSON.parse(Buffer.from(rawTx, 'base64').toString('utf8'));
145
+ this.id = decoded.submissionId;
146
+ this.transactionType = sdk_core_1.TransactionType[decoded.txType];
147
+ if (this.type !== sdk_core_1.TransactionType.TransferAcknowledge) {
148
+ if (decoded.prepareCommandResponse) {
149
+ this.prepareCommand = decoded.prepareCommandResponse;
150
+ }
151
+ if (decoded.partySignatures && decoded.partySignatures.signatures.length > 0) {
152
+ this.signerFingerprint = decoded.partySignatures.signatures[0].party.split('::')[1];
153
+ this.signatures = decoded.partySignatures.signatures[0].signatures[0].signature;
154
+ }
155
+ }
156
+ else {
157
+ if (decoded.acknowledgeData) {
158
+ this.acknowledgeData = decoded.acknowledgeData;
159
+ }
160
+ }
161
+ }
162
+ catch (e) {
163
+ throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
164
+ }
165
+ }
166
+ }
167
+ exports.Transaction = Transaction;
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUEwRztBQVcxRyxxREFBNkI7QUFDN0IsMENBQTZHO0FBRTdHLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSzlDLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxXQUF5QztRQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBZ0M7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksa0NBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxFQUFVO1FBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25D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QWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDbEYsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO2dCQUNqRCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFLRCxrQ0EwS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb24sIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLFxuICBNdWx0aUhhc2hTaWduYXR1cmUsXG4gIFBhcnR5U2lnbmF0dXJlLFxuICBQcmVwYXJlZFR4blBhcnNlZEluZm8sXG4gIFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSxcbiAgVHJhbnNmZXJBY2tub3dsZWRnZSxcbiAgVHhEYXRhLFxufSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRFVNTVlfSEFTSCwgSEFTSElOR19TQ0hFTUVfVkVSU0lPTiwgU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLCBTSUdOQVRVUkVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlQ29tbWFuZDogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZTtcbiAgcHJpdmF0ZSBfc2lnbmVyRmluZ2VycHJpbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWNrbm93bGVkZ2VEYXRhOiBUcmFuc2ZlckFja25vd2xlZGdlO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgcHJlcGFyZUNvbW1hbmQoKTogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVDb21tYW5kO1xuICB9XG5cbiAgc2V0IHByZXBhcmVDb21tYW5kKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKSB7XG4gICAgdGhpcy5fcHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgc2V0IGFja25vd2xlZGdlRGF0YShkYXRhOiBUcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgdGhpcy5fYWNrbm93bGVkZ2VEYXRhID0gZGF0YTtcbiAgfVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb24gaXMgaXMgbm90IHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gaWQ7XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldCBzaWduYXR1cmVzKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICBzZXQgc2lnbmVyRmluZ2VycHJpbnQoZmluZ2VycHJpbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25lckZpbmdlcnByaW50ID0gZmluZ2VycHJpbnQ7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fdHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIGlzIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICBpZiAoIXRoaXMuX2Fja25vd2xlZGdlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0Fja25vd2xlZGdlRGF0YSBpcyBub3Qgc2V0Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5EYXRhOiBUcmFuc2FjdGlvbkJyb2FkY2FzdERhdGEgPSB7XG4gICAgICAgIHR4VHlwZTogVHJhbnNhY3Rpb25UeXBlW3RoaXMuX3R5cGVdLFxuICAgICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICAgIGFja25vd2xlZGdlRGF0YTogdGhpcy5fYWNrbm93bGVkZ2VEYXRhLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShtaW5EYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHlTaWduYXR1cmVzOiBQYXJ0eVNpZ25hdHVyZVtdID0gW107XG4gICAgY29uc3QgZGF0YTogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0ge1xuICAgICAgcHJlcGFyZUNvbW1hbmRSZXNwb25zZTogdGhpcy5fcHJlcGFyZUNvbW1hbmQsXG4gICAgICB0eFR5cGU6IHRoaXMuX3R5cGUgPyBUcmFuc2FjdGlvblR5cGVbdGhpcy5fdHlwZV0gOiAnJyxcbiAgICAgIHByZXBhcmVkVHJhbnNhY3Rpb246ICcnLFxuICAgICAgcGFydHlTaWduYXR1cmVzOiB7XG4gICAgICAgIHNpZ25hdHVyZXM6IHBhcnR5U2lnbmF0dXJlcyxcbiAgICAgIH0sXG4gICAgICBkZWR1cGxpY2F0aW9uUGVyaW9kOiB7XG4gICAgICAgIEVtcHR5OiB7fSxcbiAgICAgIH0sXG4gICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICBoYXNoaW5nU2NoZW1lVmVyc2lvbjogSEFTSElOR19TQ0hFTUVfVkVSU0lPTixcbiAgICAgIG1pbkxlZGdlclRpbWU6IHtcbiAgICAgICAgdGltZToge1xuICAgICAgICAgIEVtcHR5OiB7fSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXSA9IFtdO1xuICAgIGlmICh0aGlzLl9zaWduYXR1cmVzLmxlbmd0aCA+IDAgJiYgdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQpIHtcbiAgICAgIGNvbnN0IHNpZ25lclBhcnR5SWQgPSBgJHt0aGlzLl9zaWduZXJGaW5nZXJwcmludC5zbGljZSgwLCA1KX06OiR7dGhpcy5fc2lnbmVyRmluZ2VycHJpbnR9YDtcbiAgICAgIHRoaXMuc2lnbmF0dXJlLm1hcCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZU9iajogTXVsdGlIYXNoU2lnbmF0dXJlID0ge1xuICAgICAgICAgIGZvcm1hdDogU0lHTkFUVVJFX0ZPUk1BVCxcbiAgICAgICAgICBzaWduYXR1cmU6IHNpZ25hdHVyZSxcbiAgICAgICAgICBzaWduZWRCeTogdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQsXG4gICAgICAgICAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQyxcbiAgICAgICAgfTtcbiAgICAgICAgc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZU9iaik7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhcnR5U2lnbmF0dXJlID0ge1xuICAgICAgICBwYXJ0eTogc2lnbmVyUGFydHlJZCxcbiAgICAgICAgc2lnbmF0dXJlczogc2lnbmF0dXJlcyxcbiAgICAgIH07XG4gICAgICBkYXRhLnBhcnR5U2lnbmF0dXJlcz8uc2lnbmF0dXJlcy5wdXNoKHBhcnR5U2lnbmF0dXJlKTtcbiAgICAgIGRhdGEucHJlcGFyZWRUcmFuc2FjdGlvbiA9IHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb25cbiAgICAgICAgPyB0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShkYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgY29uc3QgcmVzdWx0OiBUeERhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIHR5cGU6IHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlLFxuICAgICAgc2VuZGVyOiAnJyxcbiAgICAgIHJlY2VpdmVyOiAnJyxcbiAgICB9O1xuICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZSkge1xuICAgICAgaWYgKCF0aGlzLl9hY2tub3dsZWRnZURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBY2tub3dsZWRnZURhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmFja25vd2xlZGdlRGF0YSA9IHRoaXMuX2Fja25vd2xlZGdlRGF0YTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQgfHwgIXRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICAvLyBUT0RPOiBleHRyYWN0IG90aGVyIHJlcXVpcmVkIGRhdGEgKHV0eG8gdXNlZCwgcmVxdWVzdCB0aW1lLCBleGVjdXRlIGJlZm9yZSBldGMpXG4gICAgbGV0IHBhcnNlZEluZm86IFByZXBhcmVkVHhuUGFyc2VkSW5mbztcbiAgICB0cnkge1xuICAgICAgcGFyc2VkSW5mbyA9IHV0aWxzLnBhcnNlUmF3Q2FudG9uVHJhbnNhY3Rpb25EYXRhKHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGhhc2g6ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gKTtcbiAgICB9XG4gICAgcmVzdWx0LnNlbmRlciA9IHBhcnNlZEluZm8uc2VuZGVyO1xuICAgIHJlc3VsdC5yZWNlaXZlciA9IHBhcnNlZEluZm8ucmVjZWl2ZXI7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2UpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShEVU1NWV9IQVNILCAnYmFzZTY0Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZUNvbW1hbmQucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2gsICdiYXNlNjQnKTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUeDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQ6IFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmF3VHgsICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgIHRoaXMuaWQgPSBkZWNvZGVkLnN1Ym1pc3Npb25JZDtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25UeXBlID0gVHJhbnNhY3Rpb25UeXBlW2RlY29kZWQudHhUeXBlXTtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICAgIGlmIChkZWNvZGVkLnByZXBhcmVDb21tYW5kUmVzcG9uc2UpIHtcbiAgICAgICAgICB0aGlzLnByZXBhcmVDb21tYW5kID0gZGVjb2RlZC5wcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcyAmJiBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNpZ25lckZpbmdlcnByaW50ID0gZGVjb2RlZC5wYXJ0eVNpZ25hdHVyZXMuc2lnbmF0dXJlc1swXS5wYXJ0eS5zcGxpdCgnOjonKVsxXTtcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZXMgPSBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzWzBdLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZGVjb2RlZC5hY2tub3dsZWRnZURhdGEpIHtcbiAgICAgICAgICB0aGlzLmFja25vd2xlZGdlRGF0YSA9IGRlY29kZWQuYWNrbm93bGVkZ2VEYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdVbmFibGUgdG8gcGFyc2UgcmF3IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +1,23 @@
1
- import { BaseAddress, BaseKey, BaseTransactionBuilder, FeeOptions, PublicKey as BasePublicKey, TransactionType } from '@bitgo-beta/sdk-core';
1
+ import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import BigNumber from 'bignumber.js';
3
- import { Transaction } from './transaction';
3
+ import { CantonPrepareCommandResponse } from './iface';
4
+ import { Transaction } from './transaction/transaction';
4
5
  export declare abstract class TransactionBuilder extends BaseTransactionBuilder {
5
6
  protected _transaction: Transaction;
6
- private _signatures;
7
+ protected _signatures: Signature[];
8
+ initBuilder(tx: Transaction): void;
7
9
  /**
8
10
  * The transaction type.
9
11
  */
10
12
  protected abstract get transactionType(): TransactionType;
11
13
  /** @inheritdoc */
12
- protected get transaction(): Transaction;
14
+ get transaction(): Transaction;
13
15
  /** @inheritdoc */
14
- protected set transaction(transaction: Transaction);
16
+ abstract setTransaction(transaction: CantonPrepareCommandResponse): void;
15
17
  /** @inheritdoc */
16
18
  protected signImplementation(key: BaseKey): Transaction;
17
19
  /** @inheritDoc */
18
- addSignature(publicKey: BasePublicKey, signature: Buffer): void;
19
- /**
20
- * Sets the sender of this transaction.
21
- * This account will be responsible for paying transaction fees.
22
- *
23
- * @param {string} senderAddress the account that is sending this transaction
24
- * @returns {TransactionBuilder} This transaction builder
25
- */
26
- sender(senderAddress: string): this;
27
- fee(feeOptions: FeeOptions): this;
20
+ abstract addSignature(publicKey: BasePublicKey, signature: Buffer): void;
28
21
  /** @inheritdoc */
29
22
  protected fromImplementation(rawTransaction: string): Transaction;
30
23
  /** @inheritdoc */
@@ -34,9 +27,9 @@ export declare abstract class TransactionBuilder extends BaseTransactionBuilder
34
27
  /** @inheritdoc */
35
28
  validateKey(key: BaseKey): void;
36
29
  /** @inheritdoc */
37
- validateRawTransaction(rawTransaction: string): void;
30
+ validateRawTransaction(rawTransaction: string): Promise<void>;
38
31
  /** @inheritdoc */
39
- validateTransaction(transaction?: Transaction): void;
32
+ validateTransaction(transaction?: Transaction): Promise<void>;
40
33
  /** @inheritdoc */
41
34
  validateValue(value: BigNumber): void;
42
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,UAAU,EACV,SAAS,IAAI,aAAa,EAE1B,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,OAAO,CAAC,WAAW,CAAmB;IAGtC;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,WAAW,CAEvC;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,WAAW,EAEjD;IAED,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/D;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAInC,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIjC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/B,kBAAkB;IAClB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIpD,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI;IAIpD,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAKtC"}
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAC1B,SAAS,EACT,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,8BAAsB,kBAAmB,SAAQ,sBAAsB;IACrE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC;IACpC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAM;IAExC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,kBAAkB;IAClB,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAExE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAIvD,kBAAkB;IAClB,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAExE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAK3D,kBAAkB;IAClB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY/B,kBAAkB;IACZ,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE,kBAAkB;IACZ,mBAAmB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAKtC"}