@bitgo-beta/abstract-lightning 1.0.0-alpha.15 → 1.0.0-alpha.151

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 (62) hide show
  1. package/CHANGELOG.md +232 -0
  2. package/dist/src/abstractLightningCoin.d.ts +0 -1
  3. package/dist/src/abstractLightningCoin.d.ts.map +1 -1
  4. package/dist/src/abstractLightningCoin.js +2 -2
  5. package/dist/src/codecs/api/backup.d.ts +15 -0
  6. package/dist/src/codecs/api/backup.d.ts.map +1 -0
  7. package/dist/src/codecs/api/backup.js +47 -0
  8. package/dist/src/codecs/api/balance.d.ts +114 -0
  9. package/dist/src/codecs/api/balance.d.ts.map +1 -0
  10. package/dist/src/codecs/api/balance.js +92 -0
  11. package/dist/src/codecs/api/index.d.ts +7 -0
  12. package/dist/src/codecs/api/index.d.ts.map +1 -0
  13. package/dist/src/codecs/api/index.js +23 -0
  14. package/dist/src/codecs/api/invoice.d.ts +54 -0
  15. package/dist/src/codecs/api/invoice.d.ts.map +1 -0
  16. package/dist/src/codecs/api/invoice.js +105 -0
  17. package/dist/src/codecs/api/payment.d.ts +73 -0
  18. package/dist/src/codecs/api/payment.d.ts.map +1 -0
  19. package/dist/src/codecs/api/payment.js +130 -0
  20. package/dist/src/codecs/api/transaction.d.ts +82 -0
  21. package/dist/src/codecs/api/transaction.d.ts.map +1 -0
  22. package/dist/src/codecs/api/transaction.js +104 -0
  23. package/dist/src/codecs/api/wallet.d.ts +96 -0
  24. package/dist/src/codecs/api/wallet.d.ts.map +1 -0
  25. package/dist/src/codecs/api/wallet.js +99 -0
  26. package/dist/src/codecs/index.d.ts +3 -0
  27. package/dist/src/codecs/index.d.ts.map +1 -0
  28. package/dist/src/codecs/index.js +19 -0
  29. package/dist/src/codecs/shared.d.ts +7 -0
  30. package/dist/src/codecs/shared.d.ts.map +1 -0
  31. package/dist/src/codecs/shared.js +42 -0
  32. package/dist/src/index.d.ts +3 -0
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +4 -1
  35. package/dist/src/lightning/index.d.ts +4 -0
  36. package/dist/src/lightning/index.d.ts.map +1 -0
  37. package/dist/src/lightning/index.js +20 -0
  38. package/dist/src/lightning/lightningUtils.d.ts +59 -0
  39. package/dist/src/lightning/lightningUtils.d.ts.map +1 -0
  40. package/dist/src/lightning/lightningUtils.js +224 -0
  41. package/dist/src/lightning/signableJson.d.ts +17 -0
  42. package/dist/src/lightning/signableJson.d.ts.map +1 -0
  43. package/dist/src/lightning/signableJson.js +29 -0
  44. package/dist/src/lightning/signature.d.ts +22 -0
  45. package/dist/src/lightning/signature.d.ts.map +1 -0
  46. package/dist/src/lightning/signature.js +69 -0
  47. package/dist/src/wallet/custodialLightning.d.ts +7 -0
  48. package/dist/src/wallet/custodialLightning.d.ts.map +1 -0
  49. package/dist/src/wallet/custodialLightning.js +14 -0
  50. package/dist/src/wallet/index.d.ts +5 -0
  51. package/dist/src/wallet/index.d.ts.map +1 -0
  52. package/dist/src/wallet/index.js +21 -0
  53. package/dist/src/wallet/lightning.d.ts +131 -0
  54. package/dist/src/wallet/lightning.d.ts.map +1 -0
  55. package/dist/src/wallet/lightning.js +213 -0
  56. package/dist/src/wallet/selfCustodialLightning.d.ts +32 -0
  57. package/dist/src/wallet/selfCustodialLightning.d.ts.map +1 -0
  58. package/dist/src/wallet/selfCustodialLightning.js +131 -0
  59. package/dist/src/wallet/wallet.d.ts +7 -0
  60. package/dist/src/wallet/wallet.d.ts.map +1 -0
  61. package/dist/src/wallet/wallet.js +22 -0
  62. package/package.json +13 -4
