@render-foundation/utils 0.0.258 → 0.0.260
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/lib/cjs/client/dispersed.js.map +1 -1
- package/lib/cjs/client/pg/v2Client.js +48 -28
- package/lib/cjs/client/pg/v2Client.js.map +1 -1
- package/lib/cjs/client/price.js +15 -22
- package/lib/cjs/client/price.js.map +1 -1
- package/lib/esm/src/client/dispersed.js.map +1 -1
- package/lib/esm/src/client/pg/v2Client.js +40 -9
- package/lib/esm/src/client/pg/v2Client.js.map +1 -1
- package/lib/esm/src/client/price.js +15 -22
- package/lib/esm/src/client/price.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/client/dispersed.d.ts +3 -0
- package/lib/types/src/client/dispersed.d.ts.map +1 -1
- package/lib/types/src/client/pg/v2Client.d.ts +8 -0
- package/lib/types/src/client/pg/v2Client.d.ts.map +1 -1
- package/lib/types/src/client/price.d.ts.map +1 -1
- package/lib/types/src/dbTypesV2.d.ts +10 -0
- package/lib/types/src/dbTypesV2.d.ts.map +1 -1
- package/lib/types/src/index.d.ts +1 -1
- package/lib/types/src/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/lib/cjs/tsconfig.cjs.tsbuildinfo +0 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { CoinGeckoClient } from 'coingecko-api-v3';
|
|
2
2
|
import ccxt from 'ccxt';
|
|
3
3
|
export const priceClient = () => {
|
|
4
|
-
|
|
4
|
+
// binanceus removed 2026-08: api.binance.us is decommissioned (DNS gone) — and its uncaught fetch
|
|
5
|
+
// failure threw BEFORE the coinbase fallback could run, breaking buy-and-burn pricing entirely.
|
|
6
|
+
// coinbase (RENDER/USD) is the primary source now.
|
|
5
7
|
const cb = new ccxt.coinbase({});
|
|
6
8
|
const client = new CoinGeckoClient({
|
|
7
9
|
timeout: 10000,
|
|
@@ -27,32 +29,23 @@ export const priceClient = () => {
|
|
|
27
29
|
},
|
|
28
30
|
async getRenderPriceAtDate(p) {
|
|
29
31
|
const symbol = p.symbol ?? 'RENDER/USDT';
|
|
30
|
-
// coinbase lists RENDER as RENDER/USD, not RENDER/USDT —
|
|
32
|
+
// coinbase lists RENDER as RENDER/USD, not RENDER/USDT — callers still pass the USDT form.
|
|
31
33
|
const cbSymbol = symbol.replace('/USDT', '/USD');
|
|
32
34
|
const since = p.ts.getTime();
|
|
33
|
-
// 1) Historical: the 1m candle at/after ts
|
|
34
|
-
|
|
35
|
-
if (ticks.length == 0)
|
|
36
|
-
ticks = await cb.fetchOHLCV(cbSymbol, '1m', since, 1);
|
|
35
|
+
// 1) Historical: the 1m candle at/after ts.
|
|
36
|
+
const ticks = await cb.fetchOHLCV(cbSymbol, '1m', since, 1);
|
|
37
37
|
if (ticks.length > 0)
|
|
38
38
|
return Number(ticks[0][4]);
|
|
39
|
-
// 2) OHLCV empty — typically ts ≈ now (the current minute has no closed candle yet)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const t = await ex.fetchTicker(sym);
|
|
48
|
-
if (t.last)
|
|
49
|
-
return Number(t.last);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
/* try next source */
|
|
53
|
-
}
|
|
39
|
+
// 2) OHLCV empty — typically ts ≈ now (the current minute has no closed candle yet): live ticker.
|
|
40
|
+
try {
|
|
41
|
+
const t = await cb.fetchTicker(cbSymbol);
|
|
42
|
+
if (t.last)
|
|
43
|
+
return Number(t.last);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
/* fall through to the error below */
|
|
54
47
|
}
|
|
55
|
-
throw new Error(`failed fetching RENDER price for ${
|
|
48
|
+
throw new Error(`failed fetching RENDER price for ${cbSymbol} at ${p.ts.toISOString()}`);
|
|
56
49
|
},
|
|
57
50
|
async getCurrPrice() {
|
|
58
51
|
const res = await client.coinId({ id: 'render-token' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../src/client/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,IAAI,MAAM,MAAM,CAAA;AAgBvB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAgB,EAAE;IAC3C,
|
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../src/client/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,IAAI,MAAM,MAAM,CAAA;AAgBvB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAgB,EAAE;IAC3C,kGAAkG;IAClG,gGAAgG;IAChG,mDAAmD;IACnD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAEhC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,EAAQ;YACtB,oEAAoE;YACpE,IAAI,UAA8B,CAAA;YAClC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;YACpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBACjD;gBACH,uFAAuF;gBACvF,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;gBAC1C,IAAI,CAAC,CAAC,IAAI;oBAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;aACxC;YACD,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;aACjF;YACD,OAAO,CAAC,GAAG,UAAU,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,oBAAoB,CAAC,CAI1B;YACC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,aAAa,CAAA;YACxC,2FAA2F;YAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;YAE5B,4CAA4C;YAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEhD,kGAAkG;YAClG,IAAI;gBACF,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;gBACxC,IAAI,CAAC,CAAC,IAAI;oBAAE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;aAClC;YAAC,MAAM;gBACN,qCAAqC;aACtC;YACD,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CACxE,CAAA;QACH,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;YACvD,OAAO,GAAG,CAAC,WAAW,EAAE,aAAc,CAAC,KAAK,CAAE,CAAA;QAChD,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|