@bitgo-beta/sdk-coin-canton 1.0.1-beta.63 → 1.0.1-beta.65

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 (43) hide show
  1. package/dist/src/lib/constant.d.ts +2 -0
  2. package/dist/src/lib/constant.d.ts.map +1 -1
  3. package/dist/src/lib/constant.js +4 -2
  4. package/dist/src/lib/iface.d.ts +29 -0
  5. package/dist/src/lib/iface.d.ts.map +1 -1
  6. package/dist/src/lib/iface.js +1 -1
  7. package/dist/src/lib/index.d.ts +1 -0
  8. package/dist/src/lib/index.d.ts.map +1 -1
  9. package/dist/src/lib/index.js +4 -2
  10. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +3 -1
  11. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
  12. package/dist/src/lib/oneStepPreApprovalBuilder.js +15 -1
  13. package/dist/src/lib/transaction/transaction.d.ts +3 -0
  14. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  15. package/dist/src/lib/transaction/transaction.js +79 -6
  16. package/dist/src/lib/transactionBuilder.d.ts +3 -3
  17. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  18. package/dist/src/lib/transactionBuilder.js +1 -5
  19. package/dist/src/lib/transactionBuilderFactory.d.ts +2 -1
  20. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  21. package/dist/src/lib/transactionBuilderFactory.js +8 -2
  22. package/dist/src/lib/transferAcceptanceBuilder.d.ts +3 -1
  23. package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/transferAcceptanceBuilder.js +15 -1
  25. package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
  26. package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
  28. package/dist/src/lib/transferBuilder.d.ts +3 -1
  29. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  30. package/dist/src/lib/transferBuilder.js +5 -1
  31. package/dist/src/lib/utils.d.ts +6 -0
  32. package/dist/src/lib/utils.d.ts.map +1 -1
  33. package/dist/src/lib/utils.js +57 -26
  34. package/dist/test/resources.d.ts +7 -0
  35. package/dist/test/resources.d.ts.map +1 -1
  36. package/dist/test/resources.js +9 -2
  37. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +6 -7
  38. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
  39. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
  40. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
  41. package/dist/test/unit/utils.js +15 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- import { TransactionType } from '@bitgo-beta/sdk-core';
1
+ import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { CantonPrepareCommandResponse, CantonTransferAcceptRequest } from './iface';
4
4
  import { TransactionBuilder } from './transactionBuilder';