@@ -0,0 +1,54 @@
1
+ import * as t from 'io-ts';
2
+ export declare const InvoiceStatus: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
3
+ export type InvoiceStatus = t.TypeOf<typeof InvoiceStatus>;
4
+ export declare const CreateInvoiceBody: t.IntersectionC<[t.TypeC<{
5
+ valueMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
6
+ }>, t.PartialC<{
7
+ memo: t.StringC;
8
+ expiry: t.NumberC;
9
+ }>]>;
10
+ export type CreateInvoiceBody = t.TypeOf<typeof CreateInvoiceBody>;
11
+ /**
12
+ * A representation of the data tracked by the indexer for an invoice it has
13
+ * created within lnd.
14
+ */
15
+ export declare const Invoice: t.IntersectionC<[t.TypeC<{
16
+ valueMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
17
+ paymentHash: t.StringC;
18
+ /** The BOLT #11 encoded invoice string */
19
+ invoice: t.StringC;
20
+ /** The public BitGo walletId to which this invoice belongs */
21
+ walletId: t.StringC;
22
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
23
+ /** A date in ISO format representing when this invoice expires. */
24
+ expiresAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
25
+ }>, t.PartialC<{
26
+ memo: t.StringC;
27
+ }>]>;
28
+ export type Invoice = t.TypeOf<typeof Invoice>;
29
+ export declare const InvoiceInfo: t.IntersectionC<[t.TypeC<{
30
+ valueMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
31
+ paymentHash: t.StringC;
32
+ invoice: t.StringC;
33
+ walletId: t.StringC;
34
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
35
+ expiresAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
36
+ createdAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
37
+ updatedAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
38
+ }>, t.PartialC<{
39
+ /**
40
+ * The number of millisats actually paid to this invoice, this may be greater
41
+ * than the amount requested by the invoice, since lightning allows overpaying
42
+ * (but not underpaying) invoices.
43
+ */
44
+ amtPaidMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
45
+ }>]>;
46
+ export type InvoiceInfo = t.TypeOf<typeof InvoiceInfo>;
47
+ export declare const InvoiceQuery: t.PartialC<{
48
+ status: t.UnionC<[t.LiteralC<"open">, t.LiteralC<"settled">, t.LiteralC<"canceled">]>;
49
+ limit: import("io-ts-types/BigIntFromString").BigIntFromStringC;
50
+ startDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
51
+ endDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
52
+ }>;
53
+ export type InvoiceQuery = t.TypeOf<typeof InvoiceQuery>;
54
+ //# sourceMappingURL=invoice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../../../src/codecs/api/invoice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAM3B,eAAO,MAAM,aAAa,+EAWzB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAE3D,eAAO,MAAM,iBAAiB;;;;;IAW7B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,OAAO;;;IAKd,0CAA0C;;IAE1C,8DAA8D;;;IAG9D,mEAAmE;;;;IAQxE,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAE/C,eAAO,MAAM,WAAW;;;;;;;;;;IAalB;;;;OAIG;;IAKR,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD,eAAO,MAAM,YAAY;;;;;EAQxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.InvoiceQuery = exports.InvoiceInfo = exports.Invoice = exports.CreateInvoiceBody = exports.InvoiceStatus = void 0;
37
+ const t = __importStar(require("io-ts"));
38
+ const BigIntFromString_1 = require("io-ts-types/BigIntFromString");
39
+ const DateFromISOString_1 = require("io-ts-types/DateFromISOString");
40
+ // codecs for lightning wallet invoice related apis
41
+ exports.InvoiceStatus = t.union([
42
+ // Initial state.
43
+ // Transitions to 'settled' or 'canceled' on LND notification.
44
+ t.literal('open'),
45
+ // Final state.
46
+ t.literal('settled'),
47
+ // Final state.
48
+ t.literal('canceled'),
49
+ ], 'InvoiceStatus');
50
+ exports.CreateInvoiceBody = t.intersection([
51
+ t.type({
52
+ valueMsat: BigIntFromString_1.BigIntFromString,
53
+ }),
54
+ t.partial({
55
+ memo: t.string,
56
+ expiry: t.number,
57
+ }),
58
+ ], 'CreateInvoiceBody');
59
+ /**
60
+ * A representation of the data tracked by the indexer for an invoice it has
61
+ * created within lnd.
62
+ */
63
+ exports.Invoice = t.intersection([
64
+ t.type({
65
+ valueMsat: BigIntFromString_1.BigIntFromString,
66
+ paymentHash: t.string,
67
+ /** The BOLT #11 encoded invoice string */
68
+ invoice: t.string,
69
+ /** The public BitGo walletId to which this invoice belongs */
70
+ walletId: t.string,
71
+ status: exports.InvoiceStatus,
72
+ /** A date in ISO format representing when this invoice expires. */
73
+ expiresAt: DateFromISOString_1.DateFromISOString,
74
+ }),
75
+ t.partial({
76
+ memo: t.string,
77
+ }),
78
+ ], 'Invoice');
79
+ exports.InvoiceInfo = t.intersection([
80
+ t.type({
81
+ valueMsat: BigIntFromString_1.BigIntFromString,
82
+ paymentHash: t.string,
83
+ invoice: t.string,
84
+ walletId: t.string,
85
+ status: exports.InvoiceStatus,
86
+ expiresAt: DateFromISOString_1.DateFromISOString,
87
+ createdAt: DateFromISOString_1.DateFromISOString,
88
+ updatedAt: DateFromISOString_1.DateFromISOString,
89
+ }),
90
+ t.partial({
91
+ /**
92
+ * The number of millisats actually paid to this invoice, this may be greater
93
+ * than the amount requested by the invoice, since lightning allows overpaying
94
+ * (but not underpaying) invoices.
95
+ */
96
+ amtPaidMsat: BigIntFromString_1.BigIntFromString,
97
+ }),
98
+ ], 'InvoiceInfo');
99
+ exports.InvoiceQuery = t.partial({
100
+ status: exports.InvoiceStatus,
101
+ limit: BigIntFromString_1.BigIntFromString,
102
+ startDate: DateFromISOString_1.DateFromISOString,
103
+ endDate: DateFromISOString_1.DateFromISOString,
104
+ }, 'InvoiceQuery');
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlY3MvYXBpL2ludm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTJCO0FBQzNCLG1FQUFnRTtBQUNoRSxxRUFBa0U7QUFFbEUsbURBQW1EO0FBRXRDLFFBQUEsYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQ2xDO0lBQ0UsaUJBQWlCO0lBQ2pCLDhEQUE4RDtJQUM5RCxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNqQixlQUFlO0lBQ2YsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDcEIsZUFBZTtJQUNmLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0NBQ3RCLEVBQ0QsZUFBZSxDQUNoQixDQUFDO0FBR1csUUFBQSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUM3QztJQUNFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxTQUFTLEVBQUUsbUNBQWdCO0tBQzVCLENBQUM7SUFDRixDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ1IsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2QsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2pCLENBQUM7Q0FDSCxFQUNELG1CQUFtQixDQUNwQixDQUFDO0FBR0Y7OztHQUdHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDbkM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsU0FBUyxFQUFFLG1DQUFnQjtRQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDckIsMENBQTBDO1FBQzFDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqQiw4REFBOEQ7UUFDOUQsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2xCLE1BQU0sRUFBRSxxQkFBYTtRQUNyQixtRUFBbUU7UUFDbkUsU0FBUyxFQUFFLHFDQUFpQjtLQUM3QixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNmLENBQUM7Q0FDSCxFQUNELFNBQVMsQ0FDVixDQUFDO0FBR1csUUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDdkM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsU0FBUyxFQUFFLG1DQUFnQjtRQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDckIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNsQixNQUFNLEVBQUUscUJBQWE7UUFDckIsU0FBUyxFQUFFLHFDQUFpQjtRQUM1QixTQUFTLEVBQUUscUNBQWlCO1FBQzVCLFNBQVMsRUFBRSxxQ0FBaUI7S0FDN0IsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUjs7OztXQUlHO1FBQ0gsV0FBVyxFQUFFLG1DQUFnQjtLQUM5QixDQUFDO0NBQ0gsRUFDRCxhQUFhLENBQ2QsQ0FBQztBQUdXLFFBQUEsWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQ25DO0lBQ0UsTUFBTSxFQUFFLHFCQUFhO0lBQ3JCLEtBQUssRUFBRSxtQ0FBZ0I7SUFDdkIsU0FBUyxFQUFFLHFDQUFpQjtJQUM1QixPQUFPLEVBQUUscUNBQWlCO0NBQzNCLEVBQ0QsY0FBYyxDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IEJpZ0ludEZyb21TdHJpbmcgfSBmcm9tICdpby10cy10eXBlcy9CaWdJbnRGcm9tU3RyaW5nJztcbmltcG9ydCB7IERhdGVGcm9tSVNPU3RyaW5nIH0gZnJvbSAnaW8tdHMtdHlwZXMvRGF0ZUZyb21JU09TdHJpbmcnO1xuXG4vLyBjb2RlY3MgZm9yIGxpZ2h0bmluZyB3YWxsZXQgaW52b2ljZSByZWxhdGVkIGFwaXNcblxuZXhwb3J0IGNvbnN0IEludm9pY2VTdGF0dXMgPSB0LnVuaW9uKFxuICBbXG4gICAgLy8gSW5pdGlhbCBzdGF0ZS5cbiAgICAvLyBUcmFuc2l0aW9ucyB0byAnc2V0dGxlZCcgb3IgJ2NhbmNlbGVkJyBvbiBMTkQgbm90aWZpY2F0aW9uLlxuICAgIHQubGl0ZXJhbCgnb3BlbicpLFxuICAgIC8vIEZpbmFsIHN0YXRlLlxuICAgIHQubGl0ZXJhbCgnc2V0dGxlZCcpLFxuICAgIC8vIEZpbmFsIHN0YXRlLlxuICAgIHQubGl0ZXJhbCgnY2FuY2VsZWQnKSxcbiAgXSxcbiAgJ0ludm9pY2VTdGF0dXMnXG4pO1xuZXhwb3J0IHR5cGUgSW52b2ljZVN0YXR1cyA9IHQuVHlwZU9mPHR5cGVvZiBJbnZvaWNlU3RhdHVzPjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUludm9pY2VCb2R5ID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgdmFsdWVNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBtZW1vOiB0LnN0cmluZyxcbiAgICAgIGV4cGlyeTogdC5udW1iZXIsXG4gICAgfSksXG4gIF0sXG4gICdDcmVhdGVJbnZvaWNlQm9keSdcbik7XG5leHBvcnQgdHlwZSBDcmVhdGVJbnZvaWNlQm9keSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVJbnZvaWNlQm9keT47XG5cbi8qKlxuICogQSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGF0YSB0cmFja2VkIGJ5IHRoZSBpbmRleGVyIGZvciBhbiBpbnZvaWNlIGl0IGhhc1xuICogY3JlYXRlZCB3aXRoaW4gbG5kLlxuICovXG5leHBvcnQgY29uc3QgSW52b2ljZSA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHZhbHVlTXNhdDogQmlnSW50RnJvbVN0cmluZyxcbiAgICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICAgIC8qKiBUaGUgQk9MVCAjMTEgZW5jb2RlZCBpbnZvaWNlIHN0cmluZyAqL1xuICAgICAgaW52b2ljZTogdC5zdHJpbmcsXG4gICAgICAvKiogVGhlIHB1YmxpYyBCaXRHbyB3YWxsZXRJZCB0byB3aGljaCB0aGlzIGludm9pY2UgYmVsb25ncyAqL1xuICAgICAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICAgICAgc3RhdHVzOiBJbnZvaWNlU3RhdHVzLFxuICAgICAgLyoqIEEgZGF0ZSBpbiBJU08gZm9ybWF0IHJlcHJlc2VudGluZyB3aGVuIHRoaXMgaW52b2ljZSBleHBpcmVzLiAqL1xuICAgICAgZXhwaXJlc0F0OiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgbWVtbzogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdJbnZvaWNlJ1xuKTtcbmV4cG9ydCB0eXBlIEludm9pY2UgPSB0LlR5cGVPZjx0eXBlb2YgSW52b2ljZT47XG5cbmV4cG9ydCBjb25zdCBJbnZvaWNlSW5mbyA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHZhbHVlTXNhdDogQmlnSW50RnJvbVN0cmluZyxcbiAgICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICAgIGludm9pY2U6IHQuc3RyaW5nLFxuICAgICAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICAgICAgc3RhdHVzOiBJbnZvaWNlU3RhdHVzLFxuICAgICAgZXhwaXJlc0F0OiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICAgIGNyZWF0ZWRBdDogRGF0ZUZyb21JU09TdHJpbmcsXG4gICAgICB1cGRhdGVkQXQ6IERhdGVGcm9tSVNPU3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBudW1iZXIgb2YgbWlsbGlzYXRzIGFjdHVhbGx5IHBhaWQgdG8gdGhpcyBpbnZvaWNlLCB0aGlzIG1heSBiZSBncmVhdGVyXG4gICAgICAgKiB0aGFuIHRoZSBhbW91bnQgcmVxdWVzdGVkIGJ5IHRoZSBpbnZvaWNlLCBzaW5jZSBsaWdodG5pbmcgYWxsb3dzIG92ZXJwYXlpbmdcbiAgICAgICAqIChidXQgbm90IHVuZGVycGF5aW5nKSBpbnZvaWNlcy5cbiAgICAgICAqL1xuICAgICAgYW10UGFpZE1zYXQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdJbnZvaWNlSW5mbydcbik7XG5leHBvcnQgdHlwZSBJbnZvaWNlSW5mbyA9IHQuVHlwZU9mPHR5cGVvZiBJbnZvaWNlSW5mbz47XG5cbmV4cG9ydCBjb25zdCBJbnZvaWNlUXVlcnkgPSB0LnBhcnRpYWwoXG4gIHtcbiAgICBzdGF0dXM6IEludm9pY2VTdGF0dXMsXG4gICAgbGltaXQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgc3RhcnREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICBlbmREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgfSxcbiAgJ0ludm9pY2VRdWVyeSdcbik7XG5cbmV4cG9ydCB0eXBlIEludm9pY2VRdWVyeSA9IHQuVHlwZU9mPHR5cGVvZiBJbnZvaWNlUXVlcnk+O1xuIl19
@@ -0,0 +1,73 @@
1
+ import * as t from 'io-ts';
2
+ export declare const PaymentStatus: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
3
+ export type PaymentStatus = t.TypeOf<typeof PaymentStatus>;
4
+ export declare const PAYMENT_FAILURE_TIMEOUT = "TIMEOUT";
5
+ export declare const PAYMENT_FAILURE_NO_ROUTE = "NO_ROUTE";
6
+ /** A non-recoverable error */
7
+ export declare const PAYMENT_FAILURE_ERROR = "ERROR";
8
+ export declare const PAYMENT_FAILURE_INCORRECT_DETAILS = "INCORRECT_PAYMENT_DETAILS";
9
+ /** Insufficient channel outbound capacity */
10
+ export declare const PAYMENT_FAILURE_INSUFFICIENT_CHANNEL_BALANCE = "INSUFFICIENT_BALANCE";
11
+ /** Insufficient custodial lightning balance for the customer's wallet */
12
+ export declare const PAYMENT_FAILURE_INSUFFICIENT_WALLET_BALANCE = "INSUFFICIENT_WALLET_BALANCE";
13
+ /** Excess custodial lightning balance for the customer's wallet */
14
+ export declare const PAYMENT_FAILURE_EXCESS_WALLET_BALANCE = "EXCESS_WALLET_BALANCE";
15
+ export declare const PAYMENT_FAILURE_INVOICE_EXPIRED = "INVOICE_EXPIRED";
16
+ export declare const PAYMENT_FAILURE_CANCELED = "CANCELED";
17
+ export declare const PAYMENT_FAILURE_FORCE_FAILED = "FORCE_FAILED";
18
+ export declare const PaymentFailureReason: t.UnionC<[t.LiteralC<"TIMEOUT">, t.LiteralC<"NO_ROUTE">, t.LiteralC<"ERROR">, t.LiteralC<"INCORRECT_PAYMENT_DETAILS">, t.LiteralC<"INSUFFICIENT_BALANCE">, t.LiteralC<"INSUFFICIENT_WALLET_BALANCE">, t.LiteralC<"EXCESS_WALLET_BALANCE">, t.LiteralC<"INVOICE_EXPIRED">, t.LiteralC<"CANCELED">, t.LiteralC<"FORCE_FAILED">]>;
19
+ export type PaymentFailureReason = t.TypeOf<typeof PaymentFailureReason>;
20
+ /**
21
+ * Off-chain payment information
22
+ */
23
+ export declare const PaymentInfo: t.IntersectionC<[t.TypeC<{
24
+ paymentHash: t.StringC;
25
+ walletId: t.StringC;
26
+ txRequestId: t.StringC;
27
+ status: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
28
+ invoice: t.StringC;
29
+ feeLimitMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
30
+ destination: t.StringC;
31
+ updatedAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
32
+ createdAt: import("io-ts-types/DateFromISOString").DateFromISOStringC;
33
+ amountMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
34
+ }>, t.PartialC<{
35
+ feeMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
36
+ failureReason: t.UnionC<[t.LiteralC<"TIMEOUT">, t.LiteralC<"NO_ROUTE">, t.LiteralC<"ERROR">, t.LiteralC<"INCORRECT_PAYMENT_DETAILS">, t.LiteralC<"INSUFFICIENT_BALANCE">, t.LiteralC<"INSUFFICIENT_WALLET_BALANCE">, t.LiteralC<"EXCESS_WALLET_BALANCE">, t.LiteralC<"INVOICE_EXPIRED">, t.LiteralC<"CANCELED">, t.LiteralC<"FORCE_FAILED">]>;
37
+ paymentPreimage: t.StringC;
38
+ }>]>;
39
+ export type PaymentInfo = t.TypeOf<typeof PaymentInfo>;
40
+ /**
41
+ * Payment query parameters
42
+ */
43
+ export declare const PaymentQuery: t.PartialC<{
44
+ status: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
45
+ limit: import("io-ts-types/BigIntFromString").BigIntFromStringC;
46
+ startDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
47
+ endDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
48
+ }>;
49
+ export type PaymentQuery = t.TypeOf<typeof PaymentQuery>;
50
+ export declare const SubmitPaymentParams: t.IntersectionC<[t.IntersectionC<[t.TypeC<{
51
+ invoice: t.StringC;
52
+ }>, t.PartialC<{
53
+ amountMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
54
+ feeLimitMsat: import("io-ts-types/BigIntFromString").BigIntFromStringC;
55
+ feeLimitRatio: t.NumberC;
56
+ }>]>, t.TypeC<{
57
+ passphrase: t.StringC;
58
+ }>, t.PartialC<{
59
+ sequenceId: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
60
+ comment: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
61
+ }>]>;
62
+ export type SubmitPaymentParams = t.TypeOf<typeof SubmitPaymentParams>;
63
+ export declare const LndCreatePaymentResponse: t.IntersectionC<[t.TypeC<{
64
+ status: t.UnionC<[t.LiteralC<"in_flight">, t.LiteralC<"settled">, t.LiteralC<"failed">]>;
65
+ paymentHash: t.StringC;
66
+ }>, t.PartialC<{
67
+ paymentPreimage: t.StringC;
68
+ amountMsat: t.StringC;
69
+ feeMsat: t.StringC;
70
+ failureReason: t.UnionC<[t.LiteralC<"TIMEOUT">, t.LiteralC<"NO_ROUTE">, t.LiteralC<"ERROR">, t.LiteralC<"INCORRECT_PAYMENT_DETAILS">, t.LiteralC<"INSUFFICIENT_BALANCE">, t.LiteralC<"INSUFFICIENT_WALLET_BALANCE">, t.LiteralC<"EXCESS_WALLET_BALANCE">, t.LiteralC<"INVOICE_EXPIRED">, t.LiteralC<"CANCELED">, t.LiteralC<"FORCE_FAILED">]>;
71
+ }>]>;
72
+ export type LndCreatePaymentResponse = t.TypeOf<typeof LndCreatePaymentResponse>;
73
+ //# sourceMappingURL=payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../src/codecs/api/payment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAO3B,eAAO,MAAM,aAAa,kFAQxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;AAE3D,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,wBAAwB,aAAa,CAAC;AACnD,8BAA8B;AAC9B,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAC7E,6CAA6C;AAC7C,eAAO,MAAM,4CAA4C,yBAAyB,CAAC;AACnF,yEAAyE;AACzE,eAAO,MAAM,2CAA2C,gCAAgC,CAAC;AACzF,mEAAmE;AACnE,eAAO,MAAM,qCAAqC,0BAA0B,CAAC;AAC7E,eAAO,MAAM,+BAA+B,oBAAoB,CAAC;AACjE,eAAO,MAAM,wBAAwB,aAAa,CAAC;AACnD,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,gUAW/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;IAqBvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;EAQxB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEzD,eAAO,MAAM,mBAAmB;aAxFZ,EAAG,OAAO;;uBACzB,8BAAa;yBAA8C,8BAAa;mBAEzC,EAAG,OAAO;;;;;;IA8F5C,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,eAAO,MAAM,wBAAwB;;;;;;;;IAcpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LndCreatePaymentResponse = exports.SubmitPaymentParams = exports.PaymentQuery = exports.PaymentInfo = exports.PaymentFailureReason = exports.PAYMENT_FAILURE_FORCE_FAILED = exports.PAYMENT_FAILURE_CANCELED = exports.PAYMENT_FAILURE_INVOICE_EXPIRED = exports.PAYMENT_FAILURE_EXCESS_WALLET_BALANCE = exports.PAYMENT_FAILURE_INSUFFICIENT_WALLET_BALANCE = exports.PAYMENT_FAILURE_INSUFFICIENT_CHANNEL_BALANCE = exports.PAYMENT_FAILURE_INCORRECT_DETAILS = exports.PAYMENT_FAILURE_ERROR = exports.PAYMENT_FAILURE_NO_ROUTE = exports.PAYMENT_FAILURE_TIMEOUT = exports.PaymentStatus = void 0;
37
+ const t = __importStar(require("io-ts"));
38
+ const BigIntFromString_1 = require("io-ts-types/BigIntFromString");
39
+ const DateFromISOString_1 = require("io-ts-types/DateFromISOString");
40
+ const public_types_1 = require("@bitgo/public-types");
41
+ // codecs for lightning wallet payment related apis
42
+ exports.PaymentStatus = t.union([
43
+ // Initial state when payment is initiated.
44
+ // Transitions to 'settled' or 'failed' on LND notification.
45
+ t.literal('in_flight'),
46
+ // Final state.
47
+ t.literal('settled'),
48
+ // Final state.
49
+ t.literal('failed'),
50
+ ]);
51
+ exports.PAYMENT_FAILURE_TIMEOUT = 'TIMEOUT';
52
+ exports.PAYMENT_FAILURE_NO_ROUTE = 'NO_ROUTE';
53
+ /** A non-recoverable error */
54
+ exports.PAYMENT_FAILURE_ERROR = 'ERROR';
55
+ exports.PAYMENT_FAILURE_INCORRECT_DETAILS = 'INCORRECT_PAYMENT_DETAILS';
56
+ /** Insufficient channel outbound capacity */
57
+ exports.PAYMENT_FAILURE_INSUFFICIENT_CHANNEL_BALANCE = 'INSUFFICIENT_BALANCE';
58
+ /** Insufficient custodial lightning balance for the customer's wallet */
59
+ exports.PAYMENT_FAILURE_INSUFFICIENT_WALLET_BALANCE = 'INSUFFICIENT_WALLET_BALANCE';
60
+ /** Excess custodial lightning balance for the customer's wallet */
61
+ exports.PAYMENT_FAILURE_EXCESS_WALLET_BALANCE = 'EXCESS_WALLET_BALANCE';
62
+ exports.PAYMENT_FAILURE_INVOICE_EXPIRED = 'INVOICE_EXPIRED';
63
+ exports.PAYMENT_FAILURE_CANCELED = 'CANCELED';
64
+ exports.PAYMENT_FAILURE_FORCE_FAILED = 'FORCE_FAILED';
65
+ exports.PaymentFailureReason = t.union([
66
+ t.literal(exports.PAYMENT_FAILURE_TIMEOUT),
67
+ t.literal(exports.PAYMENT_FAILURE_NO_ROUTE),
68
+ t.literal(exports.PAYMENT_FAILURE_ERROR),
69
+ t.literal(exports.PAYMENT_FAILURE_INCORRECT_DETAILS),
70
+ t.literal(exports.PAYMENT_FAILURE_INSUFFICIENT_CHANNEL_BALANCE),
71
+ t.literal(exports.PAYMENT_FAILURE_INSUFFICIENT_WALLET_BALANCE),
72
+ t.literal(exports.PAYMENT_FAILURE_EXCESS_WALLET_BALANCE),
73
+ t.literal(exports.PAYMENT_FAILURE_INVOICE_EXPIRED),
74
+ t.literal(exports.PAYMENT_FAILURE_CANCELED),
75
+ t.literal(exports.PAYMENT_FAILURE_FORCE_FAILED),
76
+ ]);
77
+ /**
78
+ * Off-chain payment information
79
+ */
80
+ exports.PaymentInfo = t.intersection([
81
+ t.type({
82
+ paymentHash: t.string,
83
+ walletId: t.string,
84
+ txRequestId: t.string,
85
+ status: exports.PaymentStatus,
86
+ invoice: t.string,
87
+ feeLimitMsat: BigIntFromString_1.BigIntFromString,
88
+ destination: t.string,
89
+ updatedAt: DateFromISOString_1.DateFromISOString,
90
+ createdAt: DateFromISOString_1.DateFromISOString,
91
+ amountMsat: BigIntFromString_1.BigIntFromString,
92
+ }),
93
+ t.partial({
94
+ feeMsat: BigIntFromString_1.BigIntFromString,
95
+ failureReason: exports.PaymentFailureReason,
96
+ paymentPreimage: t.string,
97
+ }),
98
+ ], 'PaymentInfo');
99
+ /**
100
+ * Payment query parameters
101
+ */
102
+ exports.PaymentQuery = t.partial({
103
+ status: exports.PaymentStatus,
104
+ limit: BigIntFromString_1.BigIntFromString,
105
+ startDate: DateFromISOString_1.DateFromISOString,
106
+ endDate: DateFromISOString_1.DateFromISOString,
107
+ }, 'PaymentQuery');
108
+ exports.SubmitPaymentParams = t.intersection([
109
+ public_types_1.LightningPaymentRequest,
110
+ t.type({
111
+ passphrase: t.string,
112
+ }),
113
+ t.partial({
114
+ sequenceId: public_types_1.optionalString,
115
+ comment: public_types_1.optionalString,
116
+ }),
117
+ ]);
118
+ exports.LndCreatePaymentResponse = t.intersection([
119
+ t.type({
120
+ status: exports.PaymentStatus,
121
+ paymentHash: t.string,
122
+ }),
123
+ t.partial({
124
+ paymentPreimage: t.string,
125
+ amountMsat: t.string,
126
+ feeMsat: t.string,
127
+ failureReason: exports.PaymentFailureReason,
128
+ }),
129
+ ], 'LndCreatePaymentResponse');
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2RlY3MvYXBpL3BheW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTJCO0FBQzNCLG1FQUFnRTtBQUNoRSxxRUFBa0U7QUFDbEUsc0RBQThFO0FBRTlFLG1EQUFtRDtBQUV0QyxRQUFBLGFBQWEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25DLDJDQUEyQztJQUMzQyw0REFBNEQ7SUFDNUQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDdEIsZUFBZTtJQUNmLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BCLGVBQWU7SUFDZixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztDQUNwQixDQUFDLENBQUM7QUFHVSxRQUFBLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztBQUNwQyxRQUFBLHdCQUF3QixHQUFHLFVBQVUsQ0FBQztBQUNuRCw4QkFBOEI7QUFDakIsUUFBQSxxQkFBcUIsR0FBRyxPQUFPLENBQUM7QUFDaEMsUUFBQSxpQ0FBaUMsR0FBRywyQkFBMkIsQ0FBQztBQUM3RSw2Q0FBNkM7QUFDaEMsUUFBQSw0Q0FBNEMsR0FBRyxzQkFBc0IsQ0FBQztBQUNuRix5RUFBeUU7QUFDNUQsUUFBQSwyQ0FBMkMsR0FBRyw2QkFBNkIsQ0FBQztBQUN6RixtRUFBbUU7QUFDdEQsUUFBQSxxQ0FBcUMsR0FBRyx1QkFBdUIsQ0FBQztBQUNoRSxRQUFBLCtCQUErQixHQUFHLGlCQUFpQixDQUFDO0FBQ3BELFFBQUEsd0JBQXdCLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLFFBQUEsNEJBQTRCLEdBQUcsY0FBYyxDQUFDO0FBRTlDLFFBQUEsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDLENBQUMsT0FBTyxDQUFDLCtCQUF1QixDQUFDO0lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0NBQXdCLENBQUM7SUFDbkMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw2QkFBcUIsQ0FBQztJQUNoQyxDQUFDLENBQUMsT0FBTyxDQUFDLHlDQUFpQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxPQUFPLENBQUMsb0RBQTRDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtREFBMkMsQ0FBQztJQUN0RCxDQUFDLENBQUMsT0FBTyxDQUFDLDZDQUFxQyxDQUFDO0lBQ2hELENBQUMsQ0FBQyxPQUFPLENBQUMsdUNBQStCLENBQUM7SUFDMUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQ0FBd0IsQ0FBQztJQUNuQyxDQUFDLENBQUMsT0FBTyxDQUFDLG9DQUE0QixDQUFDO0NBQ3hDLENBQUMsQ0FBQztBQUlIOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDdkM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3JCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDckIsTUFBTSxFQUFFLHFCQUFhO1FBQ3JCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqQixZQUFZLEVBQUUsbUNBQWdCO1FBQzlCLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNyQixTQUFTLEVBQUUscUNBQWlCO1FBQzVCLFNBQVMsRUFBRSxxQ0FBaUI7UUFDNUIsVUFBVSxFQUFFLG1DQUFnQjtLQUM3QixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLE9BQU8sRUFBRSxtQ0FBZ0I7UUFDekIsYUFBYSxFQUFFLDRCQUFvQjtRQUNuQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDMUIsQ0FBQztDQUNILEVBQ0QsYUFBYSxDQUNkLENBQUM7QUFJRjs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQ25DO0lBQ0UsTUFBTSxFQUFFLHFCQUFhO0lBQ3JCLEtBQUssRUFBRSxtQ0FBZ0I7SUFDdkIsU0FBUyxFQUFFLHFDQUFpQjtJQUM1QixPQUFPLEVBQUUscUNBQWlCO0NBQzNCLEVBQ0QsY0FBYyxDQUNmLENBQUM7QUFHVyxRQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDaEQsc0NBQXVCO0lBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDckIsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixVQUFVLEVBQUUsNkJBQWM7UUFDMUIsT0FBTyxFQUFFLDZCQUFjO0tBQ3hCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFJVSxRQUFBLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQ3BEO0lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNMLE1BQU0sRUFBRSxxQkFBYTtRQUNyQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDdEIsQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDekIsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNqQixhQUFhLEVBQUUsNEJBQW9CO0tBQ3BDLENBQUM7Q0FDSCxFQUNELDBCQUEwQixDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBCaWdJbnRGcm9tU3RyaW5nIH0gZnJvbSAnaW8tdHMtdHlwZXMvQmlnSW50RnJvbVN0cmluZyc7XG5pbXBvcnQgeyBEYXRlRnJvbUlTT1N0cmluZyB9IGZyb20gJ2lvLXRzLXR5cGVzL0RhdGVGcm9tSVNPU3RyaW5nJztcbmltcG9ydCB7IExpZ2h0bmluZ1BheW1lbnRSZXF1ZXN0LCBvcHRpb25hbFN0cmluZyB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuXG4vLyBjb2RlY3MgZm9yIGxpZ2h0bmluZyB3YWxsZXQgcGF5bWVudCByZWxhdGVkIGFwaXNcblxuZXhwb3J0IGNvbnN0IFBheW1lbnRTdGF0dXMgPSB0LnVuaW9uKFtcbiAgLy8gSW5pdGlhbCBzdGF0ZSB3aGVuIHBheW1lbnQgaXMgaW5pdGlhdGVkLlxuICAvLyBUcmFuc2l0aW9ucyB0byAnc2V0dGxlZCcgb3IgJ2ZhaWxlZCcgb24gTE5EIG5vdGlmaWNhdGlvbi5cbiAgdC5saXRlcmFsKCdpbl9mbGlnaHQnKSxcbiAgLy8gRmluYWwgc3RhdGUuXG4gIHQubGl0ZXJhbCgnc2V0dGxlZCcpLFxuICAvLyBGaW5hbCBzdGF0ZS5cbiAgdC5saXRlcmFsKCdmYWlsZWQnKSxcbl0pO1xuZXhwb3J0IHR5cGUgUGF5bWVudFN0YXR1cyA9IHQuVHlwZU9mPHR5cGVvZiBQYXltZW50U3RhdHVzPjtcblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9USU1FT1VUID0gJ1RJTUVPVVQnO1xuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9OT19ST1VURSA9ICdOT19ST1VURSc7XG4vKiogQSBub24tcmVjb3ZlcmFibGUgZXJyb3IgKi9cbmV4cG9ydCBjb25zdCBQQVlNRU5UX0ZBSUxVUkVfRVJST1IgPSAnRVJST1InO1xuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9JTkNPUlJFQ1RfREVUQUlMUyA9ICdJTkNPUlJFQ1RfUEFZTUVOVF9ERVRBSUxTJztcbi8qKiBJbnN1ZmZpY2llbnQgY2hhbm5lbCBvdXRib3VuZCBjYXBhY2l0eSAqL1xuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9JTlNVRkZJQ0lFTlRfQ0hBTk5FTF9CQUxBTkNFID0gJ0lOU1VGRklDSUVOVF9CQUxBTkNFJztcbi8qKiBJbnN1ZmZpY2llbnQgY3VzdG9kaWFsIGxpZ2h0bmluZyBiYWxhbmNlIGZvciB0aGUgY3VzdG9tZXIncyB3YWxsZXQgKi9cbmV4cG9ydCBjb25zdCBQQVlNRU5UX0ZBSUxVUkVfSU5TVUZGSUNJRU5UX1dBTExFVF9CQUxBTkNFID0gJ0lOU1VGRklDSUVOVF9XQUxMRVRfQkFMQU5DRSc7XG4vKiogRXhjZXNzIGN1c3RvZGlhbCBsaWdodG5pbmcgYmFsYW5jZSBmb3IgdGhlIGN1c3RvbWVyJ3Mgd2FsbGV0ICovXG5leHBvcnQgY29uc3QgUEFZTUVOVF9GQUlMVVJFX0VYQ0VTU19XQUxMRVRfQkFMQU5DRSA9ICdFWENFU1NfV0FMTEVUX0JBTEFOQ0UnO1xuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9JTlZPSUNFX0VYUElSRUQgPSAnSU5WT0lDRV9FWFBJUkVEJztcbmV4cG9ydCBjb25zdCBQQVlNRU5UX0ZBSUxVUkVfQ0FOQ0VMRUQgPSAnQ0FOQ0VMRUQnO1xuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRkFJTFVSRV9GT1JDRV9GQUlMRUQgPSAnRk9SQ0VfRkFJTEVEJztcblxuZXhwb3J0IGNvbnN0IFBheW1lbnRGYWlsdXJlUmVhc29uID0gdC51bmlvbihbXG4gIHQubGl0ZXJhbChQQVlNRU5UX0ZBSUxVUkVfVElNRU9VVCksXG4gIHQubGl0ZXJhbChQQVlNRU5UX0ZBSUxVUkVfTk9fUk9VVEUpLFxuICB0LmxpdGVyYWwoUEFZTUVOVF9GQUlMVVJFX0VSUk9SKSxcbiAgdC5saXRlcmFsKFBBWU1FTlRfRkFJTFVSRV9JTkNPUlJFQ1RfREVUQUlMUyksXG4gIHQubGl0ZXJhbChQQVlNRU5UX0ZBSUxVUkVfSU5TVUZGSUNJRU5UX0NIQU5ORUxfQkFMQU5DRSksXG4gIHQubGl0ZXJhbChQQVlNRU5UX0ZBSUxVUkVfSU5TVUZGSUNJRU5UX1dBTExFVF9CQUxBTkNFKSxcbiAgdC5saXRlcmFsKFBBWU1FTlRfRkFJTFVSRV9FWENFU1NfV0FMTEVUX0JBTEFOQ0UpLFxuICB0LmxpdGVyYWwoUEFZTUVOVF9GQUlMVVJFX0lOVk9JQ0VfRVhQSVJFRCksXG4gIHQubGl0ZXJhbChQQVlNRU5UX0ZBSUxVUkVfQ0FOQ0VMRUQpLFxuICB0LmxpdGVyYWwoUEFZTUVOVF9GQUlMVVJFX0ZPUkNFX0ZBSUxFRCksXG5dKTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudEZhaWx1cmVSZWFzb24gPSB0LlR5cGVPZjx0eXBlb2YgUGF5bWVudEZhaWx1cmVSZWFzb24+O1xuXG4vKipcbiAqIE9mZi1jaGFpbiBwYXltZW50IGluZm9ybWF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBQYXltZW50SW5mbyA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICAgIHdhbGxldElkOiB0LnN0cmluZyxcbiAgICAgIHR4UmVxdWVzdElkOiB0LnN0cmluZyxcbiAgICAgIHN0YXR1czogUGF5bWVudFN0YXR1cyxcbiAgICAgIGludm9pY2U6IHQuc3RyaW5nLFxuICAgICAgZmVlTGltaXRNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgICAgZGVzdGluYXRpb246IHQuc3RyaW5nLFxuICAgICAgdXBkYXRlZEF0OiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICAgIGNyZWF0ZWRBdDogRGF0ZUZyb21JU09TdHJpbmcsXG4gICAgICBhbW91bnRNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBmZWVNc2F0OiBCaWdJbnRGcm9tU3RyaW5nLFxuICAgICAgZmFpbHVyZVJlYXNvbjogUGF5bWVudEZhaWx1cmVSZWFzb24sXG4gICAgICBwYXltZW50UHJlaW1hZ2U6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnUGF5bWVudEluZm8nXG4pO1xuXG5leHBvcnQgdHlwZSBQYXltZW50SW5mbyA9IHQuVHlwZU9mPHR5cGVvZiBQYXltZW50SW5mbz47XG5cbi8qKlxuICogUGF5bWVudCBxdWVyeSBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBQYXltZW50UXVlcnkgPSB0LnBhcnRpYWwoXG4gIHtcbiAgICBzdGF0dXM6IFBheW1lbnRTdGF0dXMsXG4gICAgbGltaXQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgc3RhcnREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICBlbmREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgfSxcbiAgJ1BheW1lbnRRdWVyeSdcbik7XG5leHBvcnQgdHlwZSBQYXltZW50UXVlcnkgPSB0LlR5cGVPZjx0eXBlb2YgUGF5bWVudFF1ZXJ5PjtcblxuZXhwb3J0IGNvbnN0IFN1Ym1pdFBheW1lbnRQYXJhbXMgPSB0LmludGVyc2VjdGlvbihbXG4gIExpZ2h0bmluZ1BheW1lbnRSZXF1ZXN0LFxuICB0LnR5cGUoe1xuICAgIHBhc3NwaHJhc2U6IHQuc3RyaW5nLFxuICB9KSxcbiAgdC5wYXJ0aWFsKHtcbiAgICBzZXF1ZW5jZUlkOiBvcHRpb25hbFN0cmluZyxcbiAgICBjb21tZW50OiBvcHRpb25hbFN0cmluZyxcbiAgfSksXG5dKTtcblxuZXhwb3J0IHR5cGUgU3VibWl0UGF5bWVudFBhcmFtcyA9IHQuVHlwZU9mPHR5cGVvZiBTdWJtaXRQYXltZW50UGFyYW1zPjtcblxuZXhwb3J0IGNvbnN0IExuZENyZWF0ZVBheW1lbnRSZXNwb25zZSA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHN0YXR1czogUGF5bWVudFN0YXR1cyxcbiAgICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgcGF5bWVudFByZWltYWdlOiB0LnN0cmluZyxcbiAgICAgIGFtb3VudE1zYXQ6IHQuc3RyaW5nLFxuICAgICAgZmVlTXNhdDogdC5zdHJpbmcsXG4gICAgICBmYWlsdXJlUmVhc29uOiBQYXltZW50RmFpbHVyZVJlYXNvbixcbiAgICB9KSxcbiAgXSxcbiAgJ0xuZENyZWF0ZVBheW1lbnRSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIExuZENyZWF0ZVBheW1lbnRSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBMbmRDcmVhdGVQYXltZW50UmVzcG9uc2U+O1xuIl19
@@ -0,0 +1,82 @@
1
+ import * as t from 'io-ts';
2
+ /**
3
+ * Transaction entry details
4
+ */
5
+ export declare const TransactionEntry: t.IntersectionC<[t.TypeC<{
6
+ inputs: t.NumberC;
7
+ outputs: t.NumberC;
8
+ value: t.NumberC;
9
+ valueString: t.StringC;
10
+ address: t.StringC;
11
+ }>, t.PartialC<{
12
+ wallet: t.StringC;
13
+ }>]>;
14
+ export type TransactionEntry = t.TypeOf<typeof TransactionEntry>;
15
+ /**
16
+ * Transaction input/output details
17
+ */
18
+ export declare const Output: t.IntersectionC<[t.TypeC<{
19
+ id: t.StringC;
20
+ value: t.NumberC;
21
+ valueString: t.StringC;
22
+ }>, t.PartialC<{
23
+ wallet: t.StringC;
24
+ address: t.StringC;
25
+ }>]>;
26
+ export type Output = t.TypeOf<typeof Output>;
27
+ /**
28
+ * Transaction details
29
+ */
30
+ export declare const Transaction: t.IntersectionC<[t.TypeC<{
31
+ id: t.StringC;
32
+ normalizedTxHash: t.StringC;
33
+ blockHeight: t.NumberC;
34
+ blockHash: t.StringC;
35
+ blockPosition: t.NumberC;
36
+ inputIds: t.ArrayC<t.StringC>;
37
+ entries: t.ArrayC<t.IntersectionC<[t.TypeC<{
38
+ inputs: t.NumberC;
39
+ outputs: t.NumberC;
40
+ value: t.NumberC;
41
+ valueString: t.StringC;
42
+ address: t.StringC;
43
+ }>, t.PartialC<{
44
+ wallet: t.StringC;
45
+ }>]>>;
46
+ inputs: t.ArrayC<t.IntersectionC<[t.TypeC<{
47
+ id: t.StringC;
48
+ value: t.NumberC;
49
+ valueString: t.StringC;
50
+ }>, t.PartialC<{
51
+ wallet: t.StringC;
52
+ address: t.StringC;
53
+ }>]>>;
54
+ outputs: t.ArrayC<t.IntersectionC<[t.TypeC<{
55
+ id: t.StringC;
56
+ value: t.NumberC;
57
+ valueString: t.StringC;
58
+ }>, t.PartialC<{
59
+ wallet: t.StringC;
60
+ address: t.StringC;
61
+ }>]>>;
62
+ size: t.NumberC;
63
+ date: import("io-ts-types/DateFromISOString").DateFromISOStringC;
64
+ fee: t.NumberC;
65
+ feeString: t.StringC;
66
+ hex: t.StringC;
67
+ confirmations: t.NumberC;
68
+ }>, t.PartialC<{
69
+ label: t.StringC;
70
+ }>]>;
71
+ export type Transaction = t.TypeOf<typeof Transaction>;
72
+ /**
73
+ * Transaction query parameters
74
+ */
75
+ export declare const TransactionQuery: t.PartialC<{
76
+ blockHeight: import("io-ts-types/BigIntFromString").BigIntFromStringC;
77
+ limit: import("io-ts-types/BigIntFromString").BigIntFromStringC;
78
+ startDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
79
+ endDate: import("io-ts-types/DateFromISOString").DateFromISOStringC;
80
+ }>;
81
+ export type TransactionQuery = t.TypeOf<typeof TransactionQuery>;
82
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/codecs/api/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAM3B;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;IAc5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;IAalB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBvB,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;EAQ5B,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TransactionQuery = exports.Transaction = exports.Output = exports.TransactionEntry = void 0;
37
+ const t = __importStar(require("io-ts"));
38
+ const DateFromISOString_1 = require("io-ts-types/DateFromISOString");
39
+ const BigIntFromString_1 = require("io-ts-types/BigIntFromString");
40
+ // codecs for lightning wallet transaction related apis
41
+ /**
42
+ * Transaction entry details
43
+ */
44
+ exports.TransactionEntry = t.intersection([
45
+ t.type({
46
+ inputs: t.number,
47
+ outputs: t.number,
48
+ value: t.number,
49
+ valueString: t.string,
50
+ address: t.string,
51
+ }),
52
+ t.partial({
53
+ wallet: t.string,
54
+ }),
55
+ ], 'TransactionEntry');
56
+ /**
57
+ * Transaction input/output details
58
+ */
59
+ exports.Output = t.intersection([
60
+ t.type({
61
+ id: t.string,
62
+ value: t.number,
63
+ valueString: t.string,
64
+ }),
65
+ t.partial({
66
+ wallet: t.string,
67
+ address: t.string,
68
+ }),
69
+ ], 'Output');
70
+ /**
71
+ * Transaction details
72
+ */
73
+ exports.Transaction = t.intersection([
74
+ t.type({
75
+ id: t.string,
76
+ normalizedTxHash: t.string,
77
+ blockHeight: t.number,
78
+ blockHash: t.string,
79
+ blockPosition: t.number,
80
+ inputIds: t.array(t.string),
81
+ entries: t.array(exports.TransactionEntry),
82
+ inputs: t.array(exports.Output),
83
+ outputs: t.array(exports.Output),
84
+ size: t.number,
85
+ date: DateFromISOString_1.DateFromISOString,
86
+ fee: t.number,
87
+ feeString: t.string,
88
+ hex: t.string,
89
+ confirmations: t.number,
90
+ }),
91
+ t.partial({
92
+ label: t.string,
93
+ }),
94
+ ], 'Transaction');
95
+ /**
96
+ * Transaction query parameters
97
+ */
98
+ exports.TransactionQuery = t.partial({
99
+ blockHeight: BigIntFromString_1.BigIntFromString,
100
+ limit: BigIntFromString_1.BigIntFromString,
101
+ startDate: DateFromISOString_1.DateFromISOString,
102
+ endDate: DateFromISOString_1.DateFromISOString,
103
+ }, 'TransactionQuery');
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29kZWNzL2FwaS90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBMkI7QUFDM0IscUVBQWtFO0FBQ2xFLG1FQUFnRTtBQUVoRSx1REFBdUQ7QUFFdkQ7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxZQUFZLENBQzVDO0lBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNMLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDakIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2YsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3JCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNsQixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNqQixDQUFDO0NBQ0gsRUFDRCxrQkFBa0IsQ0FDbkIsQ0FBQztBQUdGOztHQUVHO0FBQ1UsUUFBQSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDbEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2YsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ3RCLENBQUM7SUFDRixDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNsQixDQUFDO0NBQ0gsRUFDRCxRQUFRLENBQ1QsQ0FBQztBQUdGOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDdkM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ1osZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDMUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3JCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNuQixhQUFhLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx3QkFBZ0IsQ0FBQztRQUNsQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFNLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBTSxDQUFDO1FBQ3hCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNkLElBQUksRUFBRSxxQ0FBaUI7UUFDdkIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ25CLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNiLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTTtLQUN4QixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtLQUNoQixDQUFDO0NBQ0gsRUFDRCxhQUFhLENBQ2QsQ0FBQztBQUdGOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUN2QztJQUNFLFdBQVcsRUFBRSxtQ0FBZ0I7SUFDN0IsS0FBSyxFQUFFLG1DQUFnQjtJQUN2QixTQUFTLEVBQUUscUNBQWlCO0lBQzVCLE9BQU8sRUFBRSxxQ0FBaUI7Q0FDM0IsRUFDRCxrQkFBa0IsQ0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgRGF0ZUZyb21JU09TdHJpbmcgfSBmcm9tICdpby10cy10eXBlcy9EYXRlRnJvbUlTT1N0cmluZyc7XG5pbXBvcnQgeyBCaWdJbnRGcm9tU3RyaW5nIH0gZnJvbSAnaW8tdHMtdHlwZXMvQmlnSW50RnJvbVN0cmluZyc7XG5cbi8vIGNvZGVjcyBmb3IgbGlnaHRuaW5nIHdhbGxldCB0cmFuc2FjdGlvbiByZWxhdGVkIGFwaXNcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBlbnRyeSBkZXRhaWxzXG4gKi9cbmV4cG9ydCBjb25zdCBUcmFuc2FjdGlvbkVudHJ5ID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgaW5wdXRzOiB0Lm51bWJlcixcbiAgICAgIG91dHB1dHM6IHQubnVtYmVyLFxuICAgICAgdmFsdWU6IHQubnVtYmVyLFxuICAgICAgdmFsdWVTdHJpbmc6IHQuc3RyaW5nLFxuICAgICAgYWRkcmVzczogdC5zdHJpbmcsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIHdhbGxldDogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdUcmFuc2FjdGlvbkVudHJ5J1xuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRW50cnkgPSB0LlR5cGVPZjx0eXBlb2YgVHJhbnNhY3Rpb25FbnRyeT47XG5cbi8qKlxuICogVHJhbnNhY3Rpb24gaW5wdXQvb3V0cHV0IGRldGFpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IE91dHB1dCA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIGlkOiB0LnN0cmluZyxcbiAgICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICAgIHZhbHVlU3RyaW5nOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgICB0LnBhcnRpYWwoe1xuICAgICAgd2FsbGV0OiB0LnN0cmluZyxcbiAgICAgIGFkZHJlc3M6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnT3V0cHV0J1xuKTtcbmV4cG9ydCB0eXBlIE91dHB1dCA9IHQuVHlwZU9mPHR5cGVvZiBPdXRwdXQ+O1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uIGRldGFpbHNcbiAqL1xuZXhwb3J0IGNvbnN0IFRyYW5zYWN0aW9uID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgaWQ6IHQuc3RyaW5nLFxuICAgICAgbm9ybWFsaXplZFR4SGFzaDogdC5zdHJpbmcsXG4gICAgICBibG9ja0hlaWdodDogdC5udW1iZXIsXG4gICAgICBibG9ja0hhc2g6IHQuc3RyaW5nLFxuICAgICAgYmxvY2tQb3NpdGlvbjogdC5udW1iZXIsXG4gICAgICBpbnB1dElkczogdC5hcnJheSh0LnN0cmluZyksXG4gICAgICBlbnRyaWVzOiB0LmFycmF5KFRyYW5zYWN0aW9uRW50cnkpLFxuICAgICAgaW5wdXRzOiB0LmFycmF5KE91dHB1dCksXG4gICAgICBvdXRwdXRzOiB0LmFycmF5KE91dHB1dCksXG4gICAgICBzaXplOiB0Lm51bWJlcixcbiAgICAgIGRhdGU6IERhdGVGcm9tSVNPU3RyaW5nLFxuICAgICAgZmVlOiB0Lm51bWJlcixcbiAgICAgIGZlZVN0cmluZzogdC5zdHJpbmcsXG4gICAgICBoZXg6IHQuc3RyaW5nLFxuICAgICAgY29uZmlybWF0aW9uczogdC5udW1iZXIsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIGxhYmVsOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ1RyYW5zYWN0aW9uJ1xuKTtcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uID0gdC5UeXBlT2Y8dHlwZW9mIFRyYW5zYWN0aW9uPjtcblxuLyoqXG4gKiBUcmFuc2FjdGlvbiBxdWVyeSBwYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBUcmFuc2FjdGlvblF1ZXJ5ID0gdC5wYXJ0aWFsKFxuICB7XG4gICAgYmxvY2tIZWlnaHQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgbGltaXQ6IEJpZ0ludEZyb21TdHJpbmcsXG4gICAgc3RhcnREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgICBlbmREYXRlOiBEYXRlRnJvbUlTT1N0cmluZyxcbiAgfSxcbiAgJ1RyYW5zYWN0aW9uUXVlcnknXG4pO1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25RdWVyeSA9IHQuVHlwZU9mPHR5cGVvZiBUcmFuc2FjdGlvblF1ZXJ5PjtcbiJdfQ==