@gvnrdao/dh-lit-actions 0.0.81 → 0.0.111

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 (74) hide show
  1. package/package.json +8 -2
  2. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts +1 -9
  3. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts.map +1 -1
  4. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js +139 -151
  5. package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js.map +1 -1
  6. package/pkg-dist/pkg-src/constants/chunks/package-registry.d.ts.map +1 -1
  7. package/pkg-dist/pkg-src/constants/chunks/package-registry.js +0 -2
  8. package/pkg-dist/pkg-src/constants/chunks/package-registry.js.map +1 -1
  9. package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts +12 -0
  10. package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts.map +1 -1
  11. package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts +0 -2
  12. package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts.map +1 -1
  13. package/pkg-dist/pkg-src/utils/chunks/cid-utils.d.ts.map +1 -1
  14. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js +5 -0
  15. package/pkg-dist/pkg-src/utils/chunks/cid-utils.js.map +1 -1
  16. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.d.ts.map +1 -1
  17. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js +18 -4
  18. package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js.map +1 -1
  19. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.d.ts.map +1 -1
  20. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js +6 -2
  21. package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js.map +1 -1
  22. package/pkg-dist/src/constants/chunks/bitcoin-network-config.js +4 -4
  23. package/pkg-dist/src/constants/chunks/bitcoin-network-config.js.map +1 -1
  24. package/pkg-dist/src/constants/chunks/quantum-time.d.ts +7 -7
  25. package/pkg-dist/src/constants/chunks/quantum-time.js +7 -7
  26. package/pkg-dist/src/interfaces/chunks/bitcoin-data-provider.i.d.ts +6 -0
  27. package/pkg-dist/src/interfaces/chunks/bitcoin-data-provider.i.d.ts.map +1 -1
  28. package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts +18 -0
  29. package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts.map +1 -1
  30. package/pkg-dist/src/interfaces/chunks/vault-balance-module.i.d.ts +2 -1
  31. package/pkg-dist/src/interfaces/chunks/vault-balance-module.i.d.ts.map +1 -1
  32. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts +2 -0
  33. package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts.map +1 -1
  34. package/pkg-dist/src/interfaces/chunks/vault-snapshot.i.d.ts +2 -0
  35. package/pkg-dist/src/interfaces/chunks/vault-snapshot.i.d.ts.map +1 -1
  36. package/pkg-dist/src/modules/authorization.module.d.ts +86 -0
  37. package/pkg-dist/src/modules/authorization.module.d.ts.map +1 -1
  38. package/pkg-dist/src/modules/authorization.module.js +175 -0
  39. package/pkg-dist/src/modules/authorization.module.js.map +1 -1
  40. package/pkg-dist/src/modules/bitcoin/address.d.ts +40 -0
  41. package/pkg-dist/src/modules/bitcoin/address.d.ts.map +1 -0
  42. package/pkg-dist/src/modules/bitcoin/address.js +323 -0
  43. package/pkg-dist/src/modules/bitcoin/address.js.map +1 -0
  44. package/pkg-dist/src/modules/bitcoin/provider.d.ts +55 -0
  45. package/pkg-dist/src/modules/bitcoin/provider.d.ts.map +1 -0
  46. package/pkg-dist/src/modules/bitcoin/provider.js +67 -0
  47. package/pkg-dist/src/modules/bitcoin/provider.js.map +1 -0
  48. package/pkg-dist/src/modules/bitcoin/signature.d.ts +24 -0
  49. package/pkg-dist/src/modules/bitcoin/signature.d.ts.map +1 -0
  50. package/pkg-dist/src/modules/bitcoin/signature.js +64 -0
  51. package/pkg-dist/src/modules/bitcoin/signature.js.map +1 -0
  52. package/pkg-dist/src/modules/bitcoin/transaction.d.ts +63 -0
  53. package/pkg-dist/src/modules/bitcoin/transaction.d.ts.map +1 -0
  54. package/pkg-dist/src/modules/bitcoin/transaction.js +187 -0
  55. package/pkg-dist/src/modules/bitcoin/transaction.js.map +1 -0
  56. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts +19 -0
  57. package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts.map +1 -1
  58. package/pkg-dist/src/modules/bitcoin-data-provider.module.js +162 -18
  59. package/pkg-dist/src/modules/bitcoin-data-provider.module.js.map +1 -1
  60. package/pkg-dist/src/modules/price-oracle.module.d.ts.map +1 -1
  61. package/pkg-dist/src/modules/price-oracle.module.js +65 -67
  62. package/pkg-dist/src/modules/price-oracle.module.js.map +1 -1
  63. package/pkg-dist/src/modules/quantum-time.module.d.ts +1 -1
  64. package/pkg-dist/src/modules/quantum-time.module.d.ts.map +1 -1
  65. package/pkg-dist/src/modules/quantum-time.module.js +9 -6
  66. package/pkg-dist/src/modules/quantum-time.module.js.map +1 -1
  67. package/pkg-dist/src/modules/vault-balance.module.d.ts +3 -1
  68. package/pkg-dist/src/modules/vault-balance.module.d.ts.map +1 -1
  69. package/pkg-dist/src/modules/vault-balance.module.js +59 -2
  70. package/pkg-dist/src/modules/vault-balance.module.js.map +1 -1
  71. package/pkg-dist/src/modules/vault-snapshot.d.ts +11 -1
  72. package/pkg-dist/src/modules/vault-snapshot.d.ts.map +1 -1
  73. package/pkg-dist/src/modules/vault-snapshot.js +123 -33
  74. package/pkg-dist/src/modules/vault-snapshot.js.map +1 -1
