@gvnrdao/dh-lit-actions 0.0.68 → 0.0.82
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.
- package/package.json +1 -1
- package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts +1 -9
- package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.d.ts.map +1 -1
- package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js +115 -174
- package/pkg-dist/pkg-src/constants/chunks/lit-actions-registry.js.map +1 -1
- package/pkg-dist/pkg-src/constants/chunks/package-registry.d.ts.map +1 -1
- package/pkg-dist/pkg-src/constants/chunks/package-registry.js +0 -2
- package/pkg-dist/pkg-src/constants/chunks/package-registry.js.map +1 -1
- package/pkg-dist/pkg-src/executors/chunks/vault-snapshot-executor.d.ts.map +1 -1
- package/pkg-dist/pkg-src/executors/chunks/vault-snapshot-executor.js +1 -0
- package/pkg-dist/pkg-src/executors/chunks/vault-snapshot-executor.js.map +1 -1
- package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts +6 -0
- package/pkg-dist/pkg-src/interfaces/chunks/diamond-hands-lit-actions.i.d.ts.map +1 -1
- package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts +0 -2
- package/pkg-dist/pkg-src/interfaces/chunks/lit-action-registry.i.d.ts.map +1 -1
- package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.d.ts.map +1 -1
- package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js +18 -4
- package/pkg-dist/pkg-src/utils/chunks/lit-action-helpers.js.map +1 -1
- package/pkg-dist/pkg-src/utils/chunks/pkp-setup.d.ts.map +1 -1
- package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js +6 -2
- package/pkg-dist/pkg-src/utils/chunks/pkp-setup.js.map +1 -1
- package/pkg-dist/src/constants/chunks/bitcoin-network-config.js +4 -4
- package/pkg-dist/src/constants/chunks/bitcoin-network-config.js.map +1 -1
- package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts +18 -0
- package/pkg-dist/src/interfaces/chunks/owner-authorization.d.ts.map +1 -1
- package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts +1 -0
- package/pkg-dist/src/interfaces/chunks/vault-balance.i.d.ts.map +1 -1
- package/pkg-dist/src/modules/authorization.module.d.ts +86 -0
- package/pkg-dist/src/modules/authorization.module.d.ts.map +1 -1
- package/pkg-dist/src/modules/authorization.module.js +175 -0
- package/pkg-dist/src/modules/authorization.module.js.map +1 -1
- package/pkg-dist/src/modules/bitcoin/address.d.ts +40 -0
- package/pkg-dist/src/modules/bitcoin/address.d.ts.map +1 -0
- package/pkg-dist/src/modules/bitcoin/address.js +323 -0
- package/pkg-dist/src/modules/bitcoin/address.js.map +1 -0
- package/pkg-dist/src/modules/bitcoin/provider.d.ts +55 -0
- package/pkg-dist/src/modules/bitcoin/provider.d.ts.map +1 -0
- package/pkg-dist/src/modules/bitcoin/provider.js +67 -0
- package/pkg-dist/src/modules/bitcoin/provider.js.map +1 -0
- package/pkg-dist/src/modules/bitcoin/signature.d.ts +24 -0
- package/pkg-dist/src/modules/bitcoin/signature.d.ts.map +1 -0
- package/pkg-dist/src/modules/bitcoin/signature.js +64 -0
- package/pkg-dist/src/modules/bitcoin/signature.js.map +1 -0
- package/pkg-dist/src/modules/bitcoin/transaction.d.ts +63 -0
- package/pkg-dist/src/modules/bitcoin/transaction.d.ts.map +1 -0
- package/pkg-dist/src/modules/bitcoin/transaction.js +187 -0
- package/pkg-dist/src/modules/bitcoin/transaction.js.map +1 -0
- package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts +8 -1
- package/pkg-dist/src/modules/bitcoin-data-provider.module.d.ts.map +1 -1
- package/pkg-dist/src/modules/bitcoin-data-provider.module.js +106 -11
- package/pkg-dist/src/modules/bitcoin-data-provider.module.js.map +1 -1
- package/pkg-dist/src/modules/price-oracle.module.d.ts +21 -2
- package/pkg-dist/src/modules/price-oracle.module.d.ts.map +1 -1
- package/pkg-dist/src/modules/price-oracle.module.js +211 -72
- package/pkg-dist/src/modules/price-oracle.module.js.map +1 -1
- package/pkg-dist/src/modules/vault-snapshot.d.ts.map +1 -1
- package/pkg-dist/src/modules/vault-snapshot.js +37 -30
- package/pkg-dist/src/modules/vault-snapshot.js.map +1 -1
|
@@ -3,19 +3,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PriceOracleModule = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
class PriceOracleModule {
|
|
6
|
-
constructor(
|
|
7
|
-
|
|
6
|
+
constructor(priceProvidersOrConfig, legacySources) {
|
|
7
|
+
// Backward compatibility: if second parameter is provided, use legacy API
|
|
8
|
+
if (legacySources && Array.isArray(legacySources)) {
|
|
9
|
+
this.sources = legacySources;
|
|
10
|
+
}
|
|
11
|
+
else if (priceProvidersOrConfig &&
|
|
12
|
+
Array.isArray(priceProvidersOrConfig)) {
|
|
13
|
+
// New API: priceProviders config array
|
|
14
|
+
this.sources = this.buildSources(priceProvidersOrConfig);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// No config provided, use defaults
|
|
18
|
+
this.sources = this.buildSources();
|
|
19
|
+
}
|
|
8
20
|
this.sources.sort((a, b) => a.priority - b.priority);
|
|
9
21
|
}
|
|
10
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Build price sources from config or use defaults
|
|
24
|
+
*/
|
|
25
|
+
buildSources(priceProviders) {
|
|
26
|
+
// Extract API keys from config
|
|
27
|
+
const coinGeckoKey = priceProviders?.find((p) => p.name.toLowerCase() === "coingecko")?.apiKey;
|
|
28
|
+
const binanceKey = priceProviders?.find((p) => p.name.toLowerCase() === "binance")?.apiKey;
|
|
29
|
+
const binanceSecret = priceProviders?.find((p) => p.name.toLowerCase() === "binance")?.apiSecret;
|
|
30
|
+
const coinbaseKey = priceProviders?.find((p) => p.name.toLowerCase() === "coinbase")?.apiKey;
|
|
31
|
+
const cryptoCompareKey = priceProviders?.find((p) => p.name.toLowerCase() === "cryptocompare")?.apiKey;
|
|
32
|
+
const sources = [];
|
|
33
|
+
// Add CryptoCompare if configured (highest priority due to API key)
|
|
34
|
+
if (cryptoCompareKey) {
|
|
35
|
+
sources.push(this.createCryptoCompareSource(cryptoCompareKey));
|
|
36
|
+
}
|
|
37
|
+
// Add default sources with optional API keys
|
|
38
|
+
sources.push(...this.getDefaultSources(coinGeckoKey, binanceKey, binanceSecret, coinbaseKey));
|
|
39
|
+
return sources;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create CryptoCompare price source
|
|
43
|
+
*/
|
|
44
|
+
createCryptoCompareSource(apiKey) {
|
|
11
45
|
const DEFAULT_HEADERS = {
|
|
12
46
|
// LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
|
|
13
47
|
Accept: "application/json",
|
|
14
48
|
};
|
|
15
49
|
const fetchJson = async (url) => {
|
|
16
50
|
const controller = new AbortController();
|
|
17
|
-
// Reduced from 8000ms to 5000ms to fail faster and avoid LIT Protocol 30s timeout
|
|
18
|
-
// When CoinGecko fails, we need to quickly try Binance to stay under 30s limit
|
|
19
51
|
const timeoutMs = 5000;
|
|
20
52
|
const id = setTimeout(() => controller.abort(), timeoutMs);
|
|
21
53
|
try {
|
|
@@ -32,58 +64,128 @@ class PriceOracleModule {
|
|
|
32
64
|
clearTimeout(id);
|
|
33
65
|
}
|
|
34
66
|
};
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: "Binance",
|
|
62
|
-
fetchPrice: async () => {
|
|
63
|
-
// Each node fetches the price
|
|
64
|
-
const url = new URL("https://api.binance.com/api/v3/ticker/price");
|
|
65
|
-
url.searchParams.set("symbol", "BTCUSDT");
|
|
66
|
-
const data = await fetchJson(url.toString());
|
|
67
|
-
const price = Number(data?.price);
|
|
68
|
-
if (!Number.isFinite(price) || price <= 0) {
|
|
69
|
-
throw new Error("Invalid Binance price payload");
|
|
70
|
-
}
|
|
71
|
-
// Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
|
|
72
|
-
const allPrices = await Lit.Actions.broadcastAndCollect({
|
|
73
|
-
name: "binancePrice",
|
|
74
|
-
value: price.toString(),
|
|
75
|
-
});
|
|
76
|
-
const prices = allPrices.map((p) => parseFloat(p));
|
|
77
|
-
prices.sort((a, b) => a - b);
|
|
78
|
-
return prices[Math.floor(prices.length / 2)];
|
|
79
|
-
},
|
|
80
|
-
priority: 2,
|
|
67
|
+
return {
|
|
68
|
+
name: "CryptoCompare",
|
|
69
|
+
fetchPrice: async () => {
|
|
70
|
+
// Each node fetches the price
|
|
71
|
+
const url = new URL("https://min-api.cryptocompare.com/data/price");
|
|
72
|
+
url.searchParams.set("fsym", "BTC");
|
|
73
|
+
url.searchParams.set("tsyms", "USDT");
|
|
74
|
+
url.searchParams.set("api_key", apiKey);
|
|
75
|
+
const data = await fetchJson(url.toString());
|
|
76
|
+
// Response format: {"USDT":86800.42}
|
|
77
|
+
// Treat USDT as USD (1:1 for price oracle purposes)
|
|
78
|
+
const price = Number(data?.USDT);
|
|
79
|
+
if (!Number.isFinite(price) || price <= 0) {
|
|
80
|
+
throw new Error("Invalid CryptoCompare price payload");
|
|
81
|
+
}
|
|
82
|
+
// Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
|
|
83
|
+
// Each node broadcasts its fetched price, then all receive all prices
|
|
84
|
+
const allPrices = await Lit.Actions.broadcastAndCollect({
|
|
85
|
+
name: "cryptoComparePrice",
|
|
86
|
+
value: price.toString(),
|
|
87
|
+
});
|
|
88
|
+
const prices = allPrices.map((p) => parseFloat(p));
|
|
89
|
+
prices.sort((a, b) => a - b);
|
|
90
|
+
return prices[Math.floor(prices.length / 2)];
|
|
81
91
|
},
|
|
92
|
+
priority: 1,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
getDefaultSources(coinGeckoApiKey, binanceApiKey, binanceApiSecret, coinbaseApiKey) {
|
|
96
|
+
// CRITICAL: LIT runtime rejects custom User-Agent headers (gRPC invalid_argument)
|
|
97
|
+
// Only use Accept header, which is safe for LIT Actions
|
|
98
|
+
const DEFAULT_HEADERS = {
|
|
99
|
+
Accept: "application/json",
|
|
100
|
+
};
|
|
101
|
+
// Helper to build headers with optional API key
|
|
102
|
+
const buildHeaders = (extraHeaders) => ({
|
|
103
|
+
...DEFAULT_HEADERS,
|
|
104
|
+
...(extraHeaders || {}),
|
|
105
|
+
});
|
|
106
|
+
// CRITICAL: Reduced timeout to 5s to stay well under 30s LIT Action limit
|
|
107
|
+
// This prevents timeout when multiple sources fail sequentially
|
|
108
|
+
const fetchJson = async (url, headers) => {
|
|
109
|
+
const controller = new AbortController();
|
|
110
|
+
const timeoutMs = 5000; // 5 seconds max per provider
|
|
111
|
+
const id = setTimeout(() => controller.abort(), timeoutMs);
|
|
112
|
+
try {
|
|
113
|
+
const res = await fetch(url, {
|
|
114
|
+
headers: buildHeaders(headers),
|
|
115
|
+
signal: controller.signal,
|
|
116
|
+
});
|
|
117
|
+
if (!res.ok) {
|
|
118
|
+
throw new Error(`HTTP ${res.status} ${res.statusText}`);
|
|
119
|
+
}
|
|
120
|
+
return await res.json();
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
clearTimeout(id);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
return [
|
|
127
|
+
// COMMENTED OUT: CoinGecko returns invalid_argument error in LIT runtime
|
|
128
|
+
// Sticking with CryptoCompare which works reliably with API key
|
|
129
|
+
// {
|
|
130
|
+
// name: "CoinGecko",
|
|
131
|
+
// fetchPrice: async () => {
|
|
132
|
+
// const url = new URL("https://api.coingecko.com/api/v3/simple/price");
|
|
133
|
+
// url.searchParams.set("ids", "bitcoin");
|
|
134
|
+
// url.searchParams.set("vs_currencies", "usd");
|
|
135
|
+
//
|
|
136
|
+
// const data: any = await fetchJson(url.toString());
|
|
137
|
+
// const price = Number((data as any)?.bitcoin?.usd);
|
|
138
|
+
// if (!Number.isFinite(price) || price <= 0) {
|
|
139
|
+
// throw new Error("Invalid CoinGecko price payload");
|
|
140
|
+
// }
|
|
141
|
+
//
|
|
142
|
+
// const allPrices = await Lit.Actions.broadcastAndCollect({
|
|
143
|
+
// name: "coinGeckoPrice",
|
|
144
|
+
// value: price.toString(),
|
|
145
|
+
// });
|
|
146
|
+
// const prices = allPrices.map((p: string) => parseFloat(p));
|
|
147
|
+
// prices.sort((a: number, b: number) => a - b);
|
|
148
|
+
// return prices[Math.floor(prices.length / 2)];
|
|
149
|
+
// },
|
|
150
|
+
// priority: 1,
|
|
151
|
+
// },
|
|
152
|
+
// COMMENTED OUT: Binance returns HTTP 451 (rate limited) even with API key
|
|
153
|
+
// {
|
|
154
|
+
// name: "Binance",
|
|
155
|
+
// fetchPrice: async () => {
|
|
156
|
+
// // Each node fetches the price
|
|
157
|
+
// const url = new URL("https://api.binance.com/api/v3/ticker/price");
|
|
158
|
+
// url.searchParams.set("symbol", "BTCUSDT");
|
|
159
|
+
//
|
|
160
|
+
// // Add API key header if provided (increases rate limits)
|
|
161
|
+
// const headers = binanceApiKey ? { "X-MBX-APIKEY": binanceApiKey } : undefined;
|
|
162
|
+
//
|
|
163
|
+
// const data: any = await fetchJson(url.toString(), headers);
|
|
164
|
+
// const price = Number((data as any)?.price);
|
|
165
|
+
// if (!Number.isFinite(price) || price <= 0) {
|
|
166
|
+
// throw new Error("Invalid Binance price payload");
|
|
167
|
+
// }
|
|
168
|
+
//
|
|
169
|
+
// // Master's wisdom: Use broadcastAndCollect to ensure consensus across all LIT nodes
|
|
170
|
+
// const allPrices = await Lit.Actions.broadcastAndCollect({
|
|
171
|
+
// name: "binancePrice",
|
|
172
|
+
// value: price.toString(),
|
|
173
|
+
// });
|
|
174
|
+
// const prices = allPrices.map((p: string) => parseFloat(p));
|
|
175
|
+
// prices.sort((a: number, b: number) => a - b);
|
|
176
|
+
// return prices[Math.floor(prices.length / 2)];
|
|
177
|
+
// },
|
|
178
|
+
// priority: 2,
|
|
179
|
+
// },
|
|
82
180
|
{
|
|
83
181
|
name: "Coinbase",
|
|
84
182
|
fetchPrice: async () => {
|
|
183
|
+
// Add API key header if provided (increases rate limits)
|
|
184
|
+
const headers = coinbaseApiKey
|
|
185
|
+
? { "CB-ACCESS-KEY": coinbaseApiKey }
|
|
186
|
+
: undefined;
|
|
85
187
|
// Each node fetches the price
|
|
86
|
-
const data = await fetchJson("https://api.coinbase.com/v2/prices/BTC-USD/spot");
|
|
188
|
+
const data = await fetchJson("https://api.coinbase.com/v2/prices/BTC-USD/spot", headers);
|
|
87
189
|
const price = Number(data?.data?.amount);
|
|
88
190
|
if (!Number.isFinite(price) || price <= 0) {
|
|
89
191
|
throw new Error("Invalid Coinbase price payload");
|
|
@@ -103,36 +205,73 @@ class PriceOracleModule {
|
|
|
103
205
|
}
|
|
104
206
|
/**
|
|
105
207
|
* Get BTC price in USD with 8 decimals
|
|
106
|
-
*
|
|
208
|
+
*
|
|
209
|
+
* CRITICAL OPTIMIZATION: Queries all sources in parallel with Promise.race()
|
|
210
|
+
* This prevents timeout when multiple sources fail sequentially.
|
|
211
|
+
*
|
|
212
|
+
* Master's Wisdom: "The fastest path to truth is asking all at once"
|
|
213
|
+
* - All sources queried simultaneously
|
|
214
|
+
* - First successful response wins
|
|
215
|
+
* - No waiting for slow/failed providers
|
|
216
|
+
* - Total time = fastest provider, not sum of all attempts
|
|
107
217
|
*/
|
|
108
218
|
async getBTCPrice() {
|
|
109
|
-
console.log(`[Price Oracle] Fetching BTC price from external sources...`);
|
|
110
|
-
//
|
|
111
|
-
|
|
219
|
+
console.log(`[Price Oracle] Fetching BTC price from external sources (parallel)...`);
|
|
220
|
+
// Query all sources in parallel - first success wins
|
|
221
|
+
const pricePromises = this.sources.map(async (source) => {
|
|
112
222
|
try {
|
|
113
|
-
console.log(`[Price Oracle]
|
|
223
|
+
console.log(`[Price Oracle] Querying ${source.name}...`);
|
|
114
224
|
const priceUSD = await source.fetchPrice();
|
|
115
225
|
console.log(`[Price Oracle] ✅ ${source.name}: $${priceUSD.toLocaleString()}`);
|
|
116
|
-
|
|
117
|
-
// CRITICAL: Avoid floating-point multiplication which is non-deterministic
|
|
118
|
-
// across different JavaScript engines/architectures
|
|
119
|
-
//
|
|
120
|
-
// Instead of: BigInt(Math.floor(priceUSD * 100_000_000))
|
|
121
|
-
// Which could give different results on different nodes due to FP precision
|
|
122
|
-
//
|
|
123
|
-
// Solution: Convert to integer cents first, then scale using BigInt-only math
|
|
124
|
-
// Example: $105,447.25 → 10544725 cents → 10544725000000n (8 decimals)
|
|
125
|
-
const priceCents = Math.round(priceUSD * 100); // Convert to cents (integer)
|
|
126
|
-
const priceWith8Decimals = BigInt(priceCents) * 1000000n; // Scale to 8 decimals using BigInt
|
|
127
|
-
console.log(`[Price Oracle] Price with 8 decimals: ${priceWith8Decimals}`);
|
|
128
|
-
return priceWith8Decimals;
|
|
226
|
+
return { source: source.name, priceUSD };
|
|
129
227
|
}
|
|
130
228
|
catch (error) {
|
|
131
229
|
console.warn(`[Price Oracle] ⚠️ ${source.name} failed: ${error.message}`);
|
|
132
|
-
|
|
230
|
+
throw error; // Re-throw for Promise.race rejection
|
|
133
231
|
}
|
|
232
|
+
});
|
|
233
|
+
// Wait for first successful result
|
|
234
|
+
try {
|
|
235
|
+
const firstSuccess = await Promise.race(pricePromises.map((p) => p.catch((err) => {
|
|
236
|
+
// Convert rejection to resolved value with error flag
|
|
237
|
+
// This prevents Promise.race from rejecting prematurely
|
|
238
|
+
return { error: err };
|
|
239
|
+
})));
|
|
240
|
+
// If first result is an error, wait for any success
|
|
241
|
+
if ("error" in firstSuccess) {
|
|
242
|
+
const results = await Promise.allSettled(pricePromises);
|
|
243
|
+
const success = results.find((r) => r.status === "fulfilled");
|
|
244
|
+
if (!success) {
|
|
245
|
+
throw new Error("All price sources failed");
|
|
246
|
+
}
|
|
247
|
+
const { source, priceUSD } = success.value;
|
|
248
|
+
console.log(`[Price Oracle] Using ${source} (first successful after failures)`);
|
|
249
|
+
// Convert to 8 decimals as bigint - DETERMINISTIC METHOD
|
|
250
|
+
const priceCents = Math.round(priceUSD * 100);
|
|
251
|
+
const priceWith8Decimals = BigInt(priceCents) * 1000000n;
|
|
252
|
+
console.log(`[Price Oracle] Price with 8 decimals: ${priceWith8Decimals}`);
|
|
253
|
+
return priceWith8Decimals;
|
|
254
|
+
}
|
|
255
|
+
// First result succeeded
|
|
256
|
+
const { source, priceUSD } = firstSuccess;
|
|
257
|
+
console.log(`[Price Oracle] Using ${source} (fastest response)`);
|
|
258
|
+
// Convert to 8 decimals as bigint - DETERMINISTIC METHOD
|
|
259
|
+
// CRITICAL: Avoid floating-point multiplication which is non-deterministic
|
|
260
|
+
// across different JavaScript engines/architectures
|
|
261
|
+
//
|
|
262
|
+
// Instead of: BigInt(Math.floor(priceUSD * 100_000_000))
|
|
263
|
+
// Which could give different results on different nodes due to FP precision
|
|
264
|
+
//
|
|
265
|
+
// Solution: Convert to integer cents first, then scale using BigInt-only math
|
|
266
|
+
// Example: $105,447.25 → 10544725 cents → 10544725000000n (8 decimals)
|
|
267
|
+
const priceCents = Math.round(priceUSD * 100); // Convert to cents (integer)
|
|
268
|
+
const priceWith8Decimals = BigInt(priceCents) * 1000000n; // Scale to 8 decimals using BigInt
|
|
269
|
+
console.log(`[Price Oracle] Price with 8 decimals: ${priceWith8Decimals}`);
|
|
270
|
+
return priceWith8Decimals;
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
throw new Error(`All price sources failed: ${error.message}`);
|
|
134
274
|
}
|
|
135
|
-
throw new Error("All price sources failed");
|
|
136
275
|
}
|
|
137
276
|
/**
|
|
138
277
|
* Consensus across multiple sources with outlier detection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-oracle.module.js","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"price-oracle.module.js","sourceRoot":"","sources":["../../../src/modules/price-oracle.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;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"}
|
|
@@ -125,8 +125,39 @@ class VaultSnapshotModule {
|
|
|
125
125
|
const positionIdBytes32 = positionId.startsWith("0x")
|
|
126
126
|
? positionId
|
|
127
127
|
: `0x${positionId.padStart(64, "0")}`;
|
|
128
|
-
//
|
|
129
|
-
|
|
128
|
+
// Get RPC URL
|
|
129
|
+
let rpcUrl;
|
|
130
|
+
if (this.config.rpcUrl) {
|
|
131
|
+
rpcUrl = this.config.rpcUrl;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// @ts-ignore - Lit.Actions available in LIT runtime
|
|
135
|
+
rpcUrl = await Lit.Actions.getRpcUrl({ chain: this.config.chain });
|
|
136
|
+
}
|
|
137
|
+
// Query contract
|
|
138
|
+
// @ts-ignore - ethers available in LIT runtime
|
|
139
|
+
// StaticJsonRpcProvider with explicit network bypasses auto-detection (required for ngrok URLs in LIT sandbox)
|
|
140
|
+
const provider = new ethers.providers.StaticJsonRpcProvider(rpcUrl, {
|
|
141
|
+
name: "any",
|
|
142
|
+
chainId: this.config.chainId,
|
|
143
|
+
});
|
|
144
|
+
// CRITICAL: Must call PositionManagerCore facet directly to get full Position struct with vaultAddress
|
|
145
|
+
// The Diamond proxy's getPositionDetails() returns simplified struct without vaultAddress
|
|
146
|
+
// Step 1: Get core facet address from Diamond proxy
|
|
147
|
+
// @ts-ignore - ethers available in LIT runtime
|
|
148
|
+
const diamondContract = new ethers.Contract(this.config.contractAddress, [
|
|
149
|
+
{
|
|
150
|
+
inputs: [],
|
|
151
|
+
name: "core",
|
|
152
|
+
outputs: [{ internalType: "address", name: "", type: "address" }],
|
|
153
|
+
stateMutability: "view",
|
|
154
|
+
type: "function",
|
|
155
|
+
},
|
|
156
|
+
], provider);
|
|
157
|
+
const coreAddress = await diamondContract.core();
|
|
158
|
+
// Step 2: Call getPositionDetails on core facet (returns full struct with vaultAddress)
|
|
159
|
+
// ABI for PositionManagerCoreModule.getPositionDetails
|
|
160
|
+
const coreGetPositionDetailsABI = [
|
|
130
161
|
{
|
|
131
162
|
inputs: [
|
|
132
163
|
{ internalType: "bytes32", name: "positionId", type: "bytes32" },
|
|
@@ -138,19 +169,11 @@ class VaultSnapshotModule {
|
|
|
138
169
|
{ internalType: "bytes32", name: "positionId", type: "bytes32" },
|
|
139
170
|
{ internalType: "bytes32", name: "pkpId", type: "bytes32" },
|
|
140
171
|
{ internalType: "uint256", name: "ucdDebt", type: "uint256" },
|
|
141
|
-
{
|
|
142
|
-
internalType: "string",
|
|
143
|
-
name: "vaultAddress",
|
|
144
|
-
type: "string",
|
|
145
|
-
},
|
|
172
|
+
{ internalType: "string", name: "vaultAddress", type: "string" },
|
|
146
173
|
{ internalType: "address", name: "borrower", type: "address" },
|
|
147
174
|
{ internalType: "uint40", name: "createdAt", type: "uint40" },
|
|
148
175
|
{ internalType: "uint40", name: "lastUpdated", type: "uint40" },
|
|
149
|
-
{
|
|
150
|
-
internalType: "uint16",
|
|
151
|
-
name: "selectedTerm",
|
|
152
|
-
type: "uint16",
|
|
153
|
-
},
|
|
176
|
+
{ internalType: "uint16", name: "selectedTerm", type: "uint16" },
|
|
154
177
|
{ internalType: "uint40", name: "expiryAt", type: "uint40" },
|
|
155
178
|
{
|
|
156
179
|
internalType: "enum LoanStatusLib.LoanStatus",
|
|
@@ -167,25 +190,9 @@ class VaultSnapshotModule {
|
|
|
167
190
|
type: "function",
|
|
168
191
|
},
|
|
169
192
|
];
|
|
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
193
|
// @ts-ignore - ethers available in LIT runtime
|
|
187
|
-
const
|
|
188
|
-
const position = await
|
|
194
|
+
const coreContract = new ethers.Contract(coreAddress, coreGetPositionDetailsABI, provider);
|
|
195
|
+
const position = await coreContract.getPositionDetails(positionIdBytes32);
|
|
189
196
|
// Validate status is in valid range (0-7)
|
|
190
197
|
const statusNum = Number(position.status);
|
|
191
198
|
if (statusNum < 0 || statusNum > 7) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-snapshot.js","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;
|
|
1
|
+
{"version":3,"file":"vault-snapshot.js","sourceRoot":"","sources":["../../../src/modules/vault-snapshot.ts"],"names":[],"mappings":"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"}
|