@@ -12,6 +12,8 @@ export declare class TransferAcceptanceBuilder extends TransactionBuilder {
12
12
  get transactionType(): TransactionType;
13
13
  setTransactionType(): void;
14
14
  setTransaction(transaction: CantonPrepareCommandResponse): void;
15
+ /** @inheritDoc */
16
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
15
17
  /**
16
18
  * Sets the unique id for the transfer acceptance
17
19
  * Also sets the _id of the transaction
@@ -1 +1 @@
1
- {"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,2BAA2B;IAY9C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
1
+ {"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,2BAA2B;IAY9C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.TransferAcceptanceBuilder = void 0;
4
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
8
  const transactionBuilder_1 = require("./transactionBuilder");
9
+ const utils_1 = __importDefault(require("./utils"));
6
10
  class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder {
7
11
  constructor(_coinConfig) {
8
12
  super(_coinConfig);
@@ -20,6 +24,16 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
20
24
  setTransaction(transaction) {
21
25
  this.transaction.prepareCommand = transaction;
22
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
+ }
23
37
  /**
24
38
  * Sets the unique id for the transfer acceptance
25
39
  * Also sets the _id of the transaction
@@ -99,4 +113,4 @@ class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder
99
113
  }
100
114
  }
101
115
  exports.TransferAcceptanceBuilder = TransferAcceptanceBuilder;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBdUQ7QUFHdkQsNkRBQTBEO0FBRzFELE1BQWEseUJBQTBCLFNBQVEsdUNBQWtCO0lBSS9ELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTywwQkFBZSxDQUFDLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsY0FBYyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBeUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsRUFBVTtRQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQXhHRCw4REF3R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbnRyYWN0SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0QXNQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvblR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1bmlxdWUgaWQgZm9yIHRoZSB0cmFuc2ZlciBhY2NlcHRhbmNlXG4gICAqIEFsc28gc2V0cyB0aGUgX2lkIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBBIHV1aWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBjb21tYW5kSWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbW1hbmRJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb21tYW5kSWQgPSBpZC50cmltKCk7XG4gICAgLy8gYWxzbyBzZXQgdGhlIHRyYW5zYWN0aW9uIF9pZFxuICAgIHRoaXMudHJhbnNhY3Rpb24uaWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWNjZXB0YW5jZSBjb250cmFjdCBpZCB0aGUgcmVjZWl2ZXIgbmVlZHMgdG8gYWNjZXB0XG4gICAqIEBwYXJhbSBpZCAtIGNhbnRvbiBhY2NlcHRhbmNlIGNvbnRyYWN0IGlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29udHJhY3RJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdElkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIG9mIHRoZSBhY2NlcHRhbmNlXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIHRoZSByZWNlaXZlciBwYXJ0eSBpZCAoYWRkcmVzcylcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBhY3RBcyhpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYWN0QXNQYXJ0eUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX2FjdEFzUGFydHlJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIENhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge0NhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdH0gLSBBIGZ1bGx5IGNvbnN0cnVjdGVkIGFuZCB2YWxpZGF0ZWQgcmVxdWVzdCBvYmplY3QgZm9yIHRyYW5zZmVyIGFjY2VwdGFuY2UuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRJZDogdGhpcy5fY29tbWFuZElkLFxuICAgICAgY29udHJhY3RJZDogdGhpcy5fY29udHJhY3RJZCxcbiAgICAgIHZlcmJvc2VIYXNoaW5nOiBmYWxzZSxcbiAgICAgIGFjdEFzOiBbdGhpcy5fYWN0QXNQYXJ0eUlkXSxcbiAgICAgIHJlYWRBczogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBidWlsZGVyIGJlZm9yZSBidWlsZGluZyB0aGUgcmVxdWVzdCBvYmplY3QuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBpbnZhbGlkLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbW1hbmRJZCkgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgaXMgbWlzc2luZycpO1xuICAgIGlmICghdGhpcy5fY29udHJhY3RJZCkgdGhyb3cgbmV3IEVycm9yKCdjb250cmFjdElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2FjdEFzUGFydHlJZCkgdGhyb3cgbmV3IEVycm9yKCdyZWNlaXZlciBwYXJ0eUlkIGlzIG1pc3NpbmcnKTtcbiAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMkY7QUFHM0YsNkRBQTBEO0FBRTFELG9EQUE0QjtBQUU1QixNQUFhLHlCQUEwQixTQUFRLHVDQUFrQjtJQUkvRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQWU7UUFDekIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sMEJBQWUsQ0FBQyxjQUFjLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRywwQkFBZSxDQUFDLGNBQWMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsZUFBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsRUFBVTtRQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbnRyYWN0SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0QXNQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvblR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGVtcHR5IScpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goeyBwdWJsaWNLZXksIHNpZ25hdHVyZSB9KTtcbiAgICBjb25zdCBwdWJLZXlCYXNlNjQgPSB1dGlscy5nZXRCYXNlNjRGcm9tSGV4KHB1YmxpY0tleS5wdWIpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmVyRmluZ2VycHJpbnQgPSB1dGlscy5nZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXlCYXNlNjQpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24uc2lnbmF0dXJlcyA9IHNpZ25hdHVyZS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdW5pcXVlIGlkIGZvciB0aGUgdHJhbnNmZXIgYWNjZXB0YW5jZVxuICAgKiBBbHNvIHNldHMgdGhlIF9pZCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gQSB1dWlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29tbWFuZElkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29tbWFuZElkID0gaWQudHJpbSgpO1xuICAgIC8vIGFsc28gc2V0IHRoZSB0cmFuc2FjdGlvbiBfaWRcbiAgICB0aGlzLnRyYW5zYWN0aW9uLmlkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFjY2VwdGFuY2UgY29udHJhY3QgaWQgdGhlIHJlY2VpdmVyIG5lZWRzIHRvIGFjY2VwdFxuICAgKiBAcGFyYW0gaWQgLSBjYW50b24gYWNjZXB0YW5jZSBjb250cmFjdCBpZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIGNvbnRyYWN0SWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbnRyYWN0SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29udHJhY3RJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZWNlaXZlciBvZiB0aGUgYWNjZXB0YW5jZVxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSB0aGUgcmVjZWl2ZXIgcGFydHkgaWQgKGFkZHJlc3MpXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgYWN0QXMoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FjdEFzUGFydHlJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9hY3RBc1BhcnR5SWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGFuZCByZXR1cm5zIHRoZSBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3Qgb2JqZWN0IGZyb20gdGhlIGJ1aWxkZXIncyBpbnRlcm5hbCBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdmFsaWRhdGlvbiBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBvYmplY3QuIElmIHJlcXVpcmVkIGZpZWxkcyBhcmVcbiAgICogbWlzc2luZyBvciBpbnZhbGlkLCBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIHtDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3R9IC0gQSBmdWxseSBjb25zdHJ1Y3RlZCBhbmQgdmFsaWRhdGVkIHJlcXVlc3Qgb2JqZWN0IGZvciB0cmFuc2ZlciBhY2NlcHRhbmNlLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kSWQ6IHRoaXMuX2NvbW1hbmRJZCxcbiAgICAgIGNvbnRyYWN0SWQ6IHRoaXMuX2NvbnRyYWN0SWQsXG4gICAgICB2ZXJib3NlSGFzaGluZzogZmFsc2UsXG4gICAgICBhY3RBczogW3RoaXMuX2FjdEFzUGFydHlJZF0sXG4gICAgICByZWFkQXM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb21tYW5kSWQpIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2NvbnRyYWN0SWQpIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9hY3RBc1BhcnR5SWQpIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { CantonPrepareCommandResponse, TransferAcknowledge } from './iface';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ import { Transaction } from './transaction/transaction';
6
+ export declare class TransferAcknowledgeBuilder extends TransactionBuilder {
7
+ private _contractId;
8
+ private _senderPartyId;
9
+ private _amount;
10
+ private _updateId;
11
+ private _expiryEpoch;
12
+ constructor(_coinConfig: Readonly<CoinConfig>);
13
+ initBuilder(tx: Transaction): void;
14
+ get transactionType(): TransactionType;
15
+ setTransactionType(): void;
16
+ setTransaction(transaction: CantonPrepareCommandResponse): void;
17
+ /** @inheritDoc */
18
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
19
+ /**
20
+ * Sets the contract id the receiver needs to accept/reject
21
+ * @param id - canton contract id
22
+ * @returns The current builder instance for chaining.
23
+ * @throws Error if id is empty.
24
+ */
25
+ contractId(id: string): this;
26
+ /**
27
+ * Sets the sender party id
28
+ * @param id - sender party id (address)
29
+ * @returns The current builder instance for chaining.
30
+ * @throws Error if id is empty.
31
+ */
32
+ senderPartyId(id: string): this;
33
+ /**
34
+ * Sets the amount to accept or reject
35
+ * @param amount - incoming deposit amount
36
+ * @returns The current builder instance for chaining.
37
+ * @throws Error if amount <= 0
38
+ */
39
+ amount(amount: number): this;
40
+ /**
41
+ * Sets the incoming txn id (updateId of the ledger update)
42
+ * @param id - ledger update id
43
+ * @returns The current builder instance for chaining.
44
+ * @throws Error if id is empty.
45
+ */
46
+ updateId(id: string): this;
47
+ /**
48
+ * Sets the deposit txn expiry
49
+ * @param expiry - expiry epoch
50
+ * @returns The current builder instance for chaining.
51
+ * @throws Error if epoch is invalid
52
+ */
53
+ expiryEpoch(expiry: number): this;
54
+ /**
55
+ * Builds and returns the TransferAcknowledge object from the builder's internal state.
56
+ *
57
+ * This method performs validation before constructing the object. If required fields are
58
+ * missing or invalid, it throws an error.
59
+ *
60
+ * @returns {TransferAcknowledge} - A fully constructed and validated request object for transfer acknowledge.
61
+ * @throws {Error} If any required field is missing or fails validation.
62
+ */
63
+ toRequestObject(): TransferAcknowledge;
64
+ /**
65
+ * Validates the internal state of the builder before building the request object.
66
+ *
67
+ * @private
68
+ * @throws {Error} If any required field is missing or invalid.
69
+ */
70
+ private validate;
71
+ }
72
+ //# sourceMappingURL=transferAcknowledgeBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferAcknowledgeBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcknowledgeBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAS;gBACjB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ/B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU1B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;;;OAQG;IACH,eAAe,IAAI,mBAAmB;IAYtC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAOjB"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferAcknowledgeBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const transactionBuilder_1 = require("./transactionBuilder");
6
+ class TransferAcknowledgeBuilder extends transactionBuilder_1.TransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ }
10
+ initBuilder(tx) {
11
+ super.initBuilder(tx);
12
+ this.setTransactionType();
13
+ }
14
+ get transactionType() {
15
+ return sdk_core_1.TransactionType.TransferAcknowledge;
16
+ }
17
+ setTransactionType() {
18
+ this.transaction.transactionType = sdk_core_1.TransactionType.TransferAcknowledge;
19
+ }
20
+ setTransaction(transaction) {
21
+ throw new Error('Not implemented!');
22
+ }
23
+ /** @inheritDoc */
24
+ addSignature(publicKey, signature) {
25
+ throw new Error('Not implemented!');
26
+ }
27
+ /**
28
+ * Sets the contract id the receiver needs to accept/reject
29
+ * @param id - canton contract id
30
+ * @returns The current builder instance for chaining.
31
+ * @throws Error if id is empty.
32
+ */
33
+ contractId(id) {
34
+ if (!id || !id.trim()) {
35
+ throw new Error('contractId must be a non-empty string');
36
+ }
37
+ this._contractId = id.trim();
38
+ return this;
39
+ }
40
+ /**
41
+ * Sets the sender party id
42
+ * @param id - sender party id (address)
43
+ * @returns The current builder instance for chaining.
44
+ * @throws Error if id is empty.
45
+ */
46
+ senderPartyId(id) {
47
+ if (!id || !id.trim()) {
48
+ throw new Error('partyId must be a non-empty string');
49
+ }
50
+ this._senderPartyId = id.trim();
51
+ return this;
52
+ }
53
+ /**
54
+ * Sets the amount to accept or reject
55
+ * @param amount - incoming deposit amount
56
+ * @returns The current builder instance for chaining.
57
+ * @throws Error if amount <= 0
58
+ */
59
+ amount(amount) {
60
+ if (isNaN(amount) || amount <= 0) {
61
+ throw new Error('amount must be positive number');
62
+ }
63
+ this._amount = amount;
64
+ return this;
65
+ }
66
+ /**
67
+ * Sets the incoming txn id (updateId of the ledger update)
68
+ * @param id - ledger update id
69
+ * @returns The current builder instance for chaining.
70
+ * @throws Error if id is empty.
71
+ */
72
+ updateId(id) {
73
+ if (!id || !id.trim()) {
74
+ throw new Error('updateId must be a non-empty string');
75
+ }
76
+ this._updateId = id.trim();
77
+ // also set the transaction id
78
+ this.transaction.id = id.trim();
79
+ return this;
80
+ }
81
+ /**
82
+ * Sets the deposit txn expiry
83
+ * @param expiry - expiry epoch
84
+ * @returns The current builder instance for chaining.
85
+ * @throws Error if epoch is invalid
86
+ */
87
+ expiryEpoch(expiry) {
88
+ if (isNaN(expiry)) {
89
+ throw new Error('invalid expiry');
90
+ }
91
+ this._expiryEpoch = expiry;
92
+ return this;
93
+ }
94
+ /**
95
+ * Builds and returns the TransferAcknowledge object from the builder's internal state.
96
+ *
97
+ * This method performs validation before constructing the object. If required fields are
98
+ * missing or invalid, it throws an error.
99
+ *
100
+ * @returns {TransferAcknowledge} - A fully constructed and validated request object for transfer acknowledge.
101
+ * @throws {Error} If any required field is missing or fails validation.
102
+ */
103
+ toRequestObject() {
104
+ this.validate();
105
+ return {
106
+ contractId: this._contractId,
107
+ senderPartyId: this._senderPartyId,
108
+ updateId: this._updateId,
109
+ amount: this._amount,
110
+ expiryEpoch: this._expiryEpoch,
111
+ };
112
+ }
113
+ /**
114
+ * Validates the internal state of the builder before building the request object.
115
+ *
116
+ * @private
117
+ * @throws {Error} If any required field is missing or invalid.
118
+ */
119
+ validate() {
120
+ if (!this._contractId)
121
+ throw new Error('contractId is missing');
122
+ if (!this._updateId)
123
+ throw new Error('updateId is missing');
124
+ if (!this._senderPartyId)
125
+ throw new Error('sender partyId is missing');
126
+ if (!this._amount)
127
+ throw new Error('amount is missing');
128
+ if (!this._expiryEpoch)
129
+ throw new Error('expiry is missing');
130
+ }
131
+ }
132
+ exports.TransferAcknowledgeBuilder = TransferAcknowledgeBuilder;
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zZmVyQWNrbm93bGVkZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFrRTtBQUdsRSw2REFBMEQ7QUFHMUQsTUFBYSwwQkFBMkIsU0FBUSx1Q0FBa0I7SUFNaEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFlO1FBQ3pCLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLDBCQUFlLENBQUMsbUJBQW1CLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRywwQkFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ3pFLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBeUM7UUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWSxDQUFDLFNBQW9CLEVBQUUsU0FBaUI7UUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxFQUFVO1FBQ25CLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsTUFBYztRQUN4QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDNUIsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDcEIsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxRQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUExSUQsZ0VBMElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBUcmFuc2ZlckFja25vd2xlZGdlIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJBY2tub3dsZWRnZUJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9jb250cmFjdElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX3NlbmRlclBhcnR5SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgX3VwZGF0ZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2V4cGlyeUVwb2NoOiBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZTtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uVHlwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlO1xuICB9XG5cbiAgc2V0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCEnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQhJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29udHJhY3QgaWQgdGhlIHJlY2VpdmVyIG5lZWRzIHRvIGFjY2VwdC9yZWplY3RcbiAgICogQHBhcmFtIGlkIC0gY2FudG9uIGNvbnRyYWN0IGlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29udHJhY3RJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZCB8fCAhaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbnRyYWN0SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fY29udHJhY3RJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgcGFydHkgaWRcbiAgICogQHBhcmFtIGlkIC0gc2VuZGVyIHBhcnR5IGlkIChhZGRyZXNzKVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIHNlbmRlclBhcnR5SWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQgfHwgIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXJ0eUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX3NlbmRlclBhcnR5SWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IHRvIGFjY2VwdCBvciByZWplY3RcbiAgICogQHBhcmFtIGFtb3VudCAtIGluY29taW5nIGRlcG9zaXQgYW1vdW50XG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGFtb3VudCA8PSAwXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaXNOYU4oYW1vdW50KSB8fCBhbW91bnQgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgbXVzdCBiZSBwb3NpdGl2ZSBudW1iZXInKTtcbiAgICB9XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGluY29taW5nIHR4biBpZCAodXBkYXRlSWQgb2YgdGhlIGxlZGdlciB1cGRhdGUpXG4gICAqIEBwYXJhbSBpZCAtIGxlZGdlciB1cGRhdGUgaWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICB1cGRhdGVJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZCB8fCAhaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VwZGF0ZUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX3VwZGF0ZUlkID0gaWQudHJpbSgpO1xuICAgIC8vIGFsc28gc2V0IHRoZSB0cmFuc2FjdGlvbiBpZFxuICAgIHRoaXMudHJhbnNhY3Rpb24uaWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVwb3NpdCB0eG4gZXhwaXJ5XG4gICAqIEBwYXJhbSBleHBpcnkgLSBleHBpcnkgZXBvY2hcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZXBvY2ggaXMgaW52YWxpZFxuICAgKi9cbiAgZXhwaXJ5RXBvY2goZXhwaXJ5OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaXNOYU4oZXhwaXJ5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGV4cGlyeScpO1xuICAgIH1cbiAgICB0aGlzLl9leHBpcnlFcG9jaCA9IGV4cGlyeTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIFRyYW5zZmVyQWNrbm93bGVkZ2Ugb2JqZWN0IGZyb20gdGhlIGJ1aWxkZXIncyBpbnRlcm5hbCBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdmFsaWRhdGlvbiBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBvYmplY3QuIElmIHJlcXVpcmVkIGZpZWxkcyBhcmVcbiAgICogbWlzc2luZyBvciBpbnZhbGlkLCBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckFja25vd2xlZGdlfSAtIEEgZnVsbHkgY29uc3RydWN0ZWQgYW5kIHZhbGlkYXRlZCByZXF1ZXN0IG9iamVjdCBmb3IgdHJhbnNmZXIgYWNrbm93bGVkZ2UuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IFRyYW5zZmVyQWNrbm93bGVkZ2Uge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250cmFjdElkOiB0aGlzLl9jb250cmFjdElkLFxuICAgICAgc2VuZGVyUGFydHlJZDogdGhpcy5fc2VuZGVyUGFydHlJZCxcbiAgICAgIHVwZGF0ZUlkOiB0aGlzLl91cGRhdGVJZCxcbiAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgZXhwaXJ5RXBvY2g6IHRoaXMuX2V4cGlyeUVwb2NoLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb250cmFjdElkKSB0aHJvdyBuZXcgRXJyb3IoJ2NvbnRyYWN0SWQgaXMgbWlzc2luZycpO1xuICAgIGlmICghdGhpcy5fdXBkYXRlSWQpIHRocm93IG5ldyBFcnJvcigndXBkYXRlSWQgaXMgbWlzc2luZycpO1xuICAgIGlmICghdGhpcy5fc2VuZGVyUGFydHlJZCkgdGhyb3cgbmV3IEVycm9yKCdzZW5kZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9hbW91bnQpIHRocm93IG5ldyBFcnJvcignYW1vdW50IGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2V4cGlyeUVwb2NoKSB0aHJvdyBuZXcgRXJyb3IoJ2V4cGlyeSBpcyBtaXNzaW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { TransactionType } from '@bitgo-beta/sdk-core';
1
+ import { PublicKey, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { TransactionBuilder } from './transactionBuilder';
4
4
  import { CantonPrepareCommandResponse } from './iface';
@@ -6,5 +6,7 @@ export declare class TransferBuilder extends TransactionBuilder {
6
6
  constructor(_coinConfig: Readonly<CoinConfig>);
7
7
  protected get transactionType(): TransactionType;
8
8
  setTransaction(transaction: CantonPrepareCommandResponse): void;
9
+ /** @inheritDoc */
10
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
9
11
  }
10
12
  //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;CAGhE"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAG5D"}
@@ -13,6 +13,10 @@ class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
13
13
  setTransaction(transaction) {
14
14
  this.transaction.prepareCommand = transaction;
15
15
  }
16
+ /** @inheritDoc */
17
+ addSignature(publicKey, signature) {
18
+ throw new Error('Not implemented');
19
+ }
16
20
  }
