@gvnrdao/dh-lit-actions 0.0.112 → 0.0.192

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 (93) hide show
  1. package/dist/admin-liquidation-validator.action.js +1 -0
  2. package/dist/admin-liquidation-validator.hash +1 -0
  3. package/dist/admin-liquidation-validator.meta.json +9 -0
  4. package/dist/always-signer.action.js +1 -0
  5. package/dist/always-signer.hash +1 -0
  6. package/dist/always-signer.meta.json +9 -0
  7. package/dist/authorization-dummy-b.action.js +1 -0
  8. package/dist/authorization-dummy-b.hash +1 -0
  9. package/dist/authorization-dummy-b.meta.json +9 -0
  10. package/dist/authorization-dummy.action.js +1 -0
  11. package/dist/authorization-dummy.hash +1 -0
  12. package/dist/authorization-dummy.meta.json +9 -0
  13. package/dist/btc-transaction-signer.action.js +1 -0
  14. package/dist/btc-transaction-signer.hash +1 -0
  15. package/dist/btc-transaction-signer.meta.json +9 -0
  16. package/dist/btc-withdrawal.action.js +1 -0
  17. package/dist/btc-withdrawal.hash +1 -0
  18. package/dist/btc-withdrawal.meta.json +9 -0
  19. package/dist/extend-position-validator.action.js +1 -0
  20. package/dist/extend-position-validator.hash +1 -0
  21. package/dist/extend-position-validator.meta.json +9 -0
  22. package/dist/liquidation-validator.action.js +1 -0
  23. package/dist/liquidation-validator.hash +1 -0
  24. package/dist/liquidation-validator.meta.json +9 -0
  25. package/dist/loan-vault-btc-balance.action.js +1 -0
  26. package/dist/loan-vault-btc-balance.hash +1 -0
  27. package/dist/loan-vault-btc-balance.meta.json +9 -0
  28. package/dist/pkp-validator-datil.action.js +1 -0
  29. package/dist/pkp-validator-datil.hash +1 -0
  30. package/dist/pkp-validator-datil.meta.json +9 -0
  31. package/dist/price-oracle.action.js +1 -0
  32. package/dist/price-oracle.hash +1 -0
  33. package/dist/price-oracle.meta.json +9 -0
  34. package/dist/process-payment-sign-only.action.js +1 -0
  35. package/dist/process-payment-sign-only.hash +1 -0
  36. package/dist/process-payment-sign-only.meta.json +9 -0
  37. package/dist/process-payment-validator.action.js +1 -0
  38. package/dist/process-payment-validator.hash +1 -0
  39. package/dist/process-payment-validator.meta.json +9 -0
  40. package/dist/ucd-mint-validator.action.js +1 -0
  41. package/dist/ucd-mint-validator.hash +1 -0
  42. package/dist/ucd-mint-validator.meta.json +9 -0
  43. package/package.json +4 -2
  44. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts.map +1 -1
  45. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js +127 -108
  46. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js.map +1 -1
  47. package/pkg-dist/pkg-src/executors/chunks/price-oracle-executor.d.ts +47 -0
  48. package/pkg-dist/pkg-src/executors/chunks/price-oracle-executor.d.ts.map +1 -0
  49. package/pkg-dist/pkg-src/executors/chunks/price-oracle-executor.js +77 -0
  50. package/pkg-dist/pkg-src/executors/chunks/price-oracle-executor.js.map +1 -0
  51. package/pkg-dist/pkg-src/executors/index.d.ts +39 -0
  52. package/pkg-dist/pkg-src/executors/index.d.ts.map +1 -1
  53. package/pkg-dist/pkg-src/executors/index.js +41 -1
  54. package/pkg-dist/pkg-src/executors/index.js.map +1 -1
  55. package/pkg-dist/pkg-src/utils/chunks/cid-utils.d.ts.map +1 -1
  56. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js +0 -5
  57. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js.map +1 -1
  58. package/pkg-dist/src/constants/chunks/quantum-time.d.ts +5 -5
  59. package/pkg-dist/src/constants/chunks/quantum-time.js +5 -5
  60. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts +0 -1
  61. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts.map +1 -1
  62. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts +7 -6
  63. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts.map +1 -1
  64. package/pkg-dist/src/modules/bitcoin-data-provider.module.js +93 -97
  65. package/pkg-dist/src/modules/bitcoin-data-provider.module.js.map +1 -1
  66. package/pkg-dist/src/modules/business-rules-math.module.d.ts +2 -0
  67. package/pkg-dist/src/modules/business-rules-math.module.d.ts.map +1 -1
  68. package/pkg-dist/src/modules/business-rules-math.module.js +9 -2
  69. package/pkg-dist/src/modules/business-rules-math.module.js.map +1 -1
  70. package/pkg-dist/src/modules/lit-action-logger.module.d.ts +55 -0
  71. package/pkg-dist/src/modules/lit-action-logger.module.d.ts.map +1 -0
  72. package/pkg-dist/src/modules/lit-action-logger.module.js +184 -0
  73. package/pkg-dist/src/modules/lit-action-logger.module.js.map +1 -0
  74. package/pkg-dist/src/modules/price-oracle.module.d.ts +41 -3
  75. package/pkg-dist/src/modules/price-oracle.module.d.ts.map +1 -1
  76. package/pkg-dist/src/modules/price-oracle.module.js +265 -122
  77. package/pkg-dist/src/modules/price-oracle.module.js.map +1 -1
  78. package/pkg-dist/src/modules/protocol-parameters.module.d.ts +10 -0
  79. package/pkg-dist/src/modules/protocol-parameters.module.d.ts.map +1 -1
  80. package/pkg-dist/src/modules/protocol-parameters.module.js +49 -2
  81. package/pkg-dist/src/modules/protocol-parameters.module.js.map +1 -1
  82. package/pkg-dist/src/modules/quantum-time.module.d.ts +1 -1
  83. package/pkg-dist/src/modules/quantum-time.module.d.ts.map +1 -1
  84. package/pkg-dist/src/modules/quantum-time.module.js +18 -9
  85. package/pkg-dist/src/modules/quantum-time.module.js.map +1 -1
  86. package/pkg-dist/src/modules/vault-balance.module.d.ts +37 -3
  87. package/pkg-dist/src/modules/vault-balance.module.d.ts.map +1 -1
  88. package/pkg-dist/src/modules/vault-balance.module.js +116 -63
  89. package/pkg-dist/src/modules/vault-balance.module.js.map +1 -1
  90. package/pkg-dist/src/modules/vault-snapshot.d.ts +5 -3
  91. package/pkg-dist/src/modules/vault-snapshot.d.ts.map +1 -1
  92. package/pkg-dist/src/modules/vault-snapshot.js +9 -6
  93. package/pkg-dist/src/modules/vault-snapshot.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cid-utils.js","sourceRoot":"","sources":["../../../../pkg-src/utils/chunks/cid-utils.ts"],"names":[],"mappings":";;;;;AAMA,4BA2BC;AAjCD,gDAAwB;AAExB;;;GAGG;AACH,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,6CAA6C;QAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,kDAAkD;YAClD,OAAO,oEAAoE,CAAC;QAC9E,CAAC;QAED,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,iCAAiC;YACjC,MAAM,KAAK,GAAG,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,wBAAwB;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,6DAA6D,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC/E,0BAA0B;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,yCAAyC;QACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cid-utils.js","sourceRoot":"","sources":["../../../../pkg-src/utils/chunks/cid-utils.ts"],"names":[],"mappings":";;;;;AAMA,4BAqBC;AA3BD,gDAAwB;AAExB;;;GAGG;AACH,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,iCAAiC;YACjC,MAAM,KAAK,GAAG,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,wBAAwB;YACxB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,6DAA6D,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC/E,0BAA0B;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;QACD,yCAAyC;QACzC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;AACH,CAAC"}