@@ -70,7 +70,7 @@ function getCurrentQuantumTimestamp() {
70
70
  /**
71
71
  * Check if currently in dead zone (last 8s before boundary + first 8s after boundary)
72
72
  *
73
- * Dead zone = seconds 92-99 OR 0-7 of each quantum
73
+ * Dead zone = seconds 292-299 OR 0-7 of each quantum (with 300s window)
74
74
  *
75
75
  * @param now - Current Unix timestamp (defaults to Date.now()/1000)
76
76
  * @returns True if in dead zone
@@ -79,7 +79,8 @@ function isInDeadZone(now) {
79
79
  const currentTime = now ?? Math.floor(Date.now() / 1000);
80
80
  const timeInQuantum = currentTime % constants_1.QUANTUM_WINDOW_SECONDS;
81
81
  // Last 8 seconds OR first 8 seconds
82
- return timeInQuantum >= 92 || timeInQuantum < 8;
82
+ const deadZoneStart = constants_1.QUANTUM_WINDOW_SECONDS - constants_1.DEAD_ZONE_SECONDS / 2; // 292 for 300s window
83
+ return timeInQuantum >= deadZoneStart || timeInQuantum < constants_1.DEAD_ZONE_SECONDS / 2;
83
84
  }
84
85
  /**
85
86
  * Get seconds remaining in current quantum
@@ -112,15 +113,17 @@ async function waitForSafeQuantumMoment() {
112
113
  }
113
114
  // Calculate wait time to reach second 8 of next quantum
114
115
  let waitSeconds;
115
- if (timeInQuantum >= 92) {
116
- // In dead zone before boundary (seconds 92-99)
116
+ const deadZoneStart = constants_1.QUANTUM_WINDOW_SECONDS - constants_1.DEAD_ZONE_SECONDS / 2; // 292 for 300s window
117
+ const safeStart = constants_1.DEAD_ZONE_SECONDS / 2; // 8 seconds
118
+ if (timeInQuantum >= deadZoneStart) {
119
+ // In dead zone before boundary (e.g., seconds 292-299 for 300s window)
117
120
  // Wait to second 8 of next quantum
118
- waitSeconds = 100 - timeInQuantum + 8;
121
+ waitSeconds = constants_1.QUANTUM_WINDOW_SECONDS - timeInQuantum + safeStart;
119
122
  }
120
123
  else {
121
124
  // In dead zone after boundary (seconds 0-7)
122
125
  // Wait until second 8
123
- waitSeconds = 8 - timeInQuantum;
126
+ waitSeconds = safeStart - timeInQuantum;
124
127
  }
125
128
  console.log(`[Quantum] Waiting ${waitSeconds}s for safe moment (current time in quantum: ${timeInQuantum}s)`);
126
129
  await new Promise((resolve) => setTimeout(resolve, waitSeconds * 1000));
@@ -1 +1 @@
1
- {"version":3,"file":"quantum-time.module.js","sourceRoot":"","sources":["../../../src/modules/quantum-time.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quantum-time.module.js","sourceRoot":"","sources":["../../../src/modules/quantum-time.module.ts"],"names":[],"mappings":"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"}
@@ -70,10 +70,11 @@ export declare class VaultBalanceModule implements IVaultBalance {
70
70
  *
71
71
  * @param positionId - The position ID to check
72
72
  * @param vaultAddress - Bitcoin address of the vault
73
+ * @param skipUTXOValidation - If true, use fast balance-only path (skips UTXO validation)
73
74
  * @returns Complete breakdown of vault balance
74
75
  * @throws Error if authorized spends are in invalid state
75
76
  */
76
- calculateTrustedBalance(positionId: string, vaultAddress: string): Promise<VaultBalanceResult>;
77
+ calculateTrustedBalance(positionId: string, vaultAddress: string, skipUTXOValidation?: boolean): Promise<VaultBalanceResult>;
77
78
  /**
78
79
  * Get just the trusted balance amount
79
80
  *
@@ -112,6 +113,7 @@ export declare class VaultBalanceModule implements IVaultBalance {
112
113
  * @returns True if UTXO is authorized, false otherwise
113
114
  */
114
115
  private isUTXOAuthorized;
116
+ private computeAuthorizedSpendsHash;
115
117
  /**
116
118
  * Query smart contract for authorized spends
117
119
  *
@@ -1 +1 @@
1
- {"version":3,"file":"vault-balance.module.d.ts","sourceRoot":"","sources":["../../../src/modules/vault-balance.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EAEJ,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,EAAE,kBAAkB;IAKtC;;;;;;;;;;;;;;OAcG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;IA6E9B;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,EAAE,CAAC;IAKlB;;;;;;;;OAQG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;;;;;;OAcG;cACa,+BAA+B,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC;CA8F9B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
1
+ {"version":3,"file":"vault-balance.module.d.ts","sourceRoot":"","sources":["../../../src/modules/vault-balance.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,eAAe,EACf,IAAI,EAEJ,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAK5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAuB;gBAElC,MAAM,EAAE,kBAAkB;IAKtC;;;;;;;;;;;;;;;OAeG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IA8H9B;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;;;OAQG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,EAAE,CAAC;IAKlB;;;;;;;;OAQG;IACG,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,2BAA2B;IA6CnC;;;;;;;;;;;;;;OAcG;cACa,+BAA+B,CAC7C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,EAAE,CAAC;CA8F9B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GACzB,kBAAkB,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG"}
@@ -73,11 +73,42 @@ class VaultBalanceModule {
73
73
  *
74
74
  * @param positionId - The position ID to check
75
75
  * @param vaultAddress - Bitcoin address of the vault
76
+ * @param skipUTXOValidation - If true, use fast balance-only path (skips UTXO validation)
76
77
  * @returns Complete breakdown of vault balance
77
78
  * @throws Error if authorized spends are in invalid state
78
79
  */
79
- async calculateTrustedBalance(positionId, vaultAddress) {
80
+ async calculateTrustedBalance(positionId, vaultAddress, skipUTXOValidation) {
80
81
  const minConfirmations = this.config.minConfirmations || 6;
82
+ // Fast path: Use balance endpoint instead of fetching all UTXOs
83
+ if (skipUTXOValidation) {
84
+ // 1. Get balance from Bitcoin network (fast, no UTXO details)
85
+ const totalBalance = await this.bitcoinProvider.getBalance(vaultAddress);
86
+ // 2. Get authorized spends from smart contract
87
+ const authorizedSpends = await this.getAuthorizedSpendsFromContract(positionId);
88
+ // 3. Calculate authorized balance (sum of all authorized spends)
89
+ const authorizedBalance = authorizedSpends.reduce((sum, spend) => sum + spend.satoshis, 0n);
90
+ // 4. Calculate available balance = Total - Authorized
91
+ const availableBalance = totalBalance > authorizedBalance
92
+ ? totalBalance - authorizedBalance
93
+ : 0n;
94
+ return {
95
+ // Total from Bitcoin
96
+ totalUTXOs: [], // Empty for fast path
97
+ totalBalance,
98
+ // Authorized from Contract
99
+ authorizedUTXOs: authorizedSpends,
100
+ authorizedBalance,
101
+ authorizedSpendsHash: this.computeAuthorizedSpendsHash(positionId, authorizedSpends),
102
+ // Available = Total - Authorized (THIS IS THE TRUSTED BALANCE)
103
+ availableUTXOs: [], // Empty for fast path
104
+ availableBalance,
105
+ // Metadata
106
+ vaultAddress,
107
+ positionId,
108
+ timestamp: Date.now(),
109
+ };
110
+ }
111
+ // Full path: Get all UTXOs and validate authorized spends
81
112
  // 1. Get all UTXOs from Bitcoin network
82
113
  const utxoSet = await this.bitcoinProvider.getUTXOSet(vaultAddress, minConfirmations);
83
114
  // 2. Get authorized spends from smart contract
@@ -115,6 +146,7 @@ class VaultBalanceModule {
115
146
  // Authorized from Contract
116
147
  authorizedUTXOs: authorizedSpends,
117
148
  authorizedBalance,
149
+ authorizedSpendsHash: this.computeAuthorizedSpendsHash(positionId, authorizedSpends),
118
150
  // Available = Total - Authorized (THIS IS THE TRUSTED BALANCE)
119
151
  availableUTXOs,
120
152
  availableBalance,
@@ -173,6 +205,31 @@ class VaultBalanceModule {
173
205
  isUTXOAuthorized(utxo, authorizedSpends) {
174
206
  return authorizedSpends.some((spend) => spend.txid === utxo.txid && spend.vout === utxo.vout);
175
207
  }
208
+ computeAuthorizedSpendsHash(positionId, authorizedSpends) {
209
+ const positionIdBytes32 = positionId.startsWith("0x")
210
+ ? positionId
211
+ : `0x${positionId.padStart(64, "0")}`;
212
+ const hashedSpends = authorizedSpends.map((spend) => {
213
+ return ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode([
214
+ "bytes32",
215
+ "uint32",
216
+ "uint256",
217
+ "bytes32",
218
+ "uint256",
219
+ "bytes32",
220
+ "uint256",
221
+ ], [
222
+ ethers.utils.keccak256(ethers.utils.toUtf8Bytes(spend.txid || "")),
223
+ spend.vout,
224
+ spend.satoshis.toString(),
225
+ ethers.utils.keccak256(ethers.utils.toUtf8Bytes(spend.targetAddress || "")),
226
+ spend.targetAmount.toString(),
227
+ ethers.utils.keccak256(ethers.utils.toUtf8Bytes(spend.changeAddress || "")),
228
+ spend.timestamp,
229
+ ]));
230
+ });
231
+ return ethers.utils.keccak256(ethers.utils.defaultAbiCoder.encode(["bytes32", "bytes32[]"], [positionIdBytes32, hashedSpends]));
232
+ }
176
233
  /**
177
234
  * Query smart contract for authorized spends
178
235
  *
@@ -254,7 +311,7 @@ class VaultBalanceModule {
254
311
  // StaticJsonRpcProvider with explicit network bypasses auto-detection (required for ngrok URLs)
255
312
  const provider = new ethers.providers.StaticJsonRpcProvider(rpcUrl, {
256
313
  name: "any",
257
- chainId: 1337,
314
+ chainId: this.config.chainId,
258
315
  });
259
316
  // @ts-ignore - ethers is available in LIT runtime
260
317
  const contract = new ethers.Contract(this.config.contractAddress, getAuthorizedSpendsABI, provider);
@@ -1 +1 @@
1
- {"version":3,"file":"vault-balance.module.js","sourceRoot":"","sources":["../../../src/modules/vault-balance.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-balance.module.js","sourceRoot":"","sources":["../../../src/modules/vault-balance.module.ts"],"names":[],"mappings":"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"}
@@ -31,9 +31,18 @@ export declare class VaultSnapshotModule {
31
31
  * about a vault's health in a single call.
32
32
  *
33
33
  * @param positionId - Position to snapshot
34
+ * @param skipUTXOValidation - If true, use fast balance-only path (skips UTXO validation)
34
35
  * @returns Complete VaultSnapshot with all metrics
35
36
  */
36
- getVaultSnapshot(positionId: string): Promise<VaultSnapshot>;
37
+ getVaultSnapshot(positionId: string, skipUTXOValidation?: boolean): Promise<VaultSnapshot>;
38
+ /**
39
+ * Fast vault snapshot using balance method only (no UTXO validation)
40
+ * This is optimized for speed and should be used when UTXO details are not needed.
41
+ *
42
+ * @param positionId - Position to snapshot
43
+ * @returns Complete VaultSnapshot with all metrics (using balance method)
44
+ */
45
+ getVaultSnapshotFast(positionId: string): Promise<VaultSnapshot>;
37
46
  /**
38
47
  * Query position state from smart contract
39
48
  *
@@ -53,6 +62,7 @@ export declare class VaultSnapshotModule {
53
62
  termStartTimestamp: number;
54
63
  selectedTerm: number;
55
64
  status: number;
65
+ expiryAt: number;
56
66
  }>;
57
67
  /**
58
68
  * Parse vault address based on format and network
@@ -1 +1 @@
1
- {"version":3,"file":"vault-snapshot.d.ts","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EACL,aAAa,EACb,mBAAmB,EACpB,MAAM,uCAAuC,CAAC;AAgB/C;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAIvC;;;;;;;;OAQG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0GlE;;;;;;;;;OASG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9D,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAmHF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;;;;;;OAOG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D;;;;;;;OAOG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D;;;;;;;OAOG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D;;;;;;;;;OASG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;CAWpB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG"}
1
+ {"version":3,"file":"vault-snapshot.d.ts","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EACL,aAAa,EACb,mBAAmB,EACpB,MAAM,uCAAuC,CAAC;AAwB/C;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,EAAE,mBAAmB;IAIvC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,aAAa,CAAC;IA6GzB;;;;;;OAMG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA6GtE;;;;;;;;;OASG;cACa,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9D,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAkIF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;;;;;;OAOG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D;;;;;;;OAOG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D;;;;;;;OAOG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D;;;;;;;;;OASG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;CAWpB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG"}
@@ -38,14 +38,15 @@ class VaultSnapshotModule {
38
38
  * about a vault's health in a single call.
39
39
  *
40
40
  * @param positionId - Position to snapshot
41
+ * @param skipUTXOValidation - If true, use fast balance-only path (skips UTXO validation)
41
42
  * @returns Complete VaultSnapshot with all metrics
42
43
  */
43
- async getVaultSnapshot(positionId) {
44
+ async getVaultSnapshot(positionId, skipUTXOValidation) {
44
45
  // 1. Query contract for position state
45
46
  const positionState = await this.queryPositionState(positionId);
46
47
  console.log(`[Vault Snapshot] Raw vault address from contract: "${positionState.vaultAddress}"`);
47
48
  // 2. Get available balance (Total UTXOs - Authorized Spends)
48
- const balanceResult = await this.config.vaultBalance.calculateTrustedBalance(positionId, positionState.vaultAddress);
49
+ const balanceResult = await this.config.vaultBalance.calculateTrustedBalance(positionId, positionState.vaultAddress, skipUTXOValidation);
49
50
  // 3. Get BTC price from oracle
50
51
  const btcPriceUsd = await this.config.priceOracle.getBTCPrice();
51
52
  // 4. Fetch protocol parameters from smart contracts
@@ -81,10 +82,92 @@ class VaultSnapshotModule {
81
82
  termStartTimestamp: positionState.termStartTimestamp,
82
83
  selectedTerm: positionState.selectedTerm,
83
84
  status: positionState.status, // Loan status enum value (0-7)
85
+ expiryAt: positionState.expiryAt,
84
86
  // Bitcoin state
85
87
  totalBTCSats: balanceResult.totalBalance,
86
88
  totalUTXOs: balanceResult.totalUTXOs,
87
89
  authorizedSpendsSats: balanceResult.authorizedBalance,
90
+ authorizedSpendsHash: balanceResult.authorizedSpendsHash,
91
+ availableBTCSats: balanceResult.availableBalance,
92
+ availableUTXOs: balanceResult.availableUTXOs,
93
+ // Price data
94
+ btcPriceUsd,
95
+ // Calculated metrics
96
+ collateralValueUsd: collateralMetrics.collateralValueUsd,
97
+ collateralRatioBps: collateralMetrics.collateralRatioBps,
98
+ // Term status
99
+ termDurationDays: termStatus.termDurationDays,
100
+ termLengthDays: termStatus.termLengthDays,
101
+ isExpired: termStatus.isExpired,
102
+ daysUntilExpiry: termStatus.daysUntilExpiry,
103
+ daysIntoGracePeriod: termStatus.daysIntoGracePeriod,
104
+ // Liquidation risk
105
+ currentLiquidationThreshold,
106
+ isLiquidatable,
107
+ marginToLiquidationBps,
108
+ // Protocol parameters (from smart contracts)
109
+ liquidationThresholdBps,
110
+ originationFeeBps: termFees.originationFeeBps,
111
+ extensionFeeBps: termFees.extensionFeeBps,
112
+ // Metadata
113
+ timestamp: Date.now(),
114
+ };
115
+ }
116
+ /**
117
+ * Fast vault snapshot using balance method only (no UTXO validation)
118
+ * This is optimized for speed and should be used when UTXO details are not needed.
119
+ *
120
+ * @param positionId - Position to snapshot
121
+ * @returns Complete VaultSnapshot with all metrics (using balance method)
122
+ */
123
+ async getVaultSnapshotFast(positionId) {
124
+ // 1. Query contract for position state
125
+ const positionState = await this.queryPositionState(positionId);
126
+ console.log(`[Vault Snapshot] Raw vault address from contract: "${positionState.vaultAddress}"`);
127
+ // 2. Get available balance using fast balance method (always skip UTXO validation)
128
+ const balanceResult = await this.config.vaultBalance.calculateTrustedBalance(positionId, positionState.vaultAddress, true // Always skip UTXO validation for fast path
129
+ );
130
+ // 3. Get BTC price from oracle
131
+ const btcPriceUsd = await this.config.priceOracle.getBTCPrice();
132
+ // 4. Fetch protocol parameters from smart contracts
133
+ const protocolParams = (0, protocol_parameters_module_1.createProtocolParametersModule)({
134
+ termManagerAddress: this.config.termManagerAddress,
135
+ loanOpsManagerAddress: this.config.loanOpsManagerAddress,
136
+ chain: this.config.chain,
137
+ chainId: this.config.chainId || 1, // Default to mainnet if not provided
138
+ rpcUrl: this.config.rpcUrl,
139
+ });
140
+ // Fetch liquidation threshold and term fees in parallel
141
+ const [liquidationThresholdBps, termFees] = await Promise.all([
142
+ protocolParams.getLiquidationThreshold(),
143
+ protocolParams.getTermFees(positionState.selectedTerm),
144
+ ]);
145
+ // 5. Calculate term status
146
+ const termStatus = (0, business_rules_math_module_1.calculateTermStatus)(positionState.termStartTimestamp, positionState.selectedTerm);
147
+ // 6. Calculate liquidation threshold (escalates if expired)
148
+ const currentLiquidationThreshold = (0, business_rules_math_module_1.calculateLiquidationThreshold)(termStatus.isExpired, termStatus.daysIntoGracePeriod);
149
+ // 7. Calculate collateral ratio (using BigInt for precision)
150
+ const collateralMetrics = (0, business_rules_math_module_1.calculateCollateralMetrics)(balanceResult.availableBalance, btcPriceUsd, positionState.ucdDebt);
151
+ // 8. Calculate liquidation risk
152
+ const isLiquidatable = collateralMetrics.collateralRatioBps < currentLiquidationThreshold;
153
+ const marginToLiquidationBps = collateralMetrics.collateralRatioBps - currentLiquidationThreshold;
154
+ // 9. Assemble complete snapshot
155
+ return {
156
+ // Raw state
157
+ positionId: positionState.positionId,
158
+ pkpId: positionState.pkpId,
159
+ borrower: positionState.borrower,
160
+ vaultAddress: positionState.vaultAddress,
161
+ ucdDebt: positionState.ucdDebt,
162
+ termStartTimestamp: positionState.termStartTimestamp,
163
+ selectedTerm: positionState.selectedTerm,
164
+ status: positionState.status, // Loan status enum value (0-7)
165
+ expiryAt: positionState.expiryAt,
166
+ // Bitcoin state
167
+ totalBTCSats: balanceResult.totalBalance,
168
+ totalUTXOs: balanceResult.totalUTXOs,
169
+ authorizedSpendsSats: balanceResult.authorizedBalance,
170
+ authorizedSpendsHash: balanceResult.authorizedSpendsHash,
88
171
  availableBTCSats: balanceResult.availableBalance,
89
172
  availableUTXOs: balanceResult.availableUTXOs,
90
173
  // Price data
@@ -125,8 +208,39 @@ class VaultSnapshotModule {
125
208
  const positionIdBytes32 = positionId.startsWith("0x")
126
209
  ? positionId
127
210
  : `0x${positionId.padStart(64, "0")}`;
128
- // ABI for getPositionDetails
129
- const getPositionDetailsABI = [
211
+ // Get RPC URL
212
+ let rpcUrl;
213
+ if (this.config.rpcUrl) {
214
+ rpcUrl = this.config.rpcUrl;
215
+ }
216
+ else {
217
+ // @ts-ignore - Lit.Actions available in LIT runtime
218
+ rpcUrl = await Lit.Actions.getRpcUrl({ chain: this.config.chain });
219
+ }
220
+ // Query contract
221
+ // @ts-ignore - ethers available in LIT runtime
222
+ // StaticJsonRpcProvider with explicit network bypasses auto-detection (required for ngrok URLs in LIT sandbox)
223
+ const provider = new ethers.providers.StaticJsonRpcProvider(rpcUrl, {
224
+ name: "any",
225
+ chainId: this.config.chainId,
226
+ });
227
+ // CRITICAL: Must call PositionManagerCore facet directly to get full Position struct with vaultAddress
228
+ // The Diamond proxy's getPositionDetails() returns simplified struct without vaultAddress
229
+ // Step 1: Get core facet address from Diamond proxy
230
+ // @ts-ignore - ethers available in LIT runtime
231
+ const diamondContract = new ethers.Contract(this.config.contractAddress, [
232
+ {
233
+ inputs: [],
234
+ name: "core",
235
+ outputs: [{ internalType: "address", name: "", type: "address" }],
236
+ stateMutability: "view",
237
+ type: "function",
238
+ },
239
+ ], provider);
240
+ const coreAddress = await diamondContract.core();
241
+ // Step 2: Call getPositionDetails on core facet (returns full struct with vaultAddress)
242
+ // ABI for PositionManagerCoreModule.getPositionDetails
243
+ const coreGetPositionDetailsABI = [
130
244
  {
131
245
  inputs: [
132
246
  { internalType: "bytes32", name: "positionId", type: "bytes32" },
@@ -138,19 +252,11 @@ class VaultSnapshotModule {
138
252
  { internalType: "bytes32", name: "positionId", type: "bytes32" },
139
253
  { internalType: "bytes32", name: "pkpId", type: "bytes32" },
140
254
  { internalType: "uint256", name: "ucdDebt", type: "uint256" },
141
- {
142
- internalType: "string",
143
- name: "vaultAddress",
144
- type: "string",
145
- },
255
+ { internalType: "string", name: "vaultAddress", type: "string" },
146
256
  { internalType: "address", name: "borrower", type: "address" },
147
257
  { internalType: "uint40", name: "createdAt", type: "uint40" },
148
258
  { internalType: "uint40", name: "lastUpdated", type: "uint40" },
149
- {
150
- internalType: "uint16",
151
- name: "selectedTerm",
152
- type: "uint16",
153
- },
259
+ { internalType: "uint16", name: "selectedTerm", type: "uint16" },
154
260
  { internalType: "uint40", name: "expiryAt", type: "uint40" },
155
261
  {
156
262
  internalType: "enum LoanStatusLib.LoanStatus",
@@ -167,25 +273,8 @@ class VaultSnapshotModule {
167
273
  type: "function",
168
274
  },
169
275
  ];
170
- // Get RPC URL
171
- let rpcUrl;
172
- if (this.config.rpcUrl) {
173
- rpcUrl = this.config.rpcUrl;
174
- }
175
- else {
176
- // @ts-ignore - Lit.Actions available in LIT runtime
177
- rpcUrl = await Lit.Actions.getRpcUrl({ chain: this.config.chain });
178
- }
179
- // Query contract
180
- // @ts-ignore - ethers available in LIT runtime
181
- // StaticJsonRpcProvider with explicit network bypasses auto-detection (required for ngrok URLs in LIT sandbox)
182
- const provider = new ethers.providers.StaticJsonRpcProvider(rpcUrl, {
183
- name: "any",
184
- chainId: this.config.chainId,
185
- });
186
- // @ts-ignore - ethers available in LIT runtime
187
- const contract = new ethers.Contract(this.config.contractAddress, getPositionDetailsABI, provider);
188
- const position = await contract.getPositionDetails(positionIdBytes32);
276
+ const coreContract = new ethers.Contract(coreAddress, coreGetPositionDetailsABI, provider);
277
+ const position = await coreContract.getPositionDetails(positionIdBytes32);
189
278
  // Validate status is in valid range (0-7)
190
279
  const statusNum = Number(position.status);
191
280
  if (statusNum < 0 || statusNum > 7) {
@@ -211,6 +300,7 @@ class VaultSnapshotModule {
211
300
  termStartTimestamp,
212
301
  selectedTerm: selectedTermMonths,
213
302
  status: statusNum,
303
+ expiryAt,
214
304
  };
215
305
  }
216
306
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vault-snapshot.js","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-snapshot.js","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":"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"}