17
21
  exports.TransferBuilder = TransferBuilder;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXVEO0FBRXZELDZEQUEwRDtBQUcxRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFaRCwwQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgc2V0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnByZXBhcmVDb21tYW5kID0gdHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQWtFO0FBRWxFLDZEQUEwRDtBQUcxRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFqQkQsMENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVibGljS2V5LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5wcmVwYXJlQ29tbWFuZCA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG59XG4iXX0=
@@ -19,6 +19,12 @@ export declare class Utils implements BaseUtils {
19
19
  * @returns {Boolean} true if valid
20
20
  */
21
21
  isValidCantonHex(value: string): boolean;
22
+ /**
23
+ * Helper method to convert hex value to base64
24
+ * @param {String} hexString - hex encoded string
25
+ * @returns {String} base64 encoded string
26
+ */
27
+ getBase64FromHex(hexString: string): string;
22
28
  /**
23
29
  * Method to create fingerprint (part of the canton partyId) from public key
24
30
  * @param {String} publicKey the public key
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;AAM1E,OAAO,EAA+C,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG7F,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMlD;;;;OAIG;IACH,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB;IAyDrE;;;;;OAKG;IACH,kCAAkC,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,MAAM;IAKpE,wCAAwC,CAAC,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kCAAkC;IAO1C;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAKjC;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAKpB;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;AAM1E,OAAO,EAA+C,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG7F,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3C;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMlD;;;;OAIG;IACH,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB;IAwErE;;;;;OAKG;IACH,kCAAkC,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,MAAM;IAKpE,wCAAwC,CAAC,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kCAAkC;IAO1C;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAKjC;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAKpB;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
@@ -48,6 +48,14 @@ class Utils {
48
48
  const regex = /^[a-fA-F0-9]{68}$/;
49
49
  return regex.test(value);
50
50
  }
51
+ /**
52
+ * Helper method to convert hex value to base64
53
+ * @param {String} hexString - hex encoded string
54
+ * @returns {String} base64 encoded string
55
+ */
56
+ getBase64FromHex(hexString) {
57
+ return Buffer.from(hexString, 'hex').toString('base64');
58
+ }
51
59
  /**
52
60
  * Method to create fingerprint (part of the canton partyId) from public key
53
61
  * @param {String} publicKey the public key
@@ -77,36 +85,59 @@ class Utils {
77
85
  if (nodeType.oneofKind !== 'create')
78
86
  return;
79
87
  const createNode = nodeType.create;
88
+ const getField = (fields, label) => fields.find((f) => f.label === label)?.value?.sum;
80
89
  // Check if it's the correct template
81
90
  const template = createNode.templateId;
82
- if (template?.entityName !== 'AmuletTransferInstruction')
83
- return;
84
- // Now parse the 'create' argument
85
- if (createNode.argument?.sum?.oneofKind !== 'record')
91
+ const argSum = createNode.argument?.sum;
92
+ if (!argSum || argSum.oneofKind !== 'record')
86
93
  return;
87
- const fields = createNode.argument?.sum?.record?.fields;
94
+ const fields = argSum.record?.fields;
88
95
  if (!fields)
89
96
  return;
90
- // Find the 'transfer' field
91
- const transferField = fields.find((f) => f.label === 'transfer');
92
- if (transferField?.value?.sum?.oneofKind !== 'record')
93
- return;
94
- const transferRecord = transferField?.value?.sum?.record?.fields;
95
- if (!transferRecord)
96
- return;
97
- const getField = (fields, label) => fields.find((f) => f.label === label)?.value?.sum;
98
- const senderData = getField(transferRecord, 'sender');
99
- if (!senderData || senderData.oneofKind !== 'party')
100
- return;
101
- sender = senderData.party;
102
- const receiverData = getField(transferRecord, 'receiver');
103
- if (!receiverData || receiverData.oneofKind !== 'party')
104
- return;
105
- receiver = receiverData.party;
106
- const amountData = getField(transferRecord, 'amount');
107
- if (!amountData || amountData.oneofKind !== 'numeric')
108
- return;
109
- amount = amountData.numeric;
97
+ if (template?.entityName === 'AmuletTransferInstruction') {
98
+ const transferField = fields.find((f) => f.label === 'transfer');
99
+ const transferSum = transferField?.value?.sum;
100
+ if (!transferSum || transferSum.oneofKind !== 'record')
101
+ return;
102
+ const transferRecord = transferSum.record?.fields;
103
+ if (!transferRecord)
104
+ return;
105
+ const senderData = getField(transferRecord, 'sender');
106
+ if (senderData?.oneofKind === 'party')
107
+ sender = senderData.party ?? '';
108
+ const receiverData = getField(transferRecord, 'receiver');
109
+ if (receiverData?.oneofKind === 'party')
110
+ receiver = receiverData.party ?? '';
111
+ const amountData = getField(transferRecord, 'amount');
112
+ if (amountData?.oneofKind === 'numeric')
113
+ amount = amountData.numeric ?? '';
114
+ }
115
+ else if (template?.entityName === 'Amulet') {
116
+ const dsoData = getField(fields, 'dso');
117
+ if (dsoData?.oneofKind === 'party')
118
+ sender = dsoData.party ?? '';
119
+ const ownerData = getField(fields, 'owner');
120
+ if (ownerData?.oneofKind === 'party')
121
+ receiver = ownerData.party ?? '';
122
+ const amountField = getField(fields, 'amount');
123
+ if (!amountField || amountField.oneofKind !== 'record')
124
+ return;
125
+ const amountRecord = amountField.record?.fields;
126
+ if (!amountRecord)
127
+ return;
128
+ const initialAmountData = getField(amountRecord, 'initialAmount');
129
+ if (initialAmountData?.oneofKind === 'numeric')
130
+ amount = initialAmountData.numeric ?? '';
131
+ }
132
+ else if (template?.entityName === 'TransferPreapprovalProposal') {
133
+ const receiverData = getField(fields, 'receiver');
134
+ if (receiverData?.oneofKind === 'party')
135
+ receiver = receiverData.party ?? '';
136
+ const providerData = getField(fields, 'provider');
137
+ if (providerData?.oneofKind === 'party')
138
+ sender = providerData.party ?? '';
139
+ amount = '0';
140
+ }
110
141
  });
111
142
  if (!sender || !receiver || !amount) {
112
143
  const missingFields = [];
@@ -254,4 +285,4 @@ class Utils {
254
285
  exports.Utils = Utils;
255
286
  const utils = new Utils();
256
287
  exports.default = utils;
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUU1QixtREFBMEU7QUFFMUUsMERBQTBFO0FBQzFFLHlGQUFtRjtBQUVuRix5Q0FBbUY7QUFJbkYsTUFBYSxLQUFLO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjLENBQUMsT0FBZTtRQUM1QixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDcEQsTUFBTSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGdCQUFnQixDQUFDLEdBQVc7UUFDMUIsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFF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LHNCQXFRQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBCYXNlVXRpbHMsIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBjb21wdXRlUHJlcGFyZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9oYXNoL2hhc2guanMnO1xuaW1wb3J0IHsgUHJlcGFyZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wcm90by9wcmVwYXJlZFRyYW5zYWN0aW9uLmpzJztcblxuaW1wb3J0IHsgQ3J5cHRvS2V5Rm9ybWF0LCBTaWduaW5nQWxnb3JpdGhtU3BlYywgU2lnbmluZ0tleVNwZWMgfSBmcm9tICcuL2NvbnN0YW50JztcbmltcG9ydCB7IFByZXBhcmVkVHJhbnNhY3Rpb24gYXMgSVByZXBhcmVkVHJhbnNhY3Rpb24sIFByZXBhcmVkVHhuUGFyc2VkSW5mbyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVjb3JkRmllbGQgfSBmcm9tICcuL3Jlc291cmNlc0ludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgYWRkcmVzcy50cmltKCkgPT09ICcnKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgW3BhcnR5SGludCwgZmluZ2VycHJpbnRdID0gYWRkcmVzcy50cmltKCkuc3BsaXQoJzo6Jyk7XG4gICAgaWYgKCFwYXJ0eUhpbnQgfHwgIWZpbmdlcnByaW50KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHBhcnR5SGludC5sZW5ndGggPT09IDUgJiYgdGhpcy5pc1ZhbGlkQ2FudG9uSGV4KGZpbmdlcnByaW50KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgaXMgYSB2YWxpZCBjYW50b24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgdGhlIGhleCBzdHJpbmcgdmFsdWVcbiAgICogQHJldHVybnMge0Jvb2xlYW59IHRydWUgaWYgdmFsaWRcbiAgICovXG4gIGlzVmFsaWRDYW50b25IZXgodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15bYS1mQS1GMC05XXs2OH0kLztcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGNyZWF0ZSBmaW5nZXJwcmludCAocGFydCBvZiB0aGUgY2FudG9uIHBhcnR5SWQpIGZyb20gcHVibGljIGtleVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcHVibGljS2V5IHRoZSBwdWJsaWMga2V5XG4gICAqIEByZXR1cm5zIHtTdHJpbmd9XG4gICAqL1xuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5zaWduaW5nUHVibGljS2V5RnJvbUVkMjU1MTkocHVibGljS2V5KTtcbiAgICBjb25zdCBoYXNoUHVycG9zZSA9IDEyO1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVTaGEyNTZDYW50b25IYXNoKGhhc2hQdXJwb3NlLCBrZXkucHVibGljS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gcGFyc2UgcmF3IGNhbnRvbiB0cmFuc2FjdGlvbiAmIGdldCByZXF1aXJlZCBkYXRhXG4gICAqIEBwYXJhbSB7U3RyaW5nfSByYXdEYXRhIGJhc2U2NCBlbmNvZGVkIHN0cmluZ1xuICAgKiBAcmV0dXJucyB7UHJlcGFyZWRUeG5QYXJzZWRJbmZvfVxuICAgKi9cbiAgcGFyc2VSYXdDYW50b25UcmFuc2FjdGlvbkRhdGEocmF3RGF0YTogc3RyaW5nKTogUHJlcGFyZWRUeG5QYXJzZWRJbmZvIHtcbiAgICBjb25zdCBkZWNvZGVkRGF0YSA9IHRoaXMuZGVjb2RlUHJlcGFyZWRUcmFuc2FjdGlvbihyYXdEYXRhKTtcbiAgICBsZXQgc2VuZGVyID0gJyc7XG4gICAgbGV0IHJlY2VpdmVyID0gJyc7XG4gICAgbGV0IGFtb3VudCA9ICcnO1xuICAgIGRlY29kZWREYXRhLnRyYW5zYWN0aW9uPy5ub2Rlcz8uZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbmVkTm9kZSA9IG5vZGUudmVyc2lvbmVkTm9kZTtcbiAgICAgIGlmICghdmVyc2lvbmVkTm9kZSB8fCB2ZXJzaW9uZWROb2RlLm9uZW9mS2luZCAhPT0gJ3YxJykgcmV0dXJuO1xuXG4gICAgICBjb25zdCB2MU5vZGUgPSB2ZXJzaW9uZWROb2RlLnYxO1xuICAgICAgY29uc3Qgbm9kZVR5cGUgPSB2MU5vZGUubm9kZVR5cGU7XG5cbiAgICAgIGlmIChub2RlVHlwZS5vbmVvZktpbmQgIT09ICdjcmVhdGUnKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGNyZWF0ZU5vZGUgPSBub2RlVHlwZS5jcmVhdGU7XG5cbiAgICAgIC8vIENoZWNrIGlmIGl0J3MgdGhlIGNvcnJlY3QgdGVtcGxhdGVcbiAgICAgIGNvbnN0IHRlbXBsYXRlID0gY3JlYXRlTm9kZS50ZW1wbGF0ZUlkO1xuICAgICAgaWYgKHRlbXBsYXRlPy5lbnRpdHlOYW1lICE9PSAnQW11bGV0VHJhbnNmZXJJbnN0cnVjdGlvbicpIHJldHVybjtcblxuICAgICAgLy8gTm93IHBhcnNlIHRoZSAnY3JlYXRlJyBhcmd1bWVudFxuICAgICAgaWYgKGNyZWF0ZU5vZGUuYXJndW1lbnQ/LnN1bT8ub25lb2ZLaW5kICE9PSAncmVjb3JkJykgcmV0dXJuO1xuICAgICAgY29uc3QgZmllbGRzID0gY3JlYXRlTm9kZS5hcmd1bWVudD8uc3VtPy5yZWNvcmQ/LmZpZWxkcztcbiAgICAgIGlmICghZmllbGRzKSByZXR1cm47XG5cbiAgICAgIC8vIEZpbmQgdGhlICd0cmFuc2ZlcicgZmllbGRcbiAgICAgIGNvbnN0IHRyYW5zZmVyRmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5sYWJlbCA9PT0gJ3RyYW5zZmVyJyk7XG4gICAgICBpZiAodHJhbnNmZXJGaWVsZD8udmFsdWU/LnN1bT8ub25lb2ZLaW5kICE9PSAncmVjb3JkJykgcmV0dXJuO1xuICAgICAgY29uc3QgdHJhbnNmZXJSZWNvcmQgPSB0cmFuc2ZlckZpZWxkPy52YWx1ZT8uc3VtPy5yZWNvcmQ/LmZpZWxkcztcbiAgICAgIGlmICghdHJhbnNmZXJSZWNvcmQpIHJldHVybjtcblxuICAgICAgY29uc3QgZ2V0RmllbGQgPSAoZmllbGRzOiBSZWNvcmRGaWVsZFtdLCBsYWJlbDogc3RyaW5nKSA9PiBmaWVsZHMuZmluZCgoZikgPT4gZi5sYWJlbCA9PT0gbGFiZWwpPy52YWx1ZT8uc3VtO1xuXG4gICAgICBjb25zdCBzZW5kZXJEYXRhID0gZ2V0RmllbGQodHJhbnNmZXJSZWNvcmQsICdzZW5kZXInKTtcbiAgICAgIGlmICghc2VuZGVyRGF0YSB8fCBzZW5kZXJEYXRhLm9uZW9mS2luZCAhPT0gJ3BhcnR5JykgcmV0dXJuO1xuICAgICAgc2VuZGVyID0gc2VuZGVyRGF0YS5wYXJ0eTtcbiAgICAgIGNvbnN0IHJlY2VpdmVyRGF0YSA9IGdldEZpZWxkKHRyYW5zZmVyUmVjb3JkLCAncmVjZWl2ZXInKTtcbiAgICAgIGlmICghcmVjZWl2ZXJEYXRhIHx8IHJlY2VpdmVyRGF0YS5vbmVvZktpbmQgIT09ICdwYXJ0eScpIHJldHVybjtcbiAgICAgIHJlY2VpdmVyID0gcmVjZWl2ZXJEYXRhLnBhcnR5O1xuICAgICAgY29uc3QgYW1vdW50RGF0YSA9IGdldEZpZWxkKHRyYW5zZmVyUmVjb3JkLCAnYW1vdW50Jyk7XG4gICAgICBpZiAoIWFtb3VudERhdGEgfHwgYW1vdW50RGF0YS5vbmVvZktpbmQgIT09ICdudW1lcmljJykgcmV0dXJuO1xuICAgICAgYW1vdW50ID0gYW1vdW50RGF0YS5udW1lcmljO1xuICAgIH0pO1xuICAgIGlmICghc2VuZGVyIHx8ICFyZWNlaXZlciB8fCAhYW1vdW50KSB7XG4gICAgICBjb25zdCBtaXNzaW5nRmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgaWYgKCFzZW5kZXIpIG1pc3NpbmdGaWVsZHMucHVzaCgnc2VuZGVyJyk7XG4gICAgICBpZiAoIXJlY2VpdmVyKSBtaXNzaW5nRmllbGRzLnB1c2goJ3JlY2VpdmVyJyk7XG4gICAgICBpZiAoIWFtb3VudCkgbWlzc2luZ0ZpZWxkcy5wdXNoKCdhbW91bnQnKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB0cmFuc2FjdGlvbiBkYXRhOiBtaXNzaW5nICR7bWlzc2luZ0ZpZWxkcy5qb2luKCcsICcpfWApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc2VuZGVyLFxuICAgICAgcmVjZWl2ZXIsXG4gICAgICBhbW91bnQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgdG9wb2xvZ3kgaGFzaCBmcm9tIHRoZSBBUEkgcmVzcG9uc2Ugb2YgdGhlICdjcmVhdGUgcGFydHknIGVuZHBvaW50LlxuICAgKlxuICAgKiBAcGFyYW0gdG9wb2xvZ3lUcmFuc2FjdGlvbnMgLSBMaXN0IG9mIGJhc2U2NC1lbmNvZGVkIHRvcG9sb2d5IHRyYW5zYWN0aW9ucyBmcm9tIHRoZSBDYW50b24gQVBJLlxuICAgKiBAcmV0dXJucyBUaGUgZmluYWwgYmFzZTY0LWVuY29kZWQgdG9wb2xvZ3kgdHJhbnNhY3Rpb24gaGFzaC5cbiAgICovXG4gIGNvbXB1dGVIYXNoRnJvbUNyZWF0ZVBhcnR5UmVzcG9uc2UodG9wb2xvZ3lUcmFuc2FjdGlvbnM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eEJ1ZmZlcnMgPSB0b3BvbG9neVRyYW5zYWN0aW9ucy5tYXAoKHR4KSA9PiBCdWZmZXIuZnJvbSh0eCwgJ2Jhc2U2NCcpKTtcbiAgICByZXR1cm4gdGhpcy5jb21wdXRlSGFzaEZyb21Ub3BvbG9neVRyYW5zYWN0aW9uKHR4QnVmZmVycyk7XG4gIH1cblxuICBhc3luYyBjb21wdXRlSGFzaEZyb21QcmVwYXJlU3VibWlzc2lvblJlc3BvbnNlKHByZXBhcmVkVHJhbnNhY3Rpb25CYXNlNjQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJlcGFyZWRUcmFuc2FjdGlvbiA9IHRoaXMuZGVjb2RlUHJlcGFyZWRUcmFuc2FjdGlvbihwcmVwYXJlZFRyYW5zYWN0aW9uQmFzZTY0KTtcbiAgICBjb25zdCBoYXNoID0gYXdhaXQgY29tcHV0ZVByZXBhcmVkVHJhbnNhY3Rpb24ocHJlcGFyZWRUcmFuc2FjdGlvbik7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGhhc2gpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgZmluYWwgdG9wb2xvZ3kgdHJhbnNhY3Rpb24gaGFzaCBmb3IgYSBsaXN0IG9mIHByZXBhcmVkIENhbnRvbiB0cmFuc2FjdGlvbnMuXG4gICAqXG4gICAqIEVhY2ggdHJhbnNhY3Rpb24gaXMgZmlyc3QgaGFzaGVkIHdpdGggcHVycG9zZSBgMTFgLCB0aGVuIGFsbCBoYXNoZXMgYXJlIGNvbWJpbmVkIGFuZFxuICAgKiBoYXNoZWQgYWdhaW4gd2l0aCBwdXJwb3NlIGA1NWAsIGZvbGxvd2luZyB0aGUgQ2FudG9uIHRvcG9sb2d5IGhhc2ggcnVsZXMuXG4gICAqXG4gICAqIFRoZSByZXN1bHRpbmcgaGFzaCBpcyBlbmNvZGVkIGFzIGEgYmFzZTY0IHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHtCdWZmZXJbXX0gcHJlcGFyZWRUcmFuc2FjdGlvbnMgLSBBbiBhcnJheSBvZiBDYW50b24gdHJhbnNhY3Rpb24gYnVmZmVycy5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGZpbmFsIHRvcG9sb2d5IGhhc2gsIGJhc2U2NC1lbmNvZGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlSGFzaEZyb21Ub3BvbG9neVRyYW5zYWN0aW9uKHByZXBhcmVkVHJhbnNhY3Rpb25zOiBCdWZmZXJbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgcmF3SGFzaGVzID0gcHJlcGFyZWRUcmFuc2FjdGlvbnMubWFwKCh0eCkgPT4gdGhpcy5jb21wdXRlU2hhMjU2Q2FudG9uSGFzaCgxMSwgdHgpKTtcbiAgICBjb25zdCBjb21iaW5lZEhhc2hlcyA9IHRoaXMuY29tcHV0ZU11bHRpSGFzaEZvclRvcG9sb2d5KHJhd0hhc2hlcyk7XG4gICAgY29uc3QgY29tcHV0ZWRIYXNoID0gdGhpcy5jb21wdXRlU2hhMjU2Q2FudG9uSGFzaCg1NSwgY29tYmluZWRIYXNoZXMpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShjb21wdXRlZEhhc2gsICdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBiYXNlNjQtZW5jb2RlZCBFZDI1NTE5IHB1YmxpYyBrZXkgc3RyaW5nIGludG8gYSBzdHJ1Y3R1cmVkIHNpZ25pbmcgcHVibGljIGtleSBvYmplY3QuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwdWJsaWNLZXkgVGhlIGJhc2U2NC1lbmNvZGVkIEVkMjU1MTkgcHVibGljIGtleVxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgc3RydWN0dXJlZCBzaWduaW5nIGtleSBvYmplY3QgZm9ybWF0dGVkIGZvciB1c2Ugd2l0aCBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbnNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2lnbmluZ1B1YmxpY0tleUZyb21FZDI1NTE5KHB1YmxpY0tleTogc3RyaW5nKToge1xuICAgIGZvcm1hdDogbnVtYmVyO1xuICAgIHB1YmxpY0tleTogQnVmZmVyO1xuICAgIHNjaGVtZTogbnVtYmVyO1xuICAgIGtleVNwZWM6IG51bWJlcjtcbiAgICB1c2FnZTogW107XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6IENyeXB0b0tleUZvcm1hdC5SQVcsXG4gICAgICBwdWJsaWNLZXk6IEJ1ZmZlci5mcm9tKHB1YmxpY0tleSwgJ2Jhc2U2NCcpLFxuICAgICAgc2NoZW1lOiBTaWduaW5nQWxnb3JpdGhtU3BlYy5FRDI1NTE5LFxuICAgICAga2V5U3BlYzogU2lnbmluZ0tleVNwZWMuRUNfQ1VSVkUyNTUxOSxcbiAgICAgIHVzYWdlOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBidWZmZXIgd2l0aCBhIDQtYnl0ZSBiaWctZW5kaWFuIGludGVnZXIgcHJlZml4IGZvbGxvd2VkIGJ5IHRoZSBwcm92aWRlZCBieXRlIGJ1ZmZlclxuICAgKiBAcGFyYW0ge051bWJlcn0gdmFsdWUgVGhlIGludGVnZXIgdG8gcHJlZml4LCB3cml0dGVuIGFzIDQgYnl0ZXMgaW4gYmlnLWVuZGlhbiBvcmRlclxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gYnl0ZXMgVGhlIGJ1ZmZlciB0byBhcHBlbmQgYWZ0ZXIgdGhlIGludGVnZXIgcHJlZml4XG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IFRoZSByZXN1bHRpbmcgYnVmZmVyIHdpdGggdGhlIHByZWZpeGVkIGludGVnZXJcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgcHJlZml4ZWRJbnQodmFsdWU6IG51bWJlciwgYnl0ZXM6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gICAgY29uc3QgYnVmZmVyID0gQnVmZmVyLmFsbG9jKDQgKyBieXRlcy5sZW5ndGgpO1xuICAgIGJ1ZmZlci53cml0ZVVJbnQzMkJFKHZhbHVlLCAwKTtcbiAgICBCdWZmZXIuZnJvbShieXRlcykuY29weShidWZmZXIsIDQpO1xuICAgIHJldHVybiBidWZmZXI7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYW4gU0hBLTI1NiBDYW50b24tc3R5bGUgaGFzaCBieSBwcmVmaXhpbmcgdGhlIGlucHV0IHdpdGggYSBwdXJwb3NlIGlkZW50aWZpZXIsXG4gICAqIHRoZW4gaGFzaGluZyB0aGUgcmVzdWx0aW5nIGJ1ZmZlciBhbmQgcHJlcGVuZGluZyBhIG11bHRpLXByZWZpeFxuICAgKlxuICAgKiBAcGFyYW0ge051bWJlcn0gcHVycG9zZSBBIG51bWVyaWMgaWRlbnRpZmllciB0byBwcmVmaXggdGhlIGhhc2ggaW5wdXQgd2l0aFxuICAgKiBAcGFyYW0ge0J1ZmZlcn0gYnl0ZXMgVGhlIGJ1ZmZlciB0byBiZSBoYXNoZWRcbiAgICogQHJldHVybnMge1N0cmluZ30gQSBoZXhhZGVjaW1hbCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlc3VsdGluZyBoYXNoIHdpdGggbXVsdGktcHJlZml4XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVTaGEyNTZDYW50b25IYXNoKHB1cnBvc2U6IG51bWJlciwgYnl0ZXM6IEJ1ZmZlcik6IHN0cmluZyB7XG4gICAgY29uc3QgaGFzaElucHV0ID0gdGhpcy5wcmVmaXhlZEludChwdXJwb3NlLCBieXRlcyk7XG4gICAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoaGFzaElucHV0KS5kaWdlc3QoKTtcbiAgICBjb25zdCBtdWx0aXByZWZpeCA9IEJ1ZmZlci5mcm9tKFsweDEyLCAweDIwXSk7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW211bHRpcHJlZml4LCBoYXNoXSkudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYSBCYXNlNjQtZW5jb2RlZCBzdHJpbmcgaW50byBhIFVpbnQ4QXJyYXlcbiAgICogQHBhcmFtIHtTdHJpbmd9IGI2NCBUaGUgQmFzZTY0LWVuY29kZWQgc3RyaW5nXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fSBUaGUgZGVjb2RlZCBieXRlIGFycmF5XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGZyb21CYXNlNjQoYjY0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQnVmZmVyLmZyb20oYjY0LCAnYmFzZTY0JykpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYSBCYXNlNjQtZW5jb2RlZCBwcmVwYXJlZCB0cmFuc2FjdGlvbiBpbnRvIGEgc3RydWN0dXJlZCBvYmplY3RcbiAgICogQHBhcmFtIHtTdHJpbmd9IGJhc2U2NCBUaGUgQmFzZTY0LWVuY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7SVByZXBhcmVkVHJhbnNhY3Rpb259IFRoZSBkZWNvZGVkIGBJUHJlcGFyZWRUcmFuc2FjdGlvbmAgb2JqZWN0XG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGRlY29kZVByZXBhcmVkVHJhbnNhY3Rpb24oYmFzZTY0OiBzdHJpbmcpOiBJUHJlcGFyZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYnl0ZXMgPSB0aGlzLmZyb21CYXNlNjQoYmFzZTY0KTtcbiAgICByZXR1cm4gUHJlcGFyZWRUcmFuc2FjdGlvbi5mcm9tQmluYXJ5KGJ5dGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyBhIGRldGVybWluaXN0aWMgY29tYmluZWQgaGFzaCBmcm9tIGFuIGFycmF5IG9mIGluZGl2aWR1YWwgQ2FudG9uLXN0eWxlIFNIQS0yNTYgaGFzaGVzXG4gICAqXG4gICAqIEVhY2ggaGFzaCBpcyBkZWNvZGVkIGZyb20gaGV4LCBzb3J0ZWQgbGV4aWNvZ3JhcGhpY2FsbHkgKGJ5IGhleCksIGFuZCBwcmVmaXhlZCB3aXRoIGl0cyBsZW5ndGhcbiAgICogVGhlIGZpbmFsIGJ1ZmZlciBpbmNsdWRlcyB0aGUgbnVtYmVyIG9mIGhhc2hlcyBmb2xsb3dlZCBieSBlYWNoIChsZW5ndGgtcHJlZml4ZWQpIGhhc2hcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gaGFzaGVzIC0gQW4gYXJyYXkgb2YgQ2FudG9uLXByZWZpeGVkIFNIQS0yNTYgaGFzaGVzIGluIGhleGFkZWNpbWFsIHN0cmluZyBmb3JtYXRcbiAgICogQHJldHVybnMge0J1ZmZlcn0gQSBiaW5hcnkgYnVmZmVyIHJlcHJlc2VudGluZyB0aGUgY29tYmluZWQgaGFzaCBpbnB1dFxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlTXVsdGlIYXNoRm9yVG9wb2xvZ3koaGFzaGVzOiBzdHJpbmdbXSk6IEJ1ZmZlciB7XG4gICAgY29uc3Qgc29ydGVkSGFzaGVzID0gaGFzaGVzXG4gICAgICAubWFwKChoZXgpID0+IEJ1ZmZlci5mcm9tKGhleCwgJ2hleCcpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGEudG9TdHJpbmcoJ2hleCcpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygnaGV4JykpKTtcblxuICAgIGNvbnN0IG51bUhhc2hlc0J5dGVzID0gdGhpcy5lbmNvZGVJbnQzMihzb3J0ZWRIYXNoZXMubGVuZ3RoKTtcbiAgICBjb25zdCBwYXJ0czogQnVmZmVyW10gPSBbbnVtSGFzaGVzQnl0ZXNdO1xuXG4gICAgZm9yIChjb25zdCBoIG9mIHNvcnRlZEhhc2hlcykge1xuICAgICAgY29uc3QgbGVuZ3RoQnl0ZXMgPSB0aGlzLmVuY29kZUludDMyKGgubGVuZ3RoKTtcbiAgICAgIHBhcnRzLnB1c2gobGVuZ3RoQnl0ZXMsIGgpO1xuICAgIH1cblxuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KHBhcnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGVzIGEgMzItYml0IHNpZ25lZCBpbnRlZ2VyIGludG8gYSA0LWJ5dGUgYmlnLWVuZGlhbiBCdWZmZXJcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIC0gVGhlIGludGVnZXIgdG8gZW5jb2RlXG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IEEgNC1ieXRlIGJ1ZmZlciByZXByZXNlbnRpbmcgdGhlIGludGVnZXIgaW4gYmlnLWVuZGlhbiBmb3JtYXRcbiAgICovXG4gIHByaXZhdGUgZW5jb2RlSW50MzIodmFsdWU6IG51bWJlcik6IEJ1ZmZlciB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKDQpO1xuICAgIGJ1Zi53cml0ZUludDMyQkUodmFsdWUsIDApO1xuICAgIHJldHVybiBidWY7XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUU1QixtREFBMEU7QUFFMUUsMERBQTBFO0FBQzFFLHlGQUFtRjtBQUVuRix5Q0FBbUY7QUFJbkYsTUFBYSxLQUFLO0lBQ2hCLGtCQUFrQjtJQUNsQixjQUFjLENBQUMsT0FBZTtRQUM1QixJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDcEQsTUFBTSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGdCQUFnQixDQUFDLEdBQVc7UUFDMUIsT0FBTyxJQUFBLGtDQUF1QixFQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFF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Q0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxXQUFXLENBQUMsS0FBYTtRQUMvQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBN1JELHNCQTZSQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBCYXNlVXRpbHMsIGlzVmFsaWRFZDI1NTE5UHVibGljS2V5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgeyBjb21wdXRlUHJlcGFyZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9oYXNoL2hhc2guanMnO1xuaW1wb3J0IHsgUHJlcGFyZWRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3Jlc291cmNlcy9wcm90by9wcmVwYXJlZFRyYW5zYWN0aW9uLmpzJztcblxuaW1wb3J0IHsgQ3J5cHRvS2V5Rm9ybWF0LCBTaWduaW5nQWxnb3JpdGhtU3BlYywgU2lnbmluZ0tleVNwZWMgfSBmcm9tICcuL2NvbnN0YW50JztcbmltcG9ydCB7IFByZXBhcmVkVHJhbnNhY3Rpb24gYXMgSVByZXBhcmVkVHJhbnNhY3Rpb24sIFByZXBhcmVkVHhuUGFyc2VkSW5mbyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVjb3JkRmllbGQgfSBmcm9tICcuL3Jlc291cmNlc0ludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBVdGlscyBpbXBsZW1lbnRzIEJhc2VVdGlscyB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgYWRkcmVzcy50cmltKCkgPT09ICcnKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgW3BhcnR5SGludCwgZmluZ2VycHJpbnRdID0gYWRkcmVzcy50cmltKCkuc3BsaXQoJzo6Jyk7XG4gICAgaWYgKCFwYXJ0eUhpbnQgfHwgIWZpbmdlcnByaW50KSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHBhcnR5SGludC5sZW5ndGggPT09IDUgJiYgdGhpcy5pc1ZhbGlkQ2FudG9uSGV4KGZpbmdlcnByaW50KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRWQyNTUxOVB1YmxpY0tleShrZXkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgaXMgYSB2YWxpZCBjYW50b24gaGV4IHN0cmluZ1xuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsdWUgdGhlIGhleCBzdHJpbmcgdmFsdWVcbiAgICogQHJldHVybnMge0Jvb2xlYW59IHRydWUgaWYgdmFsaWRcbiAgICovXG4gIGlzVmFsaWRDYW50b25IZXgodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15bYS1mQS1GMC05XXs2OH0kLztcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBjb252ZXJ0IGhleCB2YWx1ZSB0byBiYXNlNjRcbiAgICogQHBhcmFtIHtTdHJpbmd9IGhleFN0cmluZyAtIGhleCBlbmNvZGVkIHN0cmluZ1xuICAgKiBAcmV0dXJucyB7U3RyaW5nfSBiYXNlNjQgZW5jb2RlZCBzdHJpbmdcbiAgICovXG4gIGdldEJhc2U2NEZyb21IZXgoaGV4U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShoZXhTdHJpbmcsICdoZXgnKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGNyZWF0ZSBmaW5nZXJwcmludCAocGFydCBvZiB0aGUgY2FudG9uIHBhcnR5SWQpIGZyb20gcHVibGljIGtleVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcHVibGljS2V5IHRoZSBwdWJsaWMga2V5XG4gICAqIEByZXR1cm5zIHtTdHJpbmd9XG4gICAqL1xuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5zaWduaW5nUHVibGljS2V5RnJvbUVkMjU1MTkocHVibGljS2V5KTtcbiAgICBjb25zdCBoYXNoUHVycG9zZSA9IDEyO1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVTaGEyNTZDYW50b25IYXNoKGhhc2hQdXJwb3NlLCBrZXkucHVibGljS2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gcGFyc2UgcmF3IGNhbnRvbiB0cmFuc2FjdGlvbiAmIGdldCByZXF1aXJlZCBkYXRhXG4gICAqIEBwYXJhbSB7U3RyaW5nfSByYXdEYXRhIGJhc2U2NCBlbmNvZGVkIHN0cmluZ1xuICAgKiBAcmV0dXJucyB7UHJlcGFyZWRUeG5QYXJzZWRJbmZvfVxuICAgKi9cbiAgcGFyc2VSYXdDYW50b25UcmFuc2FjdGlvbkRhdGEocmF3RGF0YTogc3RyaW5nKTogUHJlcGFyZWRUeG5QYXJzZWRJbmZvIHtcbiAgICBjb25zdCBkZWNvZGVkRGF0YSA9IHRoaXMuZGVjb2RlUHJlcGFyZWRUcmFuc2FjdGlvbihyYXdEYXRhKTtcbiAgICBsZXQgc2VuZGVyID0gJyc7XG4gICAgbGV0IHJlY2VpdmVyID0gJyc7XG4gICAgbGV0IGFtb3VudCA9ICcnO1xuICAgIGRlY29kZWREYXRhLnRyYW5zYWN0aW9uPy5ub2Rlcz8uZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgY29uc3QgdmVyc2lvbmVkTm9kZSA9IG5vZGUudmVyc2lvbmVkTm9kZTtcbiAgICAgIGlmICghdmVyc2lvbmVkTm9kZSB8fCB2ZXJzaW9uZWROb2RlLm9uZW9mS2luZCAhPT0gJ3YxJykgcmV0dXJuO1xuXG4gICAgICBjb25zdCB2MU5vZGUgPSB2ZXJzaW9uZWROb2RlLnYxO1xuICAgICAgY29uc3Qgbm9kZVR5cGUgPSB2MU5vZGUubm9kZVR5cGU7XG5cbiAgICAgIGlmIChub2RlVHlwZS5vbmVvZktpbmQgIT09ICdjcmVhdGUnKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGNyZWF0ZU5vZGUgPSBub2RlVHlwZS5jcmVhdGU7XG5cbiAgICAgIGNvbnN0IGdldEZpZWxkID0gKGZpZWxkczogUmVjb3JkRmllbGRbXSwgbGFiZWw6IHN0cmluZykgPT4gZmllbGRzLmZpbmQoKGYpID0+IGYubGFiZWwgPT09IGxhYmVsKT8udmFsdWU/LnN1bTtcblxuICAgICAgLy8gQ2hlY2sgaWYgaXQncyB0aGUgY29ycmVjdCB0ZW1wbGF0ZVxuICAgICAgY29uc3QgdGVtcGxhdGUgPSBjcmVhdGVOb2RlLnRlbXBsYXRlSWQ7XG4gICAgICBjb25zdCBhcmdTdW0gPSBjcmVhdGVOb2RlLmFyZ3VtZW50Py5zdW07XG4gICAgICBpZiAoIWFyZ1N1bSB8fCBhcmdTdW0ub25lb2ZLaW5kICE9PSAncmVjb3JkJykgcmV0dXJuO1xuICAgICAgY29uc3QgZmllbGRzID0gYXJnU3VtLnJlY29yZD8uZmllbGRzO1xuICAgICAgaWYgKCFmaWVsZHMpIHJldHVybjtcbiAgICAgIGlmICh0ZW1wbGF0ZT8uZW50aXR5TmFtZSA9PT0gJ0FtdWxldFRyYW5zZmVySW5zdHJ1Y3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IHRyYW5zZmVyRmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5sYWJlbCA9PT0gJ3RyYW5zZmVyJyk7XG4gICAgICAgIGNvbnN0IHRyYW5zZmVyU3VtID0gdHJhbnNmZXJGaWVsZD8udmFsdWU/LnN1bTtcbiAgICAgICAgaWYgKCF0cmFuc2ZlclN1bSB8fCB0cmFuc2ZlclN1bS5vbmVvZktpbmQgIT09ICdyZWNvcmQnKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHRyYW5zZmVyUmVjb3JkID0gdHJhbnNmZXJTdW0ucmVjb3JkPy5maWVsZHM7XG4gICAgICAgIGlmICghdHJhbnNmZXJSZWNvcmQpIHJldHVybjtcbiAgICAgICAgY29uc3Qgc2VuZGVyRGF0YSA9IGdldEZpZWxkKHRyYW5zZmVyUmVjb3JkLCAnc2VuZGVyJyk7XG4gICAgICAgIGlmIChzZW5kZXJEYXRhPy5vbmVvZktpbmQgPT09ICdwYXJ0eScpIHNlbmRlciA9IHNlbmRlckRhdGEucGFydHkgPz8gJyc7XG5cbiAgICAgICAgY29uc3QgcmVjZWl2ZXJEYXRhID0gZ2V0RmllbGQodHJhbnNmZXJSZWNvcmQsICdyZWNlaXZlcicpO1xuICAgICAgICBpZiAocmVjZWl2ZXJEYXRhPy5vbmVvZktpbmQgPT09ICdwYXJ0eScpIHJlY2VpdmVyID0gcmVjZWl2ZXJEYXRhLnBhcnR5ID8/ICcnO1xuXG4gICAgICAgIGNvbnN0IGFtb3VudERhdGEgPSBnZXRGaWVsZCh0cmFuc2ZlclJlY29yZCwgJ2Ftb3VudCcpO1xuICAgICAgICBpZiAoYW1vdW50RGF0YT8ub25lb2ZLaW5kID09PSAnbnVtZXJpYycpIGFtb3VudCA9IGFtb3VudERhdGEubnVtZXJpYyA/PyAnJztcbiAgICAgIH0gZWxzZSBpZiAodGVtcGxhdGU/LmVudGl0eU5hbWUgPT09ICdBbXVsZXQnKSB7XG4gICAgICAgIGNvbnN0IGRzb0RhdGEgPSBnZXRGaWVsZChmaWVsZHMsICdkc28nKTtcbiAgICAgICAgaWYgKGRzb0RhdGE/Lm9uZW9mS2luZCA9PT0gJ3BhcnR5Jykgc2VuZGVyID0gZHNvRGF0YS5wYXJ0eSA/PyAnJztcbiAgICAgICAgY29uc3Qgb3duZXJEYXRhID0gZ2V0RmllbGQoZmllbGRzLCAnb3duZXInKTtcbiAgICAgICAgaWYgKG93bmVyRGF0YT8ub25lb2ZLaW5kID09PSAncGFydHknKSByZWNlaXZlciA9IG93bmVyRGF0YS5wYXJ0eSA/PyAnJztcbiAgICAgICAgY29uc3QgYW1vdW50RmllbGQgPSBnZXRGaWVsZChmaWVsZHMsICdhbW91bnQnKTtcbiAgICAgICAgaWYgKCFhbW91bnRGaWVsZCB8fCBhbW91bnRGaWVsZC5vbmVvZktpbmQgIT09ICdyZWNvcmQnKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYW1vdW50UmVjb3JkID0gYW1vdW50RmllbGQucmVjb3JkPy5maWVsZHM7XG4gICAgICAgIGlmICghYW1vdW50UmVjb3JkKSByZXR1cm47XG4gICAgICAgIGNvbnN0IGluaXRpYWxBbW91bnREYXRhID0gZ2V0RmllbGQoYW1vdW50UmVjb3JkLCAnaW5pdGlhbEFtb3VudCcpO1xuICAgICAgICBpZiAoaW5pdGlhbEFtb3VudERhdGE/Lm9uZW9mS2luZCA9PT0gJ251bWVyaWMnKSBhbW91bnQgPSBpbml0aWFsQW1vdW50RGF0YS5udW1lcmljID8/ICcnO1xuICAgICAgfSBlbHNlIGlmICh0ZW1wbGF0ZT8uZW50aXR5TmFtZSA9PT0gJ1RyYW5zZmVyUHJlYXBwcm92YWxQcm9wb3NhbCcpIHtcbiAgICAgICAgY29uc3QgcmVjZWl2ZXJEYXRhID0gZ2V0RmllbGQoZmllbGRzLCAncmVjZWl2ZXInKTtcbiAgICAgICAgaWYgKHJlY2VpdmVyRGF0YT8ub25lb2ZLaW5kID09PSAncGFydHknKSByZWNlaXZlciA9IHJlY2VpdmVyRGF0YS5wYXJ0eSA/PyAnJztcbiAgICAgICAgY29uc3QgcHJvdmlkZXJEYXRhID0gZ2V0RmllbGQoZmllbGRzLCAncHJvdmlkZXInKTtcbiAgICAgICAgaWYgKHByb3ZpZGVyRGF0YT8ub25lb2ZLaW5kID09PSAncGFydHknKSBzZW5kZXIgPSBwcm92aWRlckRhdGEucGFydHkgPz8gJyc7XG4gICAgICAgIGFtb3VudCA9ICcwJztcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXNlbmRlciB8fCAhcmVjZWl2ZXIgfHwgIWFtb3VudCkge1xuICAgICAgY29uc3QgbWlzc2luZ0ZpZWxkczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmICghc2VuZGVyKSBtaXNzaW5nRmllbGRzLnB1c2goJ3NlbmRlcicpO1xuICAgICAgaWYgKCFyZWNlaXZlcikgbWlzc2luZ0ZpZWxkcy5wdXNoKCdyZWNlaXZlcicpO1xuICAgICAgaWYgKCFhbW91bnQpIG1pc3NpbmdGaWVsZHMucHVzaCgnYW1vdW50Jyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgdHJhbnNhY3Rpb24gZGF0YTogbWlzc2luZyAke21pc3NpbmdGaWVsZHMuam9pbignLCAnKX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcixcbiAgICAgIHJlY2VpdmVyLFxuICAgICAgYW1vdW50LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIHRvcG9sb2d5IGhhc2ggZnJvbSB0aGUgQVBJIHJlc3BvbnNlIG9mIHRoZSAnY3JlYXRlIHBhcnR5JyBlbmRwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHRvcG9sb2d5VHJhbnNhY3Rpb25zIC0gTGlzdCBvZiBiYXNlNjQtZW5jb2RlZCB0b3BvbG9neSB0cmFuc2FjdGlvbnMgZnJvbSB0aGUgQ2FudG9uIEFQSS5cbiAgICogQHJldHVybnMgVGhlIGZpbmFsIGJhc2U2NC1lbmNvZGVkIHRvcG9sb2d5IHRyYW5zYWN0aW9uIGhhc2guXG4gICAqL1xuICBjb21wdXRlSGFzaEZyb21DcmVhdGVQYXJ0eVJlc3BvbnNlKHRvcG9sb2d5VHJhbnNhY3Rpb25zOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHhCdWZmZXJzID0gdG9wb2xvZ3lUcmFuc2FjdGlvbnMubWFwKCh0eCkgPT4gQnVmZmVyLmZyb20odHgsICdiYXNlNjQnKSk7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZUhhc2hGcm9tVG9wb2xvZ3lUcmFuc2FjdGlvbih0eEJ1ZmZlcnMpO1xuICB9XG5cbiAgYXN5bmMgY29tcHV0ZUhhc2hGcm9tUHJlcGFyZVN1Ym1pc3Npb25SZXNwb25zZShwcmVwYXJlZFRyYW5zYWN0aW9uQmFzZTY0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHByZXBhcmVkVHJhbnNhY3Rpb24gPSB0aGlzLmRlY29kZVByZXBhcmVkVHJhbnNhY3Rpb24ocHJlcGFyZWRUcmFuc2FjdGlvbkJhc2U2NCk7XG4gICAgY29uc3QgaGFzaCA9IGF3YWl0IGNvbXB1dGVQcmVwYXJlZFRyYW5zYWN0aW9uKHByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShoYXNoKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIGZpbmFsIHRvcG9sb2d5IHRyYW5zYWN0aW9uIGhhc2ggZm9yIGEgbGlzdCBvZiBwcmVwYXJlZCBDYW50b24gdHJhbnNhY3Rpb25zLlxuICAgKlxuICAgKiBFYWNoIHRyYW5zYWN0aW9uIGlzIGZpcnN0IGhhc2hlZCB3aXRoIHB1cnBvc2UgYDExYCwgdGhlbiBhbGwgaGFzaGVzIGFyZSBjb21iaW5lZCBhbmRcbiAgICogaGFzaGVkIGFnYWluIHdpdGggcHVycG9zZSBgNTVgLCBmb2xsb3dpbmcgdGhlIENhbnRvbiB0b3BvbG9neSBoYXNoIHJ1bGVzLlxuICAgKlxuICAgKiBUaGUgcmVzdWx0aW5nIGhhc2ggaXMgZW5jb2RlZCBhcyBhIGJhc2U2NCBzdHJpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7QnVmZmVyW119IHByZXBhcmVkVHJhbnNhY3Rpb25zIC0gQW4gYXJyYXkgb2YgQ2FudG9uIHRyYW5zYWN0aW9uIGJ1ZmZlcnMuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaW5hbCB0b3BvbG9neSBoYXNoLCBiYXNlNjQtZW5jb2RlZC5cbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZUhhc2hGcm9tVG9wb2xvZ3lUcmFuc2FjdGlvbihwcmVwYXJlZFRyYW5zYWN0aW9uczogQnVmZmVyW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHJhd0hhc2hlcyA9IHByZXBhcmVkVHJhbnNhY3Rpb25zLm1hcCgodHgpID0+IHRoaXMuY29tcHV0ZVNoYTI1NkNhbnRvbkhhc2goMTEsIHR4KSk7XG4gICAgY29uc3QgY29tYmluZWRIYXNoZXMgPSB0aGlzLmNvbXB1dGVNdWx0aUhhc2hGb3JUb3BvbG9neShyYXdIYXNoZXMpO1xuICAgIGNvbnN0IGNvbXB1dGVkSGFzaCA9IHRoaXMuY29tcHV0ZVNoYTI1NkNhbnRvbkhhc2goNTUsIGNvbWJpbmVkSGFzaGVzKTtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oY29tcHV0ZWRIYXNoLCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgYmFzZTY0LWVuY29kZWQgRWQyNTUxOSBwdWJsaWMga2V5IHN0cmluZyBpbnRvIGEgc3RydWN0dXJlZCBzaWduaW5nIHB1YmxpYyBrZXkgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1N0cmluZ30gcHVibGljS2V5IFRoZSBiYXNlNjQtZW5jb2RlZCBFZDI1NTE5IHB1YmxpYyBrZXlcbiAgICogQHJldHVybnMge09iamVjdH0gVGhlIHN0cnVjdHVyZWQgc2lnbmluZyBrZXkgb2JqZWN0IGZvcm1hdHRlZCBmb3IgdXNlIHdpdGggY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNpZ25pbmdQdWJsaWNLZXlGcm9tRWQyNTUxOShwdWJsaWNLZXk6IHN0cmluZyk6IHtcbiAgICBmb3JtYXQ6IG51bWJlcjtcbiAgICBwdWJsaWNLZXk6IEJ1ZmZlcjtcbiAgICBzY2hlbWU6IG51bWJlcjtcbiAgICBrZXlTcGVjOiBudW1iZXI7XG4gICAgdXNhZ2U6IFtdO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiBDcnlwdG9LZXlGb3JtYXQuUkFXLFxuICAgICAgcHVibGljS2V5OiBCdWZmZXIuZnJvbShwdWJsaWNLZXksICdiYXNlNjQnKSxcbiAgICAgIHNjaGVtZTogU2lnbmluZ0FsZ29yaXRobVNwZWMuRUQyNTUxOSxcbiAgICAgIGtleVNwZWM6IFNpZ25pbmdLZXlTcGVjLkVDX0NVUlZFMjU1MTksXG4gICAgICB1c2FnZTogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYnVmZmVyIHdpdGggYSA0LWJ5dGUgYmlnLWVuZGlhbiBpbnRlZ2VyIHByZWZpeCBmb2xsb3dlZCBieSB0aGUgcHJvdmlkZWQgYnl0ZSBidWZmZXJcbiAgICogQHBhcmFtIHtOdW1iZXJ9IHZhbHVlIFRoZSBpbnRlZ2VyIHRvIHByZWZpeCwgd3JpdHRlbiBhcyA0IGJ5dGVzIGluIGJpZy1lbmRpYW4gb3JkZXJcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGJ5dGVzIFRoZSBidWZmZXIgdG8gYXBwZW5kIGFmdGVyIHRoZSBpbnRlZ2VyIHByZWZpeFxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBUaGUgcmVzdWx0aW5nIGJ1ZmZlciB3aXRoIHRoZSBwcmVmaXhlZCBpbnRlZ2VyXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHByZWZpeGVkSW50KHZhbHVlOiBudW1iZXIsIGJ5dGVzOiBCdWZmZXIpOiBCdWZmZXIge1xuICAgIGNvbnN0IGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyg0ICsgYnl0ZXMubGVuZ3RoKTtcbiAgICBidWZmZXIud3JpdGVVSW50MzJCRSh2YWx1ZSwgMCk7XG4gICAgQnVmZmVyLmZyb20oYnl0ZXMpLmNvcHkoYnVmZmVyLCA0KTtcbiAgICByZXR1cm4gYnVmZmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGFuIFNIQS0yNTYgQ2FudG9uLXN0eWxlIGhhc2ggYnkgcHJlZml4aW5nIHRoZSBpbnB1dCB3aXRoIGEgcHVycG9zZSBpZGVudGlmaWVyLFxuICAgKiB0aGVuIGhhc2hpbmcgdGhlIHJlc3VsdGluZyBidWZmZXIgYW5kIHByZXBlbmRpbmcgYSBtdWx0aS1wcmVmaXhcbiAgICpcbiAgICogQHBhcmFtIHtOdW1iZXJ9IHB1cnBvc2UgQSBudW1lcmljIGlkZW50aWZpZXIgdG8gcHJlZml4IHRoZSBoYXNoIGlucHV0IHdpdGhcbiAgICogQHBhcmFtIHtCdWZmZXJ9IGJ5dGVzIFRoZSBidWZmZXIgdG8gYmUgaGFzaGVkXG4gICAqIEByZXR1cm5zIHtTdHJpbmd9IEEgaGV4YWRlY2ltYWwgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSByZXN1bHRpbmcgaGFzaCB3aXRoIG11bHRpLXByZWZpeFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlU2hhMjU2Q2FudG9uSGFzaChwdXJwb3NlOiBudW1iZXIsIGJ5dGVzOiBCdWZmZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhhc2hJbnB1dCA9IHRoaXMucHJlZml4ZWRJbnQocHVycG9zZSwgYnl0ZXMpO1xuICAgIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKGhhc2hJbnB1dCkuZGlnZXN0KCk7XG4gICAgY29uc3QgbXVsdGlwcmVmaXggPSBCdWZmZXIuZnJvbShbMHgxMiwgMHgyMF0pO1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFttdWx0aXByZWZpeCwgaGFzaF0pLnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGEgQmFzZTY0LWVuY29kZWQgc3RyaW5nIGludG8gYSBVaW50OEFycmF5XG4gICAqIEBwYXJhbSB7U3RyaW5nfSBiNjQgVGhlIEJhc2U2NC1lbmNvZGVkIHN0cmluZ1xuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX0gVGhlIGRlY29kZWQgYnl0ZSBhcnJheVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmcm9tQmFzZTY0KGI2NDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGEgQmFzZTY0LWVuY29kZWQgcHJlcGFyZWQgdHJhbnNhY3Rpb24gaW50byBhIHN0cnVjdHVyZWQgb2JqZWN0XG4gICAqIEBwYXJhbSB7U3RyaW5nfSBiYXNlNjQgVGhlIEJhc2U2NC1lbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICogQHJldHVybnMge0lQcmVwYXJlZFRyYW5zYWN0aW9ufSBUaGUgZGVjb2RlZCBgSVByZXBhcmVkVHJhbnNhY3Rpb25gIG9iamVjdFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBkZWNvZGVQcmVwYXJlZFRyYW5zYWN0aW9uKGJhc2U2NDogc3RyaW5nKTogSVByZXBhcmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJ5dGVzID0gdGhpcy5mcm9tQmFzZTY0KGJhc2U2NCk7XG4gICAgcmV0dXJuIFByZXBhcmVkVHJhbnNhY3Rpb24uZnJvbUJpbmFyeShieXRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgYSBkZXRlcm1pbmlzdGljIGNvbWJpbmVkIGhhc2ggZnJvbSBhbiBhcnJheSBvZiBpbmRpdmlkdWFsIENhbnRvbi1zdHlsZSBTSEEtMjU2IGhhc2hlc1xuICAgKlxuICAgKiBFYWNoIGhhc2ggaXMgZGVjb2RlZCBmcm9tIGhleCwgc29ydGVkIGxleGljb2dyYXBoaWNhbGx5IChieSBoZXgpLCBhbmQgcHJlZml4ZWQgd2l0aCBpdHMgbGVuZ3RoXG4gICAqIFRoZSBmaW5hbCBidWZmZXIgaW5jbHVkZXMgdGhlIG51bWJlciBvZiBoYXNoZXMgZm9sbG93ZWQgYnkgZWFjaCAobGVuZ3RoLXByZWZpeGVkKSBoYXNoXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGhhc2hlcyAtIEFuIGFycmF5IG9mIENhbnRvbi1wcmVmaXhlZCBTSEEtMjU2IGhhc2hlcyBpbiBoZXhhZGVjaW1hbCBzdHJpbmcgZm9ybWF0XG4gICAqIEByZXR1cm5zIHtCdWZmZXJ9IEEgYmluYXJ5IGJ1ZmZlciByZXByZXNlbnRpbmcgdGhlIGNvbWJpbmVkIGhhc2ggaW5wdXRcbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZU11bHRpSGFzaEZvclRvcG9sb2d5KGhhc2hlczogc3RyaW5nW10pOiBCdWZmZXIge1xuICAgIGNvbnN0IHNvcnRlZEhhc2hlcyA9IGhhc2hlc1xuICAgICAgLm1hcCgoaGV4KSA9PiBCdWZmZXIuZnJvbShoZXgsICdoZXgnKSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnRvU3RyaW5nKCdoZXgnKS5sb2NhbGVDb21wYXJlKGIudG9TdHJpbmcoJ2hleCcpKSk7XG5cbiAgICBjb25zdCBudW1IYXNoZXNCeXRlcyA9IHRoaXMuZW5jb2RlSW50MzIoc29ydGVkSGFzaGVzLmxlbmd0aCk7XG4gICAgY29uc3QgcGFydHM6IEJ1ZmZlcltdID0gW251bUhhc2hlc0J5dGVzXTtcblxuICAgIGZvciAoY29uc3QgaCBvZiBzb3J0ZWRIYXNoZXMpIHtcbiAgICAgIGNvbnN0IGxlbmd0aEJ5dGVzID0gdGhpcy5lbmNvZGVJbnQzMihoLmxlbmd0aCk7XG4gICAgICBwYXJ0cy5wdXNoKGxlbmd0aEJ5dGVzLCBoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChwYXJ0cyk7XG4gIH1cblxuICAvKipcbiAgICogRW5jb2RlcyBhIDMyLWJpdCBzaWduZWQgaW50ZWdlciBpbnRvIGEgNC1ieXRlIGJpZy1lbmRpYW4gQnVmZmVyXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZSAtIFRoZSBpbnRlZ2VyIHRvIGVuY29kZVxuICAgKiBAcmV0dXJucyB7QnVmZmVyfSBBIDQtYnl0ZSBidWZmZXIgcmVwcmVzZW50aW5nIHRoZSBpbnRlZ2VyIGluIGJpZy1lbmRpYW4gZm9ybWF0XG4gICAqL1xuICBwcml2YXRlIGVuY29kZUludDMyKHZhbHVlOiBudW1iZXIpOiBCdWZmZXIge1xuICAgIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5hbGxvYyg0KTtcbiAgICBidWYud3JpdGVJbnQzMkJFKHZhbHVlLCAwKTtcbiAgICByZXR1cm4gYnVmO1xuICB9XG59XG5cbmNvbnN0IHV0aWxzID0gbmV3IFV0aWxzKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHV0aWxzO1xuIl19
@@ -49,6 +49,13 @@ export declare const TransferAcceptance: {
49
49
  commandId: string;
50
50
  contractId: string;
51
51
  };
52
+ export declare const TransferAcknowledgeRequest: {
53
+ contractId: string;
54
+ senderPartyId: string;
55
+ amount: number;
56
+ updateId: string;
57
+ expiryEpoch: number;
58
+ };
52
59
  export declare const TransferAcceptancePrepareResponse: {
53
60
  preparedTransaction: string;
54
61
  preparedTransactionHash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qz+CAC6w+C,CAAC;AAErz+C,eAAO,MAAM,wBAAwB;;;;;CASpC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;CAU3C,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;CAOpD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;CAM7C,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qz+CAC6w+C,CAAC;AAErz+C,eAAO,MAAM,wBAAwB;;;;;CASpC,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;CAU3C,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;CAGjC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;CAM7C,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;;;CAOpD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAQ5B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;CAOtC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;CAM7C,CAAC"}