paytaca-cli 0.4.1 → 0.5.1
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/README.md +29 -9
- package/dist/commands/balance.d.ts.map +1 -1
- package/dist/commands/balance.js +22 -9
- package/dist/commands/balance.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +10 -2
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/send.d.ts +2 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +22 -7
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/swap.d.ts +19 -0
- package/dist/commands/swap.d.ts.map +1 -0
- package/dist/commands/swap.js +129 -0
- package/dist/commands/swap.js.map +1 -0
- package/dist/commands/token.d.ts.map +1 -1
- package/dist/commands/token.js +140 -1
- package/dist/commands/token.js.map +1 -1
- package/dist/commands/wallet.d.ts.map +1 -1
- package/dist/commands/wallet.js +12 -3
- package/dist/commands/wallet.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/nostr/store.test.js +12 -4
- package/dist/nostr/store.test.js.map +1 -1
- package/dist/utils/prices.d.ts +46 -0
- package/dist/utils/prices.d.ts.map +1 -0
- package/dist/utils/prices.js +92 -0
- package/dist/utils/prices.js.map +1 -0
- package/dist/utils/prices.test.d.ts +5 -0
- package/dist/utils/prices.test.d.ts.map +1 -0
- package/dist/utils/prices.test.js +62 -0
- package/dist/utils/prices.test.js.map +1 -0
- package/dist/wallet/bch.d.ts +14 -0
- package/dist/wallet/bch.d.ts.map +1 -1
- package/dist/wallet/bch.js +24 -0
- package/dist/wallet/bch.js.map +1 -1
- package/dist/wallet/cauldron/api.d.ts +58 -0
- package/dist/wallet/cauldron/api.d.ts.map +1 -0
- package/dist/wallet/cauldron/api.js +60 -0
- package/dist/wallet/cauldron/api.js.map +1 -0
- package/dist/wallet/cauldron/pools.d.ts +66 -0
- package/dist/wallet/cauldron/pools.d.ts.map +1 -0
- package/dist/wallet/cauldron/pools.js +96 -0
- package/dist/wallet/cauldron/pools.js.map +1 -0
- package/dist/wallet/cauldron/pools.test.d.ts +3 -0
- package/dist/wallet/cauldron/pools.test.d.ts.map +1 -0
- package/dist/wallet/cauldron/pools.test.js +149 -0
- package/dist/wallet/cauldron/pools.test.js.map +1 -0
- package/dist/wallet/cauldron/swap.d.ts +69 -0
- package/dist/wallet/cauldron/swap.d.ts.map +1 -0
- package/dist/wallet/cauldron/swap.js +173 -0
- package/dist/wallet/cauldron/swap.js.map +1 -0
- package/dist/wallet/cauldron/transact.d.ts +98 -0
- package/dist/wallet/cauldron/transact.d.ts.map +1 -0
- package/dist/wallet/cauldron/transact.js +307 -0
- package/dist/wallet/cauldron/transact.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prices.test.d.ts","sourceRoot":"","sources":["../../src/utils/prices.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for the watchtower asset-prices utilities.
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect, vi, afterEach } from 'vitest';
|
|
5
|
+
import { fetchAssetPrices, getUsdPerToken, getBchUsdPrice, tokenAmountToUsd, formatUsd, } from './prices.js';
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
vi.unstubAllGlobals();
|
|
8
|
+
});
|
|
9
|
+
function stubFetch(json) {
|
|
10
|
+
vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
|
|
11
|
+
ok: true,
|
|
12
|
+
json: () => Promise.resolve(json),
|
|
13
|
+
}));
|
|
14
|
+
}
|
|
15
|
+
describe('tokenAmountToUsd', () => {
|
|
16
|
+
it('converts raw base units to USD using the display-token price', () => {
|
|
17
|
+
// 10000 base units, 2 decimals = 100.00 tokens @ $0.02 each
|
|
18
|
+
expect(tokenAmountToUsd(10000, 2, 0.02)).toBeCloseTo(2, 10);
|
|
19
|
+
});
|
|
20
|
+
it('handles zero decimals', () => {
|
|
21
|
+
expect(tokenAmountToUsd(5, 0, 1.5)).toBeCloseTo(7.5, 10);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe('formatUsd', () => {
|
|
25
|
+
it('formats as USD', () => {
|
|
26
|
+
expect(formatUsd(2.007)).toBe('2.01 USD');
|
|
27
|
+
});
|
|
28
|
+
it('returns an em dash for non-finite input', () => {
|
|
29
|
+
expect(formatUsd(Number.NaN)).toBe('—');
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe('fetchAssetPrices', () => {
|
|
33
|
+
it('returns the raw prices array', async () => {
|
|
34
|
+
stubFetch({ prices: [{ asset: 'ct/abc', currency: 'USD', price_value: '10' }] });
|
|
35
|
+
const result = await fetchAssetPrices(['ct/abc']);
|
|
36
|
+
expect(result).toHaveLength(1);
|
|
37
|
+
expect(result[0].price_value).toBe('10');
|
|
38
|
+
});
|
|
39
|
+
it('returns [] when the response has no prices', async () => {
|
|
40
|
+
stubFetch({ prices: [] });
|
|
41
|
+
expect(await fetchAssetPrices(['ct/abc'])).toEqual([]);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('getUsdPerToken', () => {
|
|
45
|
+
it('takes the reciprocal of the tokens-per-USD quote', async () => {
|
|
46
|
+
stubFetch({
|
|
47
|
+
prices: [{ asset: 'ct/abc', currency: 'USD', price_value: '50' }],
|
|
48
|
+
});
|
|
49
|
+
expect(await getUsdPerToken('abc')).toBeCloseTo(0.02, 10);
|
|
50
|
+
});
|
|
51
|
+
it('returns null for a token with no market price', async () => {
|
|
52
|
+
stubFetch({ prices: [] });
|
|
53
|
+
expect(await getUsdPerToken('abc')).toBeNull();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('getBchUsdPrice', () => {
|
|
57
|
+
it('returns the USD-per-BCH quote directly', async () => {
|
|
58
|
+
stubFetch({ prices: [{ asset: 'BCH', currency: 'USD', price_value: '247.8' }] });
|
|
59
|
+
expect(await getBchUsdPrice()).toBeCloseTo(247.8, 10);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=prices.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prices.test.js","sourceRoot":"","sources":["../../src/utils/prices.test.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet/bch.d.ts
CHANGED
|
@@ -163,6 +163,20 @@ export declare class BchWallet {
|
|
|
163
163
|
* The data format is identical to what paytaca-app passes.
|
|
164
164
|
*/
|
|
165
165
|
private _sendBch;
|
|
166
|
+
/**
|
|
167
|
+
* Get raw UTXOs from Watchtower.
|
|
168
|
+
* Adapted from paytaca-app BchWallet.getUtxos().
|
|
169
|
+
*
|
|
170
|
+
* With no category: returns all UTXOs (BCH + CashTokens).
|
|
171
|
+
* With a category: returns only that token's UTXOs (is_cashtoken=true).
|
|
172
|
+
*
|
|
173
|
+
* @param opts.category - Token category ID (64-char hex) to filter by
|
|
174
|
+
* @param opts.nft - Only return NFT UTXOs for the category
|
|
175
|
+
*/
|
|
176
|
+
getUtxos(opts?: {
|
|
177
|
+
category?: string;
|
|
178
|
+
nft?: boolean;
|
|
179
|
+
}): Promise<any[]>;
|
|
166
180
|
/**
|
|
167
181
|
* Trigger a UTXO scan on the Watchtower backend.
|
|
168
182
|
*/
|
package/dist/wallet/bch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../src/wallet/bch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bch.d.ts","sourceRoot":"","sources":["../../src/wallet/bch.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet/bch.js
CHANGED
|
@@ -156,6 +156,30 @@ export class BchWallet {
|
|
|
156
156
|
const result = await this.watchtower.BCH.send(data);
|
|
157
157
|
return result;
|
|
158
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Get raw UTXOs from Watchtower.
|
|
161
|
+
* Adapted from paytaca-app BchWallet.getUtxos().
|
|
162
|
+
*
|
|
163
|
+
* With no category: returns all UTXOs (BCH + CashTokens).
|
|
164
|
+
* With a category: returns only that token's UTXOs (is_cashtoken=true).
|
|
165
|
+
*
|
|
166
|
+
* @param opts.category - Token category ID (64-char hex) to filter by
|
|
167
|
+
* @param opts.nft - Only return NFT UTXOs for the category
|
|
168
|
+
*/
|
|
169
|
+
async getUtxos(opts) {
|
|
170
|
+
const params = {};
|
|
171
|
+
let url = `utxo/wallet/${this.walletHash}/`;
|
|
172
|
+
if (opts?.category) {
|
|
173
|
+
url += encodeURIComponent(opts.category) + '/';
|
|
174
|
+
params.is_cashtoken = true;
|
|
175
|
+
params.is_cashtoken_nft = Boolean(opts.nft);
|
|
176
|
+
}
|
|
177
|
+
const response = await this.watchtower.BCH._api.get(url, { params });
|
|
178
|
+
if (!Array.isArray(response.data?.utxos)) {
|
|
179
|
+
return Promise.reject({ response });
|
|
180
|
+
}
|
|
181
|
+
return response.data.utxos;
|
|
182
|
+
}
|
|
159
183
|
/**
|
|
160
184
|
* Trigger a UTXO scan on the Watchtower backend.
|
|
161
185
|
*/
|
package/dist/wallet/bch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bch.js","sourceRoot":"","sources":["../../src/wallet/bch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bch.js","sourceRoot":"","sources":["../../src/wallet/bch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cauldron (riften indexer) REST client.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: paytaca-app/src/wallet/cauldron/api.js, tokens.js,
|
|
5
|
+
* and pool-tracker.ts. Uses the global fetch API (Node 20+) instead of axios.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* An active pool as returned by the cauldron indexer.
|
|
9
|
+
* GET /cauldron/pool/active?token=<category>
|
|
10
|
+
*/
|
|
11
|
+
export interface ApiPool {
|
|
12
|
+
owner_p2pkh_addr: string;
|
|
13
|
+
owner_pkh: string;
|
|
14
|
+
pool_id: string;
|
|
15
|
+
sats: number;
|
|
16
|
+
token_id: string;
|
|
17
|
+
tokens: number;
|
|
18
|
+
tx_pos: number;
|
|
19
|
+
txid: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A cauldron-listed token (market info + BCMR metadata).
|
|
23
|
+
* GET /cauldron/tokens/list_cached_by_ids?ids=<category>
|
|
24
|
+
*/
|
|
25
|
+
export interface CauldronTokenData {
|
|
26
|
+
token_id: string;
|
|
27
|
+
display_name: string;
|
|
28
|
+
display_symbol: string;
|
|
29
|
+
price_now: number;
|
|
30
|
+
price_now_usd: number;
|
|
31
|
+
tvl_sats: number;
|
|
32
|
+
bcmr: {
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
token: {
|
|
36
|
+
category: string;
|
|
37
|
+
decimals: number;
|
|
38
|
+
symbol: string;
|
|
39
|
+
};
|
|
40
|
+
uris?: {
|
|
41
|
+
icon?: string;
|
|
42
|
+
web?: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export declare class CauldronApiError extends Error {
|
|
47
|
+
status?: number;
|
|
48
|
+
constructor(message: string, status?: number);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Fetch the active cauldron pools for a token category.
|
|
52
|
+
*/
|
|
53
|
+
export declare function fetchPoolsForToken(tokenId: string): Promise<ApiPool[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Fetch market + BCMR data for a single token category.
|
|
56
|
+
*/
|
|
57
|
+
export declare function fetchTokenData(tokenId: string): Promise<CauldronTokenData | undefined>;
|
|
58
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/wallet/cauldron/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAA;YAChB,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;QACD,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACvC,CAAA;CACF;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,EAAE,MAAM,CAAA;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AA6BD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQ5E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAYxC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cauldron (riften indexer) REST client.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: paytaca-app/src/wallet/cauldron/api.js, tokens.js,
|
|
5
|
+
* and pool-tracker.ts. Uses the global fetch API (Node 20+) instead of axios.
|
|
6
|
+
*/
|
|
7
|
+
const CAULDRON_INDEXER_BASE_URL = 'https://indexer.riften.net';
|
|
8
|
+
export class CauldronApiError extends Error {
|
|
9
|
+
status;
|
|
10
|
+
constructor(message, status) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = 'CauldronApiError';
|
|
13
|
+
this.status = status;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async function getJson(path, params = {}) {
|
|
17
|
+
const url = new URL(CAULDRON_INDEXER_BASE_URL + path);
|
|
18
|
+
for (const [key, value] of Object.entries(params)) {
|
|
19
|
+
if (value === undefined || value === null || value === '')
|
|
20
|
+
continue;
|
|
21
|
+
url.searchParams.set(key, String(value));
|
|
22
|
+
}
|
|
23
|
+
let response;
|
|
24
|
+
try {
|
|
25
|
+
response = await fetch(url.toString());
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
throw new CauldronApiError(`Cauldron indexer unreachable: ${err?.message || err}`);
|
|
29
|
+
}
|
|
30
|
+
if (!response.ok) {
|
|
31
|
+
throw new CauldronApiError(`Cauldron indexer request failed (${response.status} ${response.statusText})`, response.status);
|
|
32
|
+
}
|
|
33
|
+
return response.json();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Fetch the active cauldron pools for a token category.
|
|
37
|
+
*/
|
|
38
|
+
export async function fetchPoolsForToken(tokenId) {
|
|
39
|
+
const data = await getJson('/cauldron/pool/active', {
|
|
40
|
+
token: tokenId,
|
|
41
|
+
});
|
|
42
|
+
if (!Array.isArray(data.active)) {
|
|
43
|
+
throw new CauldronApiError('Unexpected response from cauldron pool endpoint');
|
|
44
|
+
}
|
|
45
|
+
return data.active;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Fetch market + BCMR data for a single token category.
|
|
49
|
+
*/
|
|
50
|
+
export async function fetchTokenData(tokenId) {
|
|
51
|
+
const data = await getJson('/cauldron/tokens/list_cached_by_ids', {
|
|
52
|
+
ids: tokenId,
|
|
53
|
+
limit: 1,
|
|
54
|
+
offset: 0,
|
|
55
|
+
by: 'score',
|
|
56
|
+
order: 'desc',
|
|
57
|
+
});
|
|
58
|
+
return Array.isArray(data) ? data[0] : undefined;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/wallet/cauldron/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,yBAAyB,GAAG,4BAA4B,CAAA;AAwC9D,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAS;IACf,YAAY,OAAe,EAAE,MAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,SAAsD,EAAE;IAExD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;YAAE,SAAQ;QACnE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,QAAkB,CAAA;IACtB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,gBAAgB,CACxB,oCAAoC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,GAAG,EAC7E,QAAQ,CAAC,MAAM,CAChB,CAAA;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAuB,uBAAuB,EAAE;QACxE,KAAK,EAAE,OAAO;KACf,CAAC,CAAA;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,gBAAgB,CAAC,iDAAiD,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC,MAAmB,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,OAAO,CACxB,qCAAqC,EACrC;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,MAAM;KACd,CACF,CAAA;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cauldron pool conversions and helpers.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: paytaca-app/src/wallet/cauldron/utils.js and pool-tracker.ts.
|
|
5
|
+
* Converts indexer ApiPool entries into @cashlab/cauldron PoolV0 objects.
|
|
6
|
+
*/
|
|
7
|
+
import { type PoolV0 } from '@cashlab/cauldron';
|
|
8
|
+
import { type ApiPool } from './api.js';
|
|
9
|
+
export interface MicroPool {
|
|
10
|
+
pool_id: string;
|
|
11
|
+
pkh: string;
|
|
12
|
+
is_withdrawn: boolean;
|
|
13
|
+
spent_utxo_hash: string;
|
|
14
|
+
new_utxo_hash: string;
|
|
15
|
+
new_utxo_txid: string;
|
|
16
|
+
new_utxo_n: number;
|
|
17
|
+
token_id: string;
|
|
18
|
+
sats: number;
|
|
19
|
+
token_amount: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Convert an indexer ApiPool to a MicroPool.
|
|
23
|
+
*/
|
|
24
|
+
export declare function apiPoolToMicroPool(pool: ApiPool): MicroPool;
|
|
25
|
+
/**
|
|
26
|
+
* Convert a MicroPool to a @cashlab/cauldron PoolV0.
|
|
27
|
+
*/
|
|
28
|
+
export declare function microPoolToPoolV0(pool: MicroPool): PoolV0;
|
|
29
|
+
/**
|
|
30
|
+
* Fetch + convert active pools for a token category into PoolV0 objects.
|
|
31
|
+
*/
|
|
32
|
+
export declare function fetchPoolV0ForToken(tokenId: string): Promise<PoolV0[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Compute the post-trade state of a pool output (used for fee estimation).
|
|
35
|
+
* Mirrors paytaca-app poolTradeToCashscriptOutput().
|
|
36
|
+
*/
|
|
37
|
+
export interface PoolTradeOutput {
|
|
38
|
+
to: Uint8Array;
|
|
39
|
+
amount: bigint;
|
|
40
|
+
token: {
|
|
41
|
+
amount: bigint;
|
|
42
|
+
category: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @param poolTrade A @cashlab/cauldron PoolTrade
|
|
47
|
+
* @returns The pool's resulting output after the trade
|
|
48
|
+
*/
|
|
49
|
+
export declare function poolTradeToOutput(poolTrade: {
|
|
50
|
+
supply_token_id: string;
|
|
51
|
+
demand_token_id: string;
|
|
52
|
+
supply: bigint;
|
|
53
|
+
demand: bigint;
|
|
54
|
+
pool: PoolV0;
|
|
55
|
+
}): PoolTradeOutput;
|
|
56
|
+
/**
|
|
57
|
+
* Parse a trade rate (price) into a human-readable string.
|
|
58
|
+
* Mirrors paytaca-app parseRate().
|
|
59
|
+
*
|
|
60
|
+
* @param isBuyingToken true when BCH is spent to buy tokens (price in BCH per token)
|
|
61
|
+
*/
|
|
62
|
+
export declare function parseRate(rate: {
|
|
63
|
+
numerator: bigint;
|
|
64
|
+
denominator: bigint;
|
|
65
|
+
}, tokenDecimals: number, isBuyingToken: boolean): string;
|
|
66
|
+
//# sourceMappingURL=pools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pools.d.ts","sourceRoot":"","sources":["../../../src/wallet/cauldron/pools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG5D,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,UAAU,CAAA;AAE3D,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAa3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoBzD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAG5E;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,UAAU,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE;IAC3C,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,eAAe,CAclB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAChD,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,OAAO,GACrB,MAAM,CAcR"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cauldron pool conversions and helpers.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from: paytaca-app/src/wallet/cauldron/utils.js and pool-tracker.ts.
|
|
5
|
+
* Converts indexer ApiPool entries into @cashlab/cauldron PoolV0 objects.
|
|
6
|
+
*/
|
|
7
|
+
import { ExchangeLab } from '@cashlab/cauldron';
|
|
8
|
+
import { NATIVE_BCH_TOKEN_ID } from '@cashlab/common';
|
|
9
|
+
import { hexToBin } from '@cashlab/common/libauth.js';
|
|
10
|
+
import { fetchPoolsForToken } from './api.js';
|
|
11
|
+
/**
|
|
12
|
+
* Convert an indexer ApiPool to a MicroPool.
|
|
13
|
+
*/
|
|
14
|
+
export function apiPoolToMicroPool(pool) {
|
|
15
|
+
return {
|
|
16
|
+
pool_id: pool.pool_id,
|
|
17
|
+
pkh: pool.owner_pkh,
|
|
18
|
+
is_withdrawn: false,
|
|
19
|
+
spent_utxo_hash: '',
|
|
20
|
+
new_utxo_hash: pool.txid,
|
|
21
|
+
new_utxo_txid: pool.txid,
|
|
22
|
+
new_utxo_n: pool.tx_pos,
|
|
23
|
+
token_id: pool.token_id,
|
|
24
|
+
sats: pool.sats,
|
|
25
|
+
token_amount: pool.tokens,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Convert a MicroPool to a @cashlab/cauldron PoolV0.
|
|
30
|
+
*/
|
|
31
|
+
export function microPoolToPoolV0(pool) {
|
|
32
|
+
const pool0Params = { withdraw_pubkey_hash: hexToBin(pool.pkh) };
|
|
33
|
+
const exlab = new ExchangeLab();
|
|
34
|
+
const pool0LockingBytecode = exlab.generatePoolV0LockingBytecode(pool0Params);
|
|
35
|
+
return {
|
|
36
|
+
version: '0',
|
|
37
|
+
parameters: pool0Params,
|
|
38
|
+
outpoint: {
|
|
39
|
+
index: pool.new_utxo_n,
|
|
40
|
+
txhash: hexToBin(pool.new_utxo_txid),
|
|
41
|
+
},
|
|
42
|
+
output: {
|
|
43
|
+
locking_bytecode: pool0LockingBytecode,
|
|
44
|
+
token: {
|
|
45
|
+
amount: BigInt(pool.token_amount),
|
|
46
|
+
token_id: pool.token_id,
|
|
47
|
+
},
|
|
48
|
+
amount: BigInt(pool.sats),
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Fetch + convert active pools for a token category into PoolV0 objects.
|
|
54
|
+
*/
|
|
55
|
+
export async function fetchPoolV0ForToken(tokenId) {
|
|
56
|
+
const pools = await fetchPoolsForToken(tokenId);
|
|
57
|
+
return pools.map(apiPoolToMicroPool).map(microPoolToPoolV0);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @param poolTrade A @cashlab/cauldron PoolTrade
|
|
61
|
+
* @returns The pool's resulting output after the trade
|
|
62
|
+
*/
|
|
63
|
+
export function poolTradeToOutput(poolTrade) {
|
|
64
|
+
const isSupplyingBch = poolTrade.supply_token_id === NATIVE_BCH_TOKEN_ID;
|
|
65
|
+
const satoshisDelta = isSupplyingBch ? poolTrade.supply : poolTrade.demand * -1n;
|
|
66
|
+
const tokenDelta = isSupplyingBch ? poolTrade.demand * -1n : poolTrade.supply;
|
|
67
|
+
const poolOutput = poolTrade.pool.output;
|
|
68
|
+
return {
|
|
69
|
+
to: poolOutput.locking_bytecode,
|
|
70
|
+
amount: poolOutput.amount + satoshisDelta,
|
|
71
|
+
token: {
|
|
72
|
+
amount: poolOutput.token.amount + tokenDelta,
|
|
73
|
+
category: poolOutput.token.token_id,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Parse a trade rate (price) into a human-readable string.
|
|
79
|
+
* Mirrors paytaca-app parseRate().
|
|
80
|
+
*
|
|
81
|
+
* @param isBuyingToken true when BCH is spent to buy tokens (price in BCH per token)
|
|
82
|
+
*/
|
|
83
|
+
export function parseRate(rate, tokenDecimals, isBuyingToken) {
|
|
84
|
+
let multiplierDecimals = 8;
|
|
85
|
+
let divisorDecimals = tokenDecimals;
|
|
86
|
+
if (isBuyingToken) {
|
|
87
|
+
multiplierDecimals = tokenDecimals;
|
|
88
|
+
divisorDecimals = 8;
|
|
89
|
+
}
|
|
90
|
+
const multiplier = 10n ** BigInt(multiplierDecimals);
|
|
91
|
+
const _price = (rate.numerator * multiplier) / rate.denominator;
|
|
92
|
+
const divisor = 10 ** divisorDecimals;
|
|
93
|
+
const price = Number(_price) / divisor;
|
|
94
|
+
return price.toFixed(divisorDecimals);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=pools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pools.js","sourceRoot":"","sources":["../../../src/wallet/cauldron/pools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pools.test.d.ts","sourceRoot":"","sources":["../../../src/wallet/cauldron/pools.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,YAAY,CAAA;AAmKnB,YAAY,EAAE,SAAS,EAAE,CAAA"}
|