@antseed/cli 0.1.185 → 0.1.187

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 (58) hide show
  1. package/dist/cli/commands/buyer/start.d.ts.map +1 -1
  2. package/dist/cli/commands/buyer/start.js +7 -2
  3. package/dist/cli/commands/buyer/start.js.map +1 -1
  4. package/dist/gateway/console-api/handlers/wallet-deposits.test.d.ts +2 -0
  5. package/dist/gateway/console-api/handlers/wallet-deposits.test.d.ts.map +1 -0
  6. package/dist/gateway/console-api/handlers/wallet-deposits.test.js +94 -0
  7. package/dist/gateway/console-api/handlers/wallet-deposits.test.js.map +1 -0
  8. package/dist/gateway/console-api/handlers/wallet.d.ts +3 -0
  9. package/dist/gateway/console-api/handlers/wallet.d.ts.map +1 -1
  10. package/dist/gateway/console-api/handlers/wallet.js +86 -2
  11. package/dist/gateway/console-api/handlers/wallet.js.map +1 -1
  12. package/dist/gateway/console-api/types.d.ts +29 -0
  13. package/dist/gateway/console-api/types.d.ts.map +1 -1
  14. package/dist/gateway/console-api/types.js.map +1 -1
  15. package/dist/gateway/gateway.test.js +32 -1
  16. package/dist/gateway/gateway.test.js.map +1 -1
  17. package/dist/gateway/pinned-model.d.ts +7 -0
  18. package/dist/gateway/pinned-model.d.ts.map +1 -0
  19. package/dist/gateway/pinned-model.js +25 -0
  20. package/dist/gateway/pinned-model.js.map +1 -0
  21. package/dist/gateway/pinned-model.test.d.ts +2 -0
  22. package/dist/gateway/pinned-model.test.d.ts.map +1 -0
  23. package/dist/gateway/pinned-model.test.js +47 -0
  24. package/dist/gateway/pinned-model.test.js.map +1 -0
  25. package/dist/gateway/server.d.ts.map +1 -1
  26. package/dist/gateway/server.js +7 -1
  27. package/dist/gateway/server.js.map +1 -1
  28. package/dist/gateway/services/deposits.d.ts +57 -0
  29. package/dist/gateway/services/deposits.d.ts.map +1 -0
  30. package/dist/gateway/services/deposits.js +119 -0
  31. package/dist/gateway/services/deposits.js.map +1 -0
  32. package/dist/gateway/services/deposits.test.d.ts +2 -0
  33. package/dist/gateway/services/deposits.test.d.ts.map +1 -0
  34. package/dist/gateway/services/deposits.test.js +67 -0
  35. package/dist/gateway/services/deposits.test.js.map +1 -0
  36. package/dist/gateway/store-data.test.js +1 -1
  37. package/dist/gateway/store-data.test.js.map +1 -1
  38. package/dist/gateway/store-migrations.d.ts +0 -4
  39. package/dist/gateway/store-migrations.d.ts.map +1 -1
  40. package/dist/gateway/store-migrations.js +23 -0
  41. package/dist/gateway/store-migrations.js.map +1 -1
  42. package/dist/gateway/store.d.ts +36 -0
  43. package/dist/gateway/store.d.ts.map +1 -1
  44. package/dist/gateway/store.js +52 -4
  45. package/dist/gateway/store.js.map +1 -1
  46. package/dist/proxy/buyer-proxy.d.ts +4 -0
  47. package/dist/proxy/buyer-proxy.d.ts.map +1 -1
  48. package/dist/proxy/buyer-proxy.js +20 -0
  49. package/dist/proxy/buyer-proxy.js.map +1 -1
  50. package/dist/proxy/deposit-log.d.ts +20 -0
  51. package/dist/proxy/deposit-log.d.ts.map +1 -0
  52. package/dist/proxy/deposit-log.js +64 -0
  53. package/dist/proxy/deposit-log.js.map +1 -0
  54. package/dist/proxy/deposit-log.test.d.ts +2 -0
  55. package/dist/proxy/deposit-log.test.d.ts.map +1 -0
  56. package/dist/proxy/deposit-log.test.js +26 -0
  57. package/dist/proxy/deposit-log.test.js.map +1 -0
  58. package/package.json +3 -3
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Deposit confirmations: a deposit credited to a workspace wallet, checked
3
+ * against its transaction receipt so the confirmation states only what the
4
+ * chain shows.
5
+ *
6
+ * Two kinds of deposit credit a wallet:
7
+ * - relay: USDC is sent to the workspace wallet (from a wallet, an exchange,
8
+ * or minted straight in by the USDC issuer for a card purchase) and a
9
+ * relayer sweeps it into AntseedDeposits, keeping a fixed fee
10
+ * (`SweepExecuted`). Where the USDC came from is the USDC `Transfer`s into
11
+ * the wallet shortly before the sweep, found with one bounded log query.
12
+ * - direct: a connected wallet deposits for the workspace wallet itself
13
+ * (`Deposited` without a sweep); the payer is the transaction's sender.
14
+ */
15
+ import { type Log, type TransactionReceipt } from 'ethers';
16
+ import type { DepositSource } from '../store.js';
17
+ /** Public RPCs cap log queries at about 1000 blocks; on Base that is the half hour before the sweep. */
18
+ export declare const SOURCE_LOOKBACK_BLOCKS = 999;
19
+ export interface DepositChain {
20
+ depositsContractAddress: string;
21
+ depositRelayAddress?: string | undefined;
22
+ usdcContractAddress: string;
23
+ }
24
+ /** The provider calls this needs; ethers providers (and the shared chain provider) satisfy it. */
25
+ export interface DepositChainProvider {
26
+ getTransactionReceipt(hash: string): Promise<TransactionReceipt | null>;
27
+ getTransaction(hash: string): Promise<{
28
+ from: string;
29
+ } | null>;
30
+ getBlock(block: number): Promise<{
31
+ timestamp: number;
32
+ } | null>;
33
+ getLogs(filter: {
34
+ address: string;
35
+ topics: Array<string | null>;
36
+ fromBlock: number;
37
+ toBlock: number;
38
+ }): Promise<Log[]>;
39
+ }
40
+ export interface VerifiedDeposit {
41
+ txHash: string;
42
+ wallet: string;
43
+ kind: 'relay' | 'direct';
44
+ creditedUsdc: number;
45
+ feeUsdc: number;
46
+ blockNumber: number;
47
+ /** Epoch ms. */
48
+ blockTime: number;
49
+ sources: DepositSource[];
50
+ }
51
+ /**
52
+ * The deposit `txHash` credited to `wallet`, or null when the transaction
53
+ * failed or credited another wallet (or nothing). Where the money came from
54
+ * is best effort: an RPC that refuses the log query leaves `sources` empty.
55
+ */
56
+ export declare function verifyDeposit(provider: DepositChainProvider, chain: DepositChain, txHash: string, wallet: string): Promise<VerifiedDeposit | null>;
57
+ //# sourceMappingURL=deposits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposits.d.ts","sourceRoot":"","sources":["../../../src/gateway/services/deposits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAyB,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAMzC,MAAM,WAAW,YAAY;IAC3B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,kGAAkG;AAClG,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IACvE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAC9D,OAAO,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;CACvH;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAYD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkCxJ"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Deposit confirmations: a deposit credited to a workspace wallet, checked
3
+ * against its transaction receipt so the confirmation states only what the
4
+ * chain shows.
5
+ *
6
+ * Two kinds of deposit credit a wallet:
7
+ * - relay: USDC is sent to the workspace wallet (from a wallet, an exchange,
8
+ * or minted straight in by the USDC issuer for a card purchase) and a
9
+ * relayer sweeps it into AntseedDeposits, keeping a fixed fee
10
+ * (`SweepExecuted`). Where the USDC came from is the USDC `Transfer`s into
11
+ * the wallet shortly before the sweep, found with one bounded log query.
12
+ * - direct: a connected wallet deposits for the workspace wallet itself
13
+ * (`Deposited` without a sweep); the payer is the transaction's sender.
14
+ */
15
+ import { Interface, getAddress } from 'ethers';
16
+ /** Public RPCs cap log queries at about 1000 blocks; on Base that is the half hour before the sweep. */
17
+ export const SOURCE_LOOKBACK_BLOCKS = 999;
18
+ const DEPOSITS_ABI = new Interface(['event Deposited(address indexed buyer, uint256 amount)']);
19
+ const RELAY_ABI = new Interface(['event SweepExecuted(address indexed buyer, address indexed relayer, uint256 deposited, uint256 fee, bytes32 authNonce)']);
20
+ const USDC_ABI = new Interface(['event Transfer(address indexed from, address indexed to, uint256 value)']);
21
+ const same = (a, b) => !!b && a.toLowerCase() === b.toLowerCase();
22
+ function parse(abi, log) {
23
+ try {
24
+ return abi.parseLog({ topics: [...log.topics], data: log.data });
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ /**
31
+ * The deposit `txHash` credited to `wallet`, or null when the transaction
32
+ * failed or credited another wallet (or nothing). Where the money came from
33
+ * is best effort: an RPC that refuses the log query leaves `sources` empty.
34
+ */
35
+ export async function verifyDeposit(provider, chain, txHash, wallet) {
36
+ const receipt = await provider.getTransactionReceipt(txHash);
37
+ if (!receipt || receipt.status !== 1)
38
+ return null;
39
+ let credited = null;
40
+ let fee = null;
41
+ let swept = null;
42
+ for (const log of receipt.logs) {
43
+ if (same(log.address, chain.depositsContractAddress)) {
44
+ const event = parse(DEPOSITS_ABI, log);
45
+ if (event?.name === 'Deposited' && same(event.args[0], wallet))
46
+ credited = (credited ?? 0n) + event.args[1];
47
+ }
48
+ else if (chain.depositRelayAddress && same(log.address, chain.depositRelayAddress)) {
49
+ const event = parse(RELAY_ABI, log);
50
+ if (event?.name === 'SweepExecuted' && same(event.args[0], wallet)) {
51
+ swept = event.args[2];
52
+ fee = event.args[3];
53
+ }
54
+ }
55
+ }
56
+ if (credited === null)
57
+ return null;
58
+ const block = await provider.getBlock(receipt.blockNumber);
59
+ const kind = swept !== null ? 'relay' : 'direct';
60
+ const sources = kind === 'relay'
61
+ ? await incomingTransfers(provider, chain, wallet, receipt.blockNumber, receipt.hash, credited + (fee ?? 0n)).catch(() => [])
62
+ : await directPayer(provider, chain, receipt).catch(() => []);
63
+ return {
64
+ txHash: receipt.hash.toLowerCase(),
65
+ wallet: getAddress(wallet),
66
+ kind,
67
+ creditedUsdc: Number(credited),
68
+ feeUsdc: Number(fee ?? 0n),
69
+ blockNumber: receipt.blockNumber,
70
+ blockTime: (block?.timestamp ?? 0) * 1000,
71
+ sources,
72
+ };
73
+ }
74
+ /**
75
+ * USDC that arrived in the wallet before the sweep, newest first, until it
76
+ * covers what the sweep moved (credited + fee). A transfer from the zero
77
+ * address is USDC the issuer minted into the wallet (a card purchase).
78
+ */
79
+ async function incomingTransfers(provider, chain, wallet, sweepBlock, sweepTx, swept) {
80
+ const transfer = USDC_ABI.getEvent('Transfer').topicHash;
81
+ const to = `0x${wallet.toLowerCase().replace(/^0x/, '').padStart(64, '0')}`;
82
+ const logs = await provider.getLogs({
83
+ address: chain.usdcContractAddress,
84
+ topics: [transfer, null, to],
85
+ fromBlock: Math.max(0, sweepBlock - SOURCE_LOOKBACK_BLOCKS),
86
+ toBlock: sweepBlock,
87
+ });
88
+ const sources = [];
89
+ let covered = 0n;
90
+ for (const log of [...logs].reverse()) {
91
+ if (same(log.transactionHash, sweepTx))
92
+ continue;
93
+ const event = parse(USDC_ABI, log);
94
+ if (!event)
95
+ continue;
96
+ const amount = event.args[2];
97
+ sources.push({ from: getAddress(event.args[0]), amountUsdc: Number(amount), txHash: log.transactionHash.toLowerCase() });
98
+ covered += amount;
99
+ if (covered >= swept)
100
+ break;
101
+ }
102
+ return sources.reverse();
103
+ }
104
+ /** A direct deposit: the transaction's sender paid, by the USDC it moved in the same transaction. */
105
+ async function directPayer(provider, chain, receipt) {
106
+ const tx = await provider.getTransaction(receipt.hash);
107
+ if (!tx)
108
+ return [];
109
+ let amount = 0n;
110
+ for (const log of receipt.logs) {
111
+ if (!same(log.address, chain.usdcContractAddress))
112
+ continue;
113
+ const event = parse(USDC_ABI, log);
114
+ if (event?.name === 'Transfer' && same(event.args[0], tx.from))
115
+ amount += event.args[2];
116
+ }
117
+ return [{ from: getAddress(tx.from), amountUsdc: Number(amount), txHash: receipt.hash.toLowerCase() }];
118
+ }
119
+ //# sourceMappingURL=deposits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposits.js","sourceRoot":"","sources":["../../../src/gateway/services/deposits.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deposits.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposits.test.d.ts","sourceRoot":"","sources":["../../../src/gateway/services/deposits.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import assert from 'node:assert/strict';
2
+ import { test } from 'node:test';
3
+ import { AbiCoder, Interface, zeroPadValue } from 'ethers';
4
+ import { SOURCE_LOOKBACK_BLOCKS, verifyDeposit } from './deposits.js';
5
+ // Obvious fakes: fixed test addresses and hashes, never real ones.
6
+ const DEPOSITS = `0x${'d0'.repeat(20)}`;
7
+ const RELAY = `0x${'e0'.repeat(20)}`;
8
+ const USDC = `0x${'f0'.repeat(20)}`;
9
+ const WALLET = `0x${'11'.repeat(20)}`;
10
+ const PAYER = `0x${'22'.repeat(20)}`;
11
+ const RELAYER = `0x${'33'.repeat(20)}`;
12
+ const SWEEP_TX = `0x${'a1'.repeat(32)}`;
13
+ const FUND_TX = `0x${'b2'.repeat(32)}`;
14
+ const CHAIN = { depositsContractAddress: DEPOSITS, depositRelayAddress: RELAY, usdcContractAddress: USDC };
15
+ const abi = new Interface([
16
+ 'event Deposited(address indexed buyer, uint256 amount)',
17
+ 'event SweepExecuted(address indexed buyer, address indexed relayer, uint256 deposited, uint256 fee, bytes32 authNonce)',
18
+ 'event Transfer(address indexed from, address indexed to, uint256 value)',
19
+ ]);
20
+ const coder = AbiCoder.defaultAbiCoder();
21
+ const topic = (address) => zeroPadValue(address, 32);
22
+ const log = (address, topics, data, txHash) => ({ address, topics, data, transactionHash: txHash });
23
+ const deposited = (buyer, amount, txHash) => log(DEPOSITS, [abi.getEvent('Deposited').topicHash, topic(buyer)], coder.encode(['uint256'], [amount]), txHash);
24
+ const swept = (buyer, net, fee, txHash) => log(RELAY, [abi.getEvent('SweepExecuted').topicHash, topic(buyer), topic(RELAYER)], coder.encode(['uint256', 'uint256', 'bytes32'], [net, fee, `0x${'00'.repeat(32)}`]), txHash);
25
+ const transfer = (from, to, value, txHash) => log(USDC, [abi.getEvent('Transfer').topicHash, topic(from), topic(to)], coder.encode(['uint256'], [value]), txHash);
26
+ function provider(receipt, incoming = []) {
27
+ const queries = [];
28
+ return {
29
+ queries,
30
+ getTransactionReceipt: async (hash) => (receipt ? { hash, status: receipt.status, blockNumber: 5_000, logs: receipt.logs } : null),
31
+ getTransaction: async () => ({ from: receipt?.from ?? PAYER }),
32
+ getBlock: async () => ({ timestamp: 1_700_000_000 }),
33
+ getLogs: async (filter) => { queries.push(filter); return incoming; },
34
+ };
35
+ }
36
+ test('a relayed deposit: credited, fee, and the USDC that funded it', async () => {
37
+ const chain = provider({ status: 1, logs: [transfer(WALLET, RELAY, 1050000n, SWEEP_TX), deposited(WALLET, 1000000n, SWEEP_TX), swept(WALLET, 1000000n, 50000n, SWEEP_TX)] }, [transfer('0x0000000000000000000000000000000000000000', WALLET, 1050000n, FUND_TX)]);
38
+ const result = await verifyDeposit(chain, CHAIN, SWEEP_TX, WALLET);
39
+ assert.equal(result?.kind, 'relay');
40
+ assert.equal(result?.creditedUsdc, 1_000_000);
41
+ assert.equal(result?.feeUsdc, 50_000);
42
+ assert.equal(result?.blockTime, 1_700_000_000_000);
43
+ assert.deepEqual(result?.sources, [{ from: '0x0000000000000000000000000000000000000000', amountUsdc: 1_050_000, txHash: FUND_TX }]);
44
+ assert.deepEqual(chain.queries[0], { address: USDC, topics: [abi.getEvent('Transfer').topicHash, null, topic(WALLET)], fromBlock: 5_000 - SOURCE_LOOKBACK_BLOCKS, toBlock: 5_000 });
45
+ });
46
+ test('a direct deposit: the sender paid, no fee', async () => {
47
+ const result = await verifyDeposit(provider({ status: 1, logs: [transfer(PAYER, DEPOSITS, 2000000n, SWEEP_TX), deposited(WALLET, 2000000n, SWEEP_TX)] }), CHAIN, SWEEP_TX, WALLET);
48
+ assert.equal(result?.kind, 'direct');
49
+ assert.equal(result?.feeUsdc, 0);
50
+ assert.deepEqual(result?.sources, [{ from: PAYER, amountUsdc: 2_000_000, txHash: SWEEP_TX }]);
51
+ });
52
+ test('not a deposit to this wallet: another wallet, a failed transaction, a forged event, or no receipt', async () => {
53
+ const other = `0x${'99'.repeat(20)}`;
54
+ assert.equal(await verifyDeposit(provider({ status: 1, logs: [deposited(other, 1n, SWEEP_TX)] }), CHAIN, SWEEP_TX, WALLET), null);
55
+ assert.equal(await verifyDeposit(provider({ status: 0, logs: [deposited(WALLET, 1n, SWEEP_TX)] }), CHAIN, SWEEP_TX, WALLET), null);
56
+ const forged = { ...deposited(WALLET, 1n, SWEEP_TX), address: `0x${'66'.repeat(20)}` };
57
+ assert.equal(await verifyDeposit(provider({ status: 1, logs: [forged] }), CHAIN, SWEEP_TX, WALLET), null);
58
+ assert.equal(await verifyDeposit(provider(null), CHAIN, SWEEP_TX, WALLET), null);
59
+ });
60
+ test('a log query the RPC refuses leaves the sources empty, not the confirmation', async () => {
61
+ const chain = provider({ status: 1, logs: [deposited(WALLET, 1000000n, SWEEP_TX), swept(WALLET, 1000000n, 50000n, SWEEP_TX)] });
62
+ chain.getLogs = async () => { throw new Error('block range too large'); };
63
+ const result = await verifyDeposit(chain, CHAIN, SWEEP_TX, WALLET);
64
+ assert.equal(result?.creditedUsdc, 1_000_000);
65
+ assert.deepEqual(result?.sources, []);
66
+ });
67
+ //# sourceMappingURL=deposits.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposits.test.js","sourceRoot":"","sources":["../../../src/gateway/services/deposits.test.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ test('eighteen processes opening a v2 database at once migrate it exactly once',
61
61
  const store = new GatewayStore(dir);
62
62
  try {
63
63
  assert.equal(store.database.pragma('user_version', { simple: true }), MIGRATIONS.length);
64
- assert.equal(MIGRATIONS.length, 5, 'the console schema, chat history and free-seller requests are three migrations on top of the two that shipped');
64
+ assert.equal(MIGRATIONS.length, 7, 'the console schema, chat history, free-seller requests, deposits and pinned-model splitting are five migrations on top of the two that shipped');
65
65
  assert.equal(store.spendByPeriod({ keyId: 'key_team' }).total, 250_000, 'rollups were backfilled once');
66
66
  assert.deepEqual(store.listWorkspaces().map((ws) => ws.buyerIdentity), ['default', 'team-a']);
67
67
  assert.equal(store.database.prepare('SELECT COUNT(*) AS n FROM auth_schema_version').get().n, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"store-data.test.js","sourceRoot":"","sources":["../../src/gateway/store-data.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-data.test.js","sourceRoot":"","sources":["../../src/gateway/store-data.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- /**
2
- * Schema migrations, applied in order and tracked in `user_version`.
3
- * Append-only: never edit a migration that has shipped.
4
- */
5
1
  export declare const MIGRATIONS: readonly string[];
6
2
  //# sourceMappingURL=store-migrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-migrations.d.ts","sourceRoot":"","sources":["../../src/gateway/store-migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAuSvC,CAAA"}
1
+ {"version":3,"file":"store-migrations.d.ts","sourceRoot":"","sources":["../../src/gateway/store-migrations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EA6TvC,CAAA"}
@@ -2,6 +2,7 @@
2
2
  * Schema migrations, applied in order and tracked in `user_version`.
3
3
  * Append-only: never edit a migration that has shipped.
4
4
  */
5
+ import { splitPinnedModelSql } from './pinned-model.js';
5
6
  export const MIGRATIONS = [
6
7
  `
7
8
  CREATE TABLE api_keys (
@@ -297,5 +298,27 @@ export const MIGRATIONS = [
297
298
  `
298
299
  ALTER TABLE gateway_requests ADD COLUMN served_free INTEGER NOT NULL DEFAULT 0;
299
300
  `,
301
+ // Deposits credited to a workspace wallet, as verified on-chain, and who approved each one (deposit confirmations).
302
+ `
303
+ CREATE TABLE deposits (
304
+ tx_hash TEXT PRIMARY KEY,
305
+ workspace_id TEXT NOT NULL,
306
+ wallet TEXT NOT NULL,
307
+ kind TEXT NOT NULL CHECK (kind IN ('relay', 'direct')),
308
+ credited_usdc INTEGER NOT NULL,
309
+ fee_usdc INTEGER NOT NULL DEFAULT 0,
310
+ block_number INTEGER NOT NULL,
311
+ block_time INTEGER NOT NULL,
312
+ sources TEXT NOT NULL DEFAULT '[]',
313
+ approved_by_id TEXT,
314
+ approved_by_label TEXT,
315
+ approved_at INTEGER,
316
+ approval_note TEXT,
317
+ recorded_at INTEGER NOT NULL
318
+ );
319
+ CREATE INDEX deposits_workspace ON deposits(workspace_id, block_time);
320
+ `,
321
+ // Pinned requests (`<peerId>@<model>`) recorded the pin in the model: keep the model, and the pin as the seller when none was reported.
322
+ [splitPinnedModelSql('gateway_requests'), splitPinnedModelSql('request_rollups'), splitPinnedModelSql('ledger_entries')].join('\n'),
300
323
  ];
301
324
  //# sourceMappingURL=store-migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-migrations.js","sourceRoot":"","sources":["../../src/gateway/store-migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CC;IACD;;GAEC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,uEAAuE;IACvE,sEAAsE;IACtE,iEAAiE;IACjE,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,+CAA+C;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqNC;IACD,yFAAyF;IACzF;;;;;;;;;;;;;;GAcC;IACD,gHAAgH;IAChH;;GAEC;CACF,CAAA"}
1
+ {"version":3,"file":"store-migrations.js","sourceRoot":"","sources":["../../src/gateway/store-migrations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CC;IACD;;GAEC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,uEAAuE;IACvE,sEAAsE;IACtE,iEAAiE;IACjE,oEAAoE;IACpE,0EAA0E;IAC1E,yEAAyE;IACzE,+CAA+C;IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqNC;IACD,yFAAyF;IACzF;;;;;;;;;;;;;;GAcC;IACD,gHAAgH;IAChH;;GAEC;IACD,oHAAoH;IACpH;;;;;;;;;;;;;;;;;;GAkBC;IACD,wIAAwI;IACxI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpI,CAAA"}
@@ -686,6 +686,16 @@ export declare class GatewayStore {
686
686
  messages: unknown[];
687
687
  }): void;
688
688
  deleteChatThread(id: string): boolean;
689
+ listDeposits(workspaceId: string): DepositRecord[];
690
+ getDeposit(txHash: string): DepositRecord | null;
691
+ /** Records a verified deposit once; an existing row (and its approval) is kept as it is. */
692
+ insertDeposit(input: Omit<DepositRecord, 'approval' | 'recordedAt'>): DepositRecord;
693
+ /** Sets (or with null clears) who approved a deposit. */
694
+ setDepositApproval(txHash: string, approval: {
695
+ byId: string | null;
696
+ byLabel: string;
697
+ note: string | null;
698
+ } | null): DepositRecord | null;
689
699
  /**
690
700
  * Settings are read on every request, so values are cached for a few
691
701
  * seconds. A write through this store clears its cache at once; a write by
@@ -696,4 +706,30 @@ export declare class GatewayStore {
696
706
  }
697
707
  /** Groupings whose groups are UTC time buckets (listed oldest first). */
698
708
  export declare function isTimeGrouping(groupBy: UsageGroupBy): boolean;
709
+ /** Where the USDC of a deposit came from: a wallet (or an exchange), or minted straight in by the USDC issuer (card purchases). */
710
+ export interface DepositSource {
711
+ from: string;
712
+ amountUsdc: number;
713
+ txHash: string;
714
+ }
715
+ /** A deposit credited to a workspace wallet, verified against its transaction receipt. */
716
+ export interface DepositRecord {
717
+ txHash: string;
718
+ workspaceId: string;
719
+ wallet: string;
720
+ /** relay: USDC sent to the wallet and swept in by a relayer (fee taken); direct: deposited by a connected wallet. */
721
+ kind: 'relay' | 'direct';
722
+ creditedUsdc: number;
723
+ feeUsdc: number;
724
+ blockNumber: number;
725
+ blockTime: number;
726
+ sources: DepositSource[];
727
+ approval: {
728
+ byId: string | null;
729
+ byLabel: string;
730
+ at: number;
731
+ note: string | null;
732
+ } | null;
733
+ recordedAt: number;
734
+ }
699
735
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/gateway/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/gateway/store.ts"],"names":[],"mappings":"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"}