@@ -10,10 +10,10 @@
10
10
  /**
11
11
  * Quantum Window Duration (seconds)
12
12
  *
13
- * Each quantum window is 300 seconds long.
14
- * Quantum timestamps always end in 00: 300, 600, 900, 1200...
13
+ * Each quantum window is 100 seconds long.
14
+ * Quantum timestamps always end in 00: 100, 200, 300, 400...
15
15
  *
16
- * Value: 300 seconds
16
+ * Value: 100 seconds
17
17
  *
18
18
  * Purpose:
19
19
  * - Provides time-bound validation windows
@@ -24,7 +24,7 @@
24
24
  *
25
25
  * Governance-adjustable: NO (protocol-level constant)
26
26
  */
27
- export declare const QUANTUM_WINDOW_SECONDS = 300;
27
+ export declare const QUANTUM_WINDOW_SECONDS = 100;
28
28
  /**
29
29
  * Dead Zone Duration (seconds)
30
30
  *
@@ -32,7 +32,7 @@ export declare const QUANTUM_WINDOW_SECONDS = 300;
32
32
  * During this period, LIT Actions WAIT and Smart Contracts REJECT.
33
33
  *
34
34
  * Dead zone structure:
35
- * - Seconds 292-299: Last 8 seconds of quantum (before boundary)
35
+ * - Seconds 92-99: Last 8 seconds of quantum (before boundary)
36
36
  * - Seconds 0-7: First 8 seconds of quantum (after boundary)
37
37
  * - Total: 16 seconds
38
38
  *
@@ -13,10 +13,10 @@ exports.SAFE_EXECUTION_WINDOW_SECONDS = exports.DEAD_ZONE_SECONDS = exports.QUAN
13
13
  /**
14
14
  * Quantum Window Duration (seconds)
15
15
  *
16
- * Each quantum window is 300 seconds long.
17
- * Quantum timestamps always end in 00: 300, 600, 900, 1200...
16
+ * Each quantum window is 100 seconds long.
17
+ * Quantum timestamps always end in 00: 100, 200, 300, 400...
18
18
  *
19
- * Value: 300 seconds
19
+ * Value: 100 seconds
20
20
  *
21
21
  * Purpose:
22
22
  * - Provides time-bound validation windows
@@ -27,7 +27,7 @@ exports.SAFE_EXECUTION_WINDOW_SECONDS = exports.DEAD_ZONE_SECONDS = exports.QUAN
27
27
  *
28
28
  * Governance-adjustable: NO (protocol-level constant)
29
29
  */
30
- exports.QUANTUM_WINDOW_SECONDS = 300;
30
+ exports.QUANTUM_WINDOW_SECONDS = 100;
31
31
  /**
32
32
  * Dead Zone Duration (seconds)
33
33
  *
@@ -35,7 +35,7 @@ exports.QUANTUM_WINDOW_SECONDS = 300;
35
35
  * During this period, LIT Actions WAIT and Smart Contracts REJECT.
36
36
  *
37
37
  * Dead zone structure:
38
- * - Seconds 292-299: Last 8 seconds of quantum (before boundary)
38
+ * - Seconds 92-99: Last 8 seconds of quantum (before boundary)
39
39
  * - Seconds 0-7: First 8 seconds of quantum (after boundary)
40
40
  * - Total: 16 seconds
41
41
  *
@@ -39,7 +39,6 @@ export interface AuthorizedSpend {
39
39
  positionId: string;
40
40
  targetAddress: string;
41
41
  targetAmount: bigint;
42
- changeAddress: string;
43
42
  timestamp: number;
44
43
  }
45
44
  export interface VaultBalanceResult {
@@ -1 +1 @@
1
- {"version":3,"file":"vault-balance.i.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/chunks/vault-balance.i.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,CAAC;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"vault-balance.i.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/chunks/vault-balance.i.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,CAAC;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -19,12 +19,10 @@ import { IBitcoinDataProvider } from "../interfaces/chunks/bitcoin-data-provider
19
19
  export declare class BitcoinDataProvider implements IBitcoinDataProvider {
20
20
  private config;
21
21
  private timeout;
22
+ private logger;
22
23
  constructor(config: BitcoinDataProviderConfig);
23
24
  /**
24
25
  * Get current Bitcoin block height from provider
25
- *
26
- * Returns null if block height cannot be fetched (e.g., provider doesn't support it).
27
- * This allows graceful degradation for providers that don't implement the Esplora API fully.
28
26
  */
29
27
  private getCurrentBlockHeight;
30
28
  /**
@@ -56,7 +54,7 @@ export declare class BitcoinDataProvider implements IBitcoinDataProvider {
56
54
  * - Blockstream format: {txid, vout, value, confirmations}
57
55
  *
58
56
  * @param data Raw response from provider API
59
- * @param currentBlockHeight Current block height (for calculating confirmations from block_height), or null if unavailable
57
+ * @param currentBlockHeight Current block height (for calculating confirmations from block_height)
60
58
  * @returns Array of normalized UTXOs
61
59
  */
62
60
  private parseBlockstreamUTXOs;
@@ -82,8 +80,11 @@ export declare class BitcoinDataProvider implements IBitcoinDataProvider {
82
80
  /**
83
81
  * Get balance for a Bitcoin address (fast, no UTXO details)
84
82
  *
85
- * This method uses the standard Esplora /address/:address endpoint
86
- * to get confirmed balance from chain_stats.
83
+ * WARNING: This method does NOT validate individual UTXOs.
84
+ * Use ONLY for non-critical balance display, never for authorization validation.
85
+ * For authorization/security: ALWAYS use getUTXOSet() with full UTXO validation.
86
+ *
87
+ * Uses Esplora /address/:address endpoint to get confirmed balance from chain_stats.
87
88
  *
88
89
  * @param address - Bitcoin address
89
90
  * @returns Balance in satoshis (confirmed balance only)
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-data-provider.module.d.ts","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,yBAAyB,EACzB,IAAI,EACJ,OAAO,EACR,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,yBAAyB;IAO7C;;;;;OAKG;YACW,qBAAqB;IA+DnC;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAqDhD;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;YACW,iBAAiB;IAqB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IA4C7B;;;;;;OAMG;YACW,sBAAsB;IA2DpC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;;;;;OASG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuElD;;;;;;;;OAQG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CA+E3D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,CAErB"}
1
+ {"version":3,"file":"bitcoin-data-provider.module.d.ts","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,yBAAyB,EACzB,IAAI,EACJ,OAAO,EACR,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAGpF;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAA4C;gBAE9C,MAAM,EAAE,yBAAyB;IAO7C;;OAEG;YACW,qBAAqB;IAqDnC;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAuDhD;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;YACW,iBAAiB;IAqB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IA2C7B;;;;;;OAMG;YACW,sBAAsB;IA0DpC;;;;;;;;;OASG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IAkDnB;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmElD;;;;;;;;OAQG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CA4E3D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,CAErB"}
@@ -12,6 +12,7 @@
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.BitcoinDataProvider = void 0;
14
14
  exports.createBitcoinDataProvider = createBitcoinDataProvider;
15
+ const lit_action_logger_module_1 = require("./lit-action-logger.module");
15
16
  /**
16
17
  * Bitcoin Data Provider
17
18
  *
@@ -21,23 +22,19 @@ exports.createBitcoinDataProvider = createBitcoinDataProvider;
21
22
  class BitcoinDataProvider {
22
23
  constructor(config) {
23
24
  this.config = config;
24
- // Reduced to 15 seconds to leave time for other operations in LIT action (30s total limit)
25
- // Can be overridden via config.timeout
25
+ // 15 seconds to leave time for other operations in LIT action (30s total limit)
26
26
  this.timeout = config.timeout || 15000;
27
+ this.logger = lit_action_logger_module_1.LitActionLogger.create("BitcoinDataProvider");
27
28
  }
28
29
  /**
29
30
  * Get current Bitcoin block height from provider
30
- *
31
- * Returns null if block height cannot be fetched (e.g., provider doesn't support it).
32
- * This allows graceful degradation for providers that don't implement the Esplora API fully.
33
31
  */
34
32
  async getCurrentBlockHeight() {
35
- const getBlockHeightStartTime = Date.now();
33
+ this.logger.stepStart("0", "getCurrentBlockHeight");
36
34
  // If RPC helper is provided, use it
37
35
  if (this.config.rpcHelper) {
38
36
  const blockCount = await this.config.rpcHelper.getBlockCount();
39
- const duration = Date.now() - getBlockHeightStartTime;
40
- console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (RPC helper): ${duration}ms`);
37
+ this.logger.stepEnd("0");
41
38
  return blockCount;
42
39
  }
43
40
  // Fetch from Esplora API
@@ -47,44 +44,30 @@ class BitcoinDataProvider {
47
44
  const response = await fetch(`${this.config.providerUrl}/blocks/tip/height`, {
48
45
  signal: controller.signal,
49
46
  headers: {
50
- // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
51
- // Match CryptoCompare working pattern - minimal headers only
52
47
  Accept: "text/plain",
48
+ "User-Agent": "Mozilla/5.0 (compatible; DiamondHandsValidator/1.0)",
49
+ "ngrok-skip-browser-warning": "true",
53
50
  },
54
51
  });
55
52
  clearTimeout(timeoutId);
56
53
  if (!response.ok) {
57
- // For regtest/testnet, it's acceptable if block height endpoint doesn't exist
58
- // We'll use a fallback strategy in parseBlockstreamUTXOs
59
- console.warn(`[Bitcoin Data] Block height endpoint not available (${response.status}), will use fallback confirmation calculation`);
60
- const duration = Date.now() - getBlockHeightStartTime;
61
- console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (failed): ${duration}ms`);
62
- return null;
54
+ throw new Error(`Failed to fetch block height: ${response.status} ${response.statusText}`);
63
55
  }
64
56
  const heightText = await response.text();
65
57
  const height = parseInt(heightText.trim(), 10);
66
58
  if (isNaN(height)) {
67
- console.warn(`[Bitcoin Data] Invalid block height response: ${heightText}, will use fallback`);
68
- const duration = Date.now() - getBlockHeightStartTime;
69
- console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (invalid): ${duration}ms`);
70
- return null;
59
+ throw new Error(`Invalid block height response: ${heightText}`);
71
60
  }
72
- const duration = Date.now() - getBlockHeightStartTime;
73
- console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight: ${duration}ms`);
61
+ this.logger.stepEnd("0");
74
62
  return height;
75
63
  }
76
64
  catch (error) {
77
65
  clearTimeout(timeoutId);
78
- const duration = Date.now() - getBlockHeightStartTime;
79
- console.log(`[Bitcoin Data] [Timing] getCurrentBlockHeight (error): ${duration}ms`);
66
+ this.logger.stepEnd("0");
80
67
  if (error.name === "AbortError") {
81
- console.warn(`[Bitcoin Data] Block height request timeout, will use fallback`);
82
- return null;
68
+ throw new Error(`Request timeout after ${this.timeout}ms`);
83
69
  }
84
- // For network errors or 404s, return null instead of throwing
85
- // This allows graceful degradation for providers that don't support block height
86
- console.warn(`[Bitcoin Data] Could not fetch block height: ${error.message}, will use fallback`);
87
- return null;
70
+ throw error;
88
71
  }
89
72
  }
90
73
  /**
@@ -94,10 +77,10 @@ class BitcoinDataProvider {
94
77
  * @returns Array of UTXOs
95
78
  */
96
79
  async getUTXOs(address) {
97
- console.log(`[Bitcoin Data] Original address: "${address}"`);
80
+ this.logger.log("0", `Original address: "${address}"`);
98
81
  // Strip network prefix if present (e.g., "REGTEST_address" -> "address")
99
82
  const cleanAddress = this.stripNetworkPrefix(address);
100
- console.log(`[Bitcoin Data] Cleaned address: "${cleanAddress}"`);
83
+ this.logger.log("0", `Cleaned address: "${cleanAddress}"`);
101
84
  // If RPC helper is provided (for regtest/testing), use it directly
102
85
  if (this.config.rpcHelper) {
103
86
  return await this.fetchUTXOsFromRPC(cleanAddress);
@@ -107,18 +90,18 @@ class BitcoinDataProvider {
107
90
  return await this.fetchUTXOsFromProvider(this.config.providerUrl, cleanAddress);
108
91
  }
109
92
  catch (error) {
110
- console.warn(`[Bitcoin Data] Primary provider failed: ${error.message}`);
93
+ this.logger.warn("0", `Primary provider failed: ${error.message}`);
111
94
  // Try fallback providers if available
112
95
  if (this.config.fallbackProviders &&
113
96
  this.config.fallbackProviders.length > 0) {
114
97
  const sortedFallbacks = [...this.config.fallbackProviders].sort((a, b) => a.priority - b.priority);
115
98
  for (const fallback of sortedFallbacks) {
116
99
  try {
117
- console.log(`[Bitcoin Data] Trying fallback: ${fallback.name} (${fallback.url})`);
100
+ this.logger.log("0", `Trying fallback: ${fallback.name} (${fallback.url})`);
118
101
  return await this.fetchUTXOsFromProvider(fallback.url, cleanAddress);
119
102
  }
120
103
  catch (fallbackError) {
121
- console.warn(`[Bitcoin Data] Fallback ${fallback.name} failed: ${fallbackError.message}`);
104
+ this.logger.warn("0", `Fallback ${fallback.name} failed: ${fallbackError.message}`);
122
105
  continue;
123
106
  }
124
107
  }
@@ -164,7 +147,7 @@ class BitcoinDataProvider {
164
147
  * - Blockstream format: {txid, vout, value, confirmations}
165
148
  *
166
149
  * @param data Raw response from provider API
167
- * @param currentBlockHeight Current block height (for calculating confirmations from block_height), or null if unavailable
150
+ * @param currentBlockHeight Current block height (for calculating confirmations from block_height)
168
151
  * @returns Array of normalized UTXOs
169
152
  */
170
153
  parseBlockstreamUTXOs(data, currentBlockHeight) {
@@ -176,21 +159,17 @@ class BitcoinDataProvider {
176
159
  // Calculate confirmations based on format
177
160
  let confirmations = 0;
178
161
  // Check for Esplora format (status.confirmed and status.block_height)
179
- if (utxo.status && typeof utxo.status === 'object') {
162
+ if (utxo.status && typeof utxo.status === "object") {
180
163
  if (utxo.status.confirmed) {
181
164
  // For Esplora format: calculate confirmations from block heights
182
165
  // confirmations = current_height - tx_block_height + 1
183
- if (utxo.status.block_height !== undefined && utxo.status.block_height > 0 && currentBlockHeight !== null) {
184
- // We have both block heights, calculate confirmations
166
+ if (utxo.status.block_height !== undefined &&
167
+ utxo.status.block_height > 0) {
185
168
  confirmations = currentBlockHeight - utxo.status.block_height + 1;
186
- // Ensure confirmations is at least 1 for confirmed transactions
187
- if (confirmations < 1)
188
- confirmations = 1;
189
169
  }
190
170
  else {
191
- // Confirmed but no block_height or currentBlockHeight unavailable
192
- // For regtest/testnet, assume at least 1 confirmation for confirmed transactions
193
- // This is safe because confirmed=true means the transaction is in a block
171
+ // Confirmed but no block_height (or block_height is 0)
172
+ // This handles regtest where blocks are mined instantly
194
173
  confirmations = 1;
195
174
  }
196
175
  }
@@ -217,23 +196,24 @@ class BitcoinDataProvider {
217
196
  * - providerUrl must include full base path (e.g., "http://localhost:3002/api/esplora")
218
197
  */
219
198
  async fetchUTXOsFromProvider(providerUrl, address) {
220
- const fetchUTXOsStartTime = Date.now();
199
+ this.logger.stepStart("1", "fetchUTXOsFromProvider");
221
200
  // Standard Esplora API format only
222
201
  // providerUrl must include full base path (e.g., "http://localhost:3002/api/esplora")
223
202
  const endpoint = `${providerUrl}/address/${address}/utxos`;
224
- console.log(`Fetching UTXOs from ${endpoint} (timeout: ${this.timeout}ms)`);
225
- // Get current block height for confirmation calculation (with shorter timeout)
203
+ this.logger.log("1", `Fetching UTXOs from ${endpoint}`);
204
+ // Get current block height for confirmation calculation
226
205
  const currentBlockHeight = await this.getCurrentBlockHeight();
227
- console.log(`[Bitcoin Data] Current block height: ${currentBlockHeight}`);
206
+ this.logger.log("1", `Current block height: ${currentBlockHeight}`);
228
207
  const controller = new AbortController();
229
208
  const timeoutId = setTimeout(() => controller.abort(), this.timeout);
230
209
  try {
231
210
  const response = await fetch(endpoint, {
232
211
  signal: controller.signal,
233
212
  headers: {
234
- // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
235
- // Match CryptoCompare working pattern - minimal headers only
236
213
  Accept: "application/json",
214
+ "Content-Type": "application/json",
215
+ "User-Agent": "Mozilla/5.0 (compatible; DiamondHandsValidator/1.0)",
216
+ "ngrok-skip-browser-warning": "true", // Skip ngrok browser warning page
237
217
  },
238
218
  });
239
219
  clearTimeout(timeoutId);
@@ -241,19 +221,16 @@ class BitcoinDataProvider {
241
221
  throw new Error(`Bitcoin provider error: ${response.status} ${response.statusText}`);
242
222
  }
243
223
  const data = await response.json();
244
- // Log summary only (not full data to avoid timeout from large transaction lists)
245
- const utxoCount = Array.isArray(data) ? data.length : 0;
246
- console.log(`[Bitcoin Data] Fetched ${utxoCount} UTXOs from provider`);
224
+ // Log the parsed data
225
+ this.logger.log("1", `Raw API Response: ${JSON.stringify(data, null, 2)}`);
247
226
  // Parse standard Esplora/Blockstream format with current block height
248
227
  const utxos = this.parseBlockstreamUTXOs(data, currentBlockHeight);
249
- const duration = Date.now() - fetchUTXOsStartTime;
250
- console.log(`[Bitcoin Data] [Timing] fetchUTXOsFromProvider: ${duration}ms`);
228
+ this.logger.stepEnd("1");
251
229
  return utxos;
252
230
  }
253
231
  catch (error) {
254
232
  clearTimeout(timeoutId);
255
- const duration = Date.now() - fetchUTXOsStartTime;
256
- console.log(`[Bitcoin Data] [Timing] fetchUTXOsFromProvider (failed): ${duration}ms`);
233
+ this.logger.stepEnd("1");
257
234
  if (error.name === "AbortError") {
258
235
  throw new Error(`Request timeout after ${this.timeout}ms`);
259
236
  }
@@ -271,7 +248,32 @@ class BitcoinDataProvider {
271
248
  * @returns Complete UTXO set with balance breakdown
272
249
  */
273
250
  async getUTXOSet(address, minConfirmations) {
274
- const utxos = await this.getUTXOs(address);
251
+ // Retry logic to handle transient failures from Bitcoin provider
252
+ let utxos = [];
253
+ let lastError = null;
254
+ const maxRetries = 3;
255
+ const retryDelay = 500; // 500ms between retries
256
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
257
+ try {
258
+ this.logger.log("2", `UTXO query attempt ${attempt}/${maxRetries}...`);
259
+ utxos = await this.getUTXOs(address);
260
+ this.logger.log("2", `UTXO query succeeded on attempt ${attempt}`);
261
+ lastError = null;
262
+ break; // Success - exit retry loop
263
+ }
264
+ catch (error) {
265
+ lastError = error;
266
+ this.logger.error("2", `UTXO query failed on attempt ${attempt}: ${error.message}`);
267
+ if (attempt < maxRetries) {
268
+ this.logger.log("2", `Waiting ${retryDelay}ms before retry...`);
269
+ await new Promise((resolve) => setTimeout(resolve, retryDelay));
270
+ }
271
+ }
272
+ }
273
+ // If all retries failed, throw the last error
274
+ if (lastError) {
275
+ throw new Error(`Failed to query UTXOs after ${maxRetries} attempts: ${lastError.message}`);
276
+ }
275
277
  const totalBalance = utxos.reduce((sum, utxo) => sum + utxo.satoshis, 0n);
276
278
  const confirmedBalance = utxos
277
279
  .filter((utxo) => utxo.confirmations >= minConfirmations)
@@ -288,45 +290,37 @@ class BitcoinDataProvider {
288
290
  /**
289
291
  * Get balance for a Bitcoin address (fast, no UTXO details)
290
292
  *
291
- * This method uses the standard Esplora /address/:address endpoint
292
- * to get confirmed balance from chain_stats.
293
+ * WARNING: This method does NOT validate individual UTXOs.
294
+ * Use ONLY for non-critical balance display, never for authorization validation.
295
+ * For authorization/security: ALWAYS use getUTXOSet() with full UTXO validation.
296
+ *
297
+ * Uses Esplora /address/:address endpoint to get confirmed balance from chain_stats.
293
298
  *
294
299
  * @param address - Bitcoin address
295
300
  * @returns Balance in satoshis (confirmed balance only)
296
301
  * @throws Error if the request fails or response is invalid
297
302
  */
298
303
  async getBalance(address) {
299
- const providerUrl = this.config.providerUrl;
300
- const endpoint = `${providerUrl}/address/${address}`;
301
- console.log(`Fetching balance from ${endpoint} (timeout: ${this.timeout}ms)`);
302
- // Use simple fetchJson helper pattern (matching CryptoCompare in price-oracle.module.ts)
303
- const fetchJson = async (url) => {
304
- const controller = new AbortController();
305
- const timeoutId = setTimeout(() => controller.abort(), this.timeout);
306
- try {
307
- const res = await fetch(url, {
308
- signal: controller.signal,
309
- headers: {
310
- // LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
311
- Accept: "application/json",
312
- },
313
- });
314
- clearTimeout(timeoutId);
315
- if (!res.ok) {
316
- throw new Error(`HTTP ${res.status} ${res.statusText}`);
317
- }
318
- return await res.json();
319
- }
320
- catch (error) {
321
- clearTimeout(timeoutId);
322
- if (error.name === "AbortError") {
323
- throw new Error(`Request timeout after ${this.timeout}ms`);
324
- }
325
- throw error;
326
- }
327
- };
304
+ const cleanAddress = this.stripNetworkPrefix(address);
305
+ const endpoint = `${this.config.providerUrl}/address/${cleanAddress}`;
306
+ this.logger.log("3", `Fetching balance from ${endpoint}`);
307
+ const controller = new AbortController();
308
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
328
309
  try {
329
- const data = await fetchJson(endpoint);
310
+ const response = await fetch(endpoint, {
311
+ signal: controller.signal,
312
+ headers: {
313
+ Accept: "application/json",
314
+ "Content-Type": "application/json",
315
+ "User-Agent": "Mozilla/5.0 (compatible; DiamondHandsValidator/1.0)",
316
+ "ngrok-skip-browser-warning": "true",
317
+ },
318
+ });
319
+ clearTimeout(timeoutId);
320
+ if (!response.ok) {
321
+ throw new Error(`Bitcoin provider error: ${response.status} ${response.statusText}`);
322
+ }
323
+ const data = await response.json();
330
324
  // Validate response structure
331
325
  if (!data.chain_stats) {
332
326
  throw new Error("Invalid response: missing chain_stats");
@@ -339,16 +333,18 @@ class BitcoinDataProvider {
339
333
  // Calculate confirmed balance: funded - spent
340
334
  const confirmedBalance = fundedTxoSum - spentTxoSum;
341
335
  const balance = BigInt(confirmedBalance);
342
- console.log(`[Bitcoin Data] Fetched balance: ${balance.toString()} sats (confirmed)`);
343
- console.log(` - Funded: ${fundedTxoSum} sats`);
344
- console.log(` - Spent: ${spentTxoSum} sats`);
336
+ this.logger.log("3", `Balance: ${balance.toString()} sats`);
337
+ this.logger.log("3", ` - Funded: ${fundedTxoSum} sats, Spent: ${spentTxoSum} sats`);
345
338
  return balance;
346
339
  }
347
340
  catch (error) {
348
- // Throw error instead of returning 0n
341
+ clearTimeout(timeoutId);
342
+ if (error.name === "AbortError") {
343
+ throw new Error(`Request timeout after ${this.timeout}ms`);
344
+ }
349
345
  const errorMessage = error.message || "Unknown error";
350
- console.log(`[Bitcoin Data] Balance fetch failed: ${errorMessage}`);
351
- throw new Error(`Failed to fetch Bitcoin balance for address ${address}: ${errorMessage}`);
346
+ this.logger.log("3", `Balance fetch failed: ${errorMessage}`);
347
+ throw new Error(`Failed to fetch Bitcoin balance for address ${cleanAddress}: ${errorMessage}`);
352
348
  }
353
349
  }
354
350
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-data-provider.module.js","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-data-provider.module.js","sourceRoot":"","sources":["../../../src/modules/bitcoin-data-provider.module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA0hBH,8DAIC;AAthBD,yEAA6D;AAE7D;;;;;GAKG;AACH,MAAa,mBAAmB;IAK9B,YAAY,MAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,gFAAgF;QAChF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,0CAAe,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpD,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,oBAAoB,EAC9C;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE;oBACP,MAAM,EAAE,YAAY;oBACpB,YAAY,EAAE,qDAAqD;oBACnE,4BAA4B,EAAE,MAAM;iBACrC;aACF,CACF,CAAC;YAEF,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC1E,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAE/C,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,OAAO,GAAG,CAAC,CAAC;QAEvD,yEAAyE;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,YAAY,GAAG,CAAC,CAAC;QAE3D,mEAAmE;QACnE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACtC,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAEnE,sCAAsC;YACtC,IACE,IAAI,CAAC,MAAM,CAAC,iBAAiB;gBAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EACxC,CAAC;gBACD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAClC,CAAC;gBAEF,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;oBACvC,IAAI,CAAC;wBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,EACH,oBAAoB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,GAAG,GAAG,CACtD,CAAC;wBACF,OAAO,MAAM,IAAI,CAAC,sBAAsB,CACtC,QAAQ,CAAC,GAAG,EACZ,YAAY,CACb,CAAC;oBACJ,CAAC;oBAAC,OAAO,aAAkB,EAAE,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,EACH,YAAY,QAAQ,CAAC,IAAI,YAAY,aAAa,CAAC,OAAO,EAAE,CAC7D,CAAC;wBACF,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,OAAe;QACxC,MAAM,aAAa,GAAG,+BAA+B,CAAC;QACtD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAC5D,MAAM,EACN,OAAO,CACR,CAAC;QAEF,MAAM,KAAK,GAAW,cAAc,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,4BAA4B;YACnF,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC,CAAC;QAEJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACK,qBAAqB,CAAC,IAAS,EAAE,kBAA0B;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,6EAA6E;QAC7E,MAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;YAC3C,0CAA0C;YAC1C,IAAI,aAAa,GAAG,CAAC,CAAC;YAEtB,sEAAsE;YACtE,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,iEAAiE;oBACjE,uDAAuD;oBACvD,IACE,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS;wBACtC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAC5B,CAAC;wBACD,aAAa,GAAG,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,uDAAuD;wBACvD,wDAAwD;wBACxD,aAAa,GAAG,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,4CAA4C;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC5C,iDAAiD;gBACjD,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACrC,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACvE,aAAa,EAAE,aAAa;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,sBAAsB,CAClC,WAAmB,EACnB,OAAe;QAEf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACrD,mCAAmC;QACnC,sFAAsF;QACtF,MAAM,QAAQ,GAAG,GAAG,WAAW,YAAY,OAAO,QAAQ,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAExD,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,kBAAkB,EAAE,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,qDAAqD;oBACnE,4BAA4B,EAAE,MAAM,EAAE,kCAAkC;iBACzE;aACF,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,sBAAsB;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,EACH,qBAAqB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACrD,CAAC;YAEF,sEAAsE;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CACd,OAAe,EACf,gBAAwB;QAExB,iEAAiE;QACjE,IAAI,KAAK,GAAW,EAAE,CAAC;QACvB,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,wBAAwB;QAEhD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,OAAO,IAAI,UAAU,KAAK,CAAC,CAAC;gBACvE,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,OAAO,EAAE,CAAC,CAAC;gBACnE,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,4BAA4B;YACrC,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,EACH,gCAAgC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAC5D,CAAC;gBAEF,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,UAAU,oBAAoB,CAAC,CAAC;oBAChE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,+BAA+B,UAAU,cAAc,SAAS,CAAC,OAAO,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,KAAK;aAC3B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC;aACxD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,CAAC;QAE3D,OAAO;YACL,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,gBAAgB;YAChB,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,YAAY,YAAY,EAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,qDAAqD;oBACnE,4BAA4B,EAAE,MAAM;iBACrC;aACF,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAExC,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAEnD,IAAI,YAAY,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACb,8DAA8D,YAAY,oBAAoB,WAAW,EAAE,CAC5G,CAAC;YACJ,CAAC;YAED,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,GAAG,EACH,eAAe,YAAY,iBAAiB,WAAW,OAAO,CAC/D,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,yBAAyB,YAAY,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,+CAA+C,YAAY,KAAK,YAAY,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,IAAY;QAEZ,mEAAmE;QACnE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC3C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpE,OAAO;oBACL,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,aAAa,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC;iBACrC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,wBAAwB;gBACxB,IACE,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,mCAAmC,CAAC;oBAC5D,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EACjB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,OAAO,IAAI,EAAE,EAAE;gBACpE,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,CAAC,wBAAwB;gBACvC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACpE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAExC,yBAAyB;YACzB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;wBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;4BACxB,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;iBACN,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC7D,CAAC;YACD,kCAAkC;YAClC,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAQF;AApgBD,kDAogBC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CACvC,MAAiC;IAEjC,OAAO,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -125,6 +125,8 @@ export declare function calculateBtcValueUsd(btcSats: bigint, btcPriceUsd8Decima
125
125
  * calculateCollateralRatioBps(9800000000000n, 4000000000000000000000n)
126
126
  * // $98,000 collateral / $4,000 debt = 24.5 = 2450% = 24500 bps
127
127
  * // Returns: 24500
128
+ *
129
+ * Note: Returns MAX_SAFE_INTEGER for extreme over-collateralization cases
128
130
  */
129
131
  export declare function calculateCollateralRatioBps(collateralValueUsd8Decimals: bigint, debtUsd18Decimals: bigint): number;
130
132
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"business-rules-math.module.d.ts","sourceRoot":"","sources":["../../../src/modules/business-rules-math.module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAgBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,GACzB;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CA4BA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAwBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAyCA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAgBT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAatE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAcR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,2BAA2B,EAAE,MAAM,EACnC,iBAAiB,EAAE,MAAM,GACxB,MAAM,CA4BR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,2BAA2B,EAAE,MAAM,EACnC,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAaT;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"business-rules-math.module.d.ts","sourceRoot":"","sources":["../../../src/modules/business-rules-math.module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAgBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,GACzB;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CA4BA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAwBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAyCA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAgBT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAatE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAcR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,2BAA2B,EAAE,MAAM,EACnC,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAkCR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,2BAA2B,EAAE,MAAM,EACnC,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAaT;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD"}
@@ -252,6 +252,8 @@ function calculateBtcValueUsd(btcSats, btcPriceUsd8Decimals) {
252
252
  * calculateCollateralRatioBps(9800000000000n, 4000000000000000000000n)
253
253
  * // $98,000 collateral / $4,000 debt = 24.5 = 2450% = 24500 bps
254
254
  * // Returns: 24500
255
+ *
256
+ * Note: Returns MAX_SAFE_INTEGER for extreme over-collateralization cases
255
257
  */
256
258
  function calculateCollateralRatioBps(collateralValueUsd8Decimals, debtUsd18Decimals) {
257
259
  if (collateralValueUsd8Decimals < 0n) {
@@ -267,10 +269,15 @@ function calculateCollateralRatioBps(collateralValueUsd8Decimals, debtUsd18Decim
267
269
  const ratioBps = (scaledCollateral * 10000n) / debtUsd18Decimals;
268
270
  // Convert to number for comparison
269
271
  const ratioBpsNumber = Number(ratioBps);
270
- // Sanity check: ratio should be reasonable (0% to 10,000,000%)
271
- if (ratioBpsNumber < 0 || ratioBpsNumber > 100000000) {
272
+ // Sanity check: ratio should be non-negative
273
+ // Cap at MAX_SAFE_INTEGER for extreme over-collateralization (prevents Infinity)
274
+ if (ratioBpsNumber < 0) {
272
275
  throw new Error(`Collateral ratio out of bounds: ${ratioBpsNumber} bps (${ratioBpsNumber / 100}%)`);
273
276
  }
277
+ // Cap at MAX_SAFE_INTEGER to prevent Infinity edge cases
278
+ if (!isFinite(ratioBpsNumber) || ratioBpsNumber > Number.MAX_SAFE_INTEGER) {
279
+ return Number.MAX_SAFE_INTEGER;
280
+ }
274
281
  return ratioBpsNumber;
275
282
  }
276
283
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"business-rules-math.module.js","sourceRoot":"","sources":["../../../src/modules/business-rules-math.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"business-rules-math.module.js","sourceRoot":"","sources":["../../../src/modules/business-rules-math.module.ts"],"names":[],"mappings":"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"}