veilioexchange 0.2.0 → 0.3.0

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 (70) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +21 -21
  3. package/README.md +225 -160
  4. package/dist/cjs/auth.d.ts +15 -0
  5. package/dist/cjs/auth.d.ts.map +1 -1
  6. package/dist/cjs/auth.js +32 -0
  7. package/dist/cjs/auth.js.map +1 -1
  8. package/dist/cjs/deployments.js +2 -2
  9. package/dist/cjs/index.d.ts +260 -6
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js +221 -62
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/servicesApi.d.ts +86 -0
  14. package/dist/cjs/servicesApi.d.ts.map +1 -0
  15. package/dist/cjs/servicesApi.js +177 -0
  16. package/dist/cjs/servicesApi.js.map +1 -0
  17. package/dist/cjs/solana/auction.d.ts +50 -0
  18. package/dist/cjs/solana/auction.d.ts.map +1 -1
  19. package/dist/cjs/solana/auction.js +91 -2
  20. package/dist/cjs/solana/auction.js.map +1 -1
  21. package/dist/cjs/solana/client.d.ts +30 -5
  22. package/dist/cjs/solana/client.d.ts.map +1 -1
  23. package/dist/cjs/solana/client.js +92 -5
  24. package/dist/cjs/solana/client.js.map +1 -1
  25. package/dist/cjs/solana/escrow.d.ts +55 -2
  26. package/dist/cjs/solana/escrow.d.ts.map +1 -1
  27. package/dist/cjs/solana/escrow.js +112 -3
  28. package/dist/cjs/solana/escrow.js.map +1 -1
  29. package/dist/cjs/solana/index.d.ts +1 -1
  30. package/dist/cjs/solana/index.d.ts.map +1 -1
  31. package/dist/cjs/solana/index.js +4 -1
  32. package/dist/cjs/solana/index.js.map +1 -1
  33. package/dist/cjs/solana/registry.d.ts +12 -0
  34. package/dist/cjs/solana/registry.d.ts.map +1 -1
  35. package/dist/cjs/solana/registry.js +28 -1
  36. package/dist/cjs/solana/registry.js.map +1 -1
  37. package/dist/esm/auth.d.ts +15 -0
  38. package/dist/esm/auth.d.ts.map +1 -1
  39. package/dist/esm/auth.js +28 -0
  40. package/dist/esm/auth.js.map +1 -1
  41. package/dist/esm/deployments.js +2 -2
  42. package/dist/esm/index.d.ts +260 -6
  43. package/dist/esm/index.d.ts.map +1 -1
  44. package/dist/esm/index.js +218 -61
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/servicesApi.d.ts +86 -0
  47. package/dist/esm/servicesApi.d.ts.map +1 -0
  48. package/dist/esm/servicesApi.js +174 -0
  49. package/dist/esm/servicesApi.js.map +1 -0
  50. package/dist/esm/solana/auction.d.ts +50 -0
  51. package/dist/esm/solana/auction.d.ts.map +1 -1
  52. package/dist/esm/solana/auction.js +87 -2
  53. package/dist/esm/solana/auction.js.map +1 -1
  54. package/dist/esm/solana/client.d.ts +30 -5
  55. package/dist/esm/solana/client.d.ts.map +1 -1
  56. package/dist/esm/solana/client.js +94 -7
  57. package/dist/esm/solana/client.js.map +1 -1
  58. package/dist/esm/solana/escrow.d.ts +55 -2
  59. package/dist/esm/solana/escrow.d.ts.map +1 -1
  60. package/dist/esm/solana/escrow.js +108 -3
  61. package/dist/esm/solana/escrow.js.map +1 -1
  62. package/dist/esm/solana/index.d.ts +1 -1
  63. package/dist/esm/solana/index.d.ts.map +1 -1
  64. package/dist/esm/solana/index.js +1 -1
  65. package/dist/esm/solana/index.js.map +1 -1
  66. package/dist/esm/solana/registry.d.ts +12 -0
  67. package/dist/esm/solana/registry.d.ts.map +1 -1
  68. package/dist/esm/solana/registry.js +25 -0
  69. package/dist/esm/solana/registry.js.map +1 -1
  70. package/package.json +82 -81
@@ -0,0 +1,174 @@
1
+ import { VeilioSdkError } from './errors.js';
2
+ import { encodeServiceAuthHeader, isServiceSessionFresh, signServiceAuth, signServiceSession, } from './auth.js';
3
+ export function createVeilioServicesApi(options) {
4
+ const base = String(options.apiBaseUrl || '').replace(/\/+$/, '');
5
+ if (!/^https?:\/\//.test(base)) {
6
+ throw new VeilioSdkError({ code: 'INVALID_CONFIG', message: 'apiBaseUrl must be an absolute http(s) URL.' });
7
+ }
8
+ if (!options.signer?.address || typeof options.signer.signMessage !== 'function') {
9
+ throw new VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A signer with address and signMessage() is required.' });
10
+ }
11
+ const fetchImpl = options.fetch ?? globalThis.fetch;
12
+ if (typeof fetchImpl !== 'function') {
13
+ throw new VeilioSdkError({ code: 'INVALID_CONFIG', message: 'No fetch implementation available; pass options.fetch.' });
14
+ }
15
+ const signer = options.signer;
16
+ function requireOrderId(orderId) {
17
+ const id = String(orderId ?? '').trim();
18
+ if (!id)
19
+ throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'orderId is required.' });
20
+ return id;
21
+ }
22
+ async function parse(res, route, id) {
23
+ let json = null;
24
+ try {
25
+ json = await res.json();
26
+ }
27
+ catch {
28
+ // Non-JSON response; handled below.
29
+ }
30
+ if (!res.ok) {
31
+ throw new VeilioSdkError({
32
+ code: res.status === 401 || res.status === 403 ? 'UNAUTHORIZED' : res.status === 404 ? 'NOT_FOUND' : 'INVALID_INPUT',
33
+ message: `VEILIO API ${route} failed (${res.status}): ${json?.error || res.statusText || 'unknown error'}`,
34
+ retryable: res.status >= 500,
35
+ context: { status: res.status, id, route },
36
+ });
37
+ }
38
+ return json;
39
+ }
40
+ async function request(url, init) {
41
+ try {
42
+ return await fetchImpl(url, init);
43
+ }
44
+ catch (cause) {
45
+ throw new VeilioSdkError({ code: 'RPC_ERROR', message: `VEILIO API request failed: ${url}`, retryable: true, cause });
46
+ }
47
+ }
48
+ // ------------------------------------------------------------- read session
49
+ let session = null;
50
+ let pendingSession = null;
51
+ /** Cached read/chat session; signs a new one when missing or within a minute of expiry. */
52
+ async function getSession() {
53
+ if (session && isServiceSessionFresh(session, signer.address))
54
+ return session;
55
+ if (!pendingSession) {
56
+ pendingSession = signServiceSession(signer).finally(() => {
57
+ pendingSession = null;
58
+ });
59
+ }
60
+ session = await pendingSession;
61
+ return session;
62
+ }
63
+ /** `x-veilio-auth` header map for custom GET requests. */
64
+ async function getSessionHeaders() {
65
+ return encodeServiceAuthHeader(await getSession());
66
+ }
67
+ async function get(path, label, id) {
68
+ const res = await request(`${base}${path}`, { method: 'GET', headers: await getSessionHeaders() });
69
+ return parse(res, label, id);
70
+ }
71
+ /** Order as seen by the VEILIO app (status, paymentStatus, network...). Buyer or seller only. */
72
+ async function getOrder(orderId) {
73
+ const id = requireOrderId(orderId);
74
+ return get(`/api/orders/${encodeURIComponent(id)}`, 'get-order', id);
75
+ }
76
+ /** Payment request detail (participants only). */
77
+ async function getPaymentRequest(paymentRequestId) {
78
+ const id = requireOrderId(paymentRequestId);
79
+ return get(`/api/payment-requests/${encodeURIComponent(id)}`, 'get-payment-request', id);
80
+ }
81
+ /** Conversations of the signer's wallet. */
82
+ async function listConversations() {
83
+ return get(`/api/conversations?userAddress=${encodeURIComponent(signer.address)}`, 'list-conversations', signer.address);
84
+ }
85
+ /** Conversation + messages (participants only). */
86
+ async function getConversationMessages(conversationId) {
87
+ const id = requireOrderId(conversationId);
88
+ return get(`/api/conversations/${encodeURIComponent(id)}/messages`, 'get-messages', id);
89
+ }
90
+ // ------------------------------------------------------- signed order actions
91
+ async function post(action, orderId, route, body) {
92
+ const id = requireOrderId(orderId);
93
+ const auth = await signServiceAuth(signer, action, id);
94
+ const res = await request(`${base}/api/orders/${encodeURIComponent(id)}/${route}`, {
95
+ method: 'POST',
96
+ headers: { 'Content-Type': 'application/json' },
97
+ body: JSON.stringify({ ...body, auth }),
98
+ });
99
+ return parse(res, route, id);
100
+ }
101
+ /** Buyer: report a confirmed escrow deposit so the order moves out of AwaitingPayment. */
102
+ async function notifyDeposit(input) {
103
+ if (!input.txHash)
104
+ throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'txHash is required.' });
105
+ return post('verify-deposit', input.orderId, 'verify-deposit', {
106
+ txHash: input.txHash,
107
+ ...(input.onChainOrderId ? { onChainOrderId: input.onChainOrderId } : {}),
108
+ buyerAddress: signer.address,
109
+ });
110
+ }
111
+ /** Seller: record the delivery off-chain. Requires the confirmed on-chain `submitDelivery` tx. */
112
+ async function submit(input) {
113
+ if (!input.deliveryTxHash || typeof input.deliveryTxHash !== 'string') {
114
+ throw new VeilioSdkError({
115
+ code: 'INVALID_INPUT',
116
+ message: 'deliveryTxHash (the on-chain submitDelivery transaction) is required.',
117
+ });
118
+ }
119
+ if (!input.description || input.description.trim().length < 5) {
120
+ throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'description must be at least 5 characters.' });
121
+ }
122
+ return post('submit', input.orderId, 'submit', {
123
+ sellerAddress: signer.address,
124
+ deliveryTxHash: input.deliveryTxHash,
125
+ description: input.description.trim(),
126
+ deliverableReferences: input.deliverableReferences ?? [],
127
+ });
128
+ }
129
+ /** Buyer: ask the seller for changes. */
130
+ async function requestRevision(input) {
131
+ if (!input.feedback || input.feedback.trim().length < 5) {
132
+ throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'feedback must be at least 5 characters.' });
133
+ }
134
+ return post('revision', input.orderId, 'revision', {
135
+ buyerAddress: signer.address,
136
+ feedback: input.feedback.trim(),
137
+ });
138
+ }
139
+ /** Buyer: mark the order Completed (call after the on-chain `releaseFunds`). */
140
+ async function approve(input) {
141
+ if (!input.releaseTxHash)
142
+ throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'releaseTxHash is required.' });
143
+ return post('approve', input.orderId, 'approve', {
144
+ buyerAddress: signer.address,
145
+ releaseTxHash: input.releaseTxHash,
146
+ });
147
+ }
148
+ /** Buyer (after deadline) or seller: cancel. Funded orders need the on-chain cancel/refund `txHash`. */
149
+ async function cancel(input) {
150
+ return post('cancel', input.orderId, 'cancel', {
151
+ callerAddress: signer.address,
152
+ ...(input.reason ? { reason: input.reason } : {}),
153
+ ...(input.txHash ? { txHash: input.txHash } : {}),
154
+ });
155
+ }
156
+ return {
157
+ apiBaseUrl: base,
158
+ address: signer.address,
159
+ // signed, state-changing order actions
160
+ notifyDeposit,
161
+ submit,
162
+ requestRevision,
163
+ approve,
164
+ cancel,
165
+ // session-authenticated reads
166
+ getSession,
167
+ getSessionHeaders,
168
+ getOrder,
169
+ getPaymentRequest,
170
+ listConversations,
171
+ getConversationMessages,
172
+ };
173
+ }
174
+ //# sourceMappingURL=servicesApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"servicesApi.js","sourceRoot":"","sources":["../../src/servicesApi.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import { type SolanaCompiledInstruction } from './registry.js';
9
9
  export declare const AUCTION_SEED: Buffer<ArrayBuffer>;
10
10
  export declare const BID_COMMITMENT_SEED: Buffer<ArrayBuffer>;
11
11
  export declare const COMMITMENT_DOMAIN_TAG: Buffer<ArrayBuffer>;
12
+ /** Global platform config PDA seed: [b"auction_config"] (AuctionConfig account). */
13
+ export declare const AUCTION_CONFIG_SEED: Buffer<ArrayBuffer>;
14
+ /** 8 (discriminator) + 32 admin + 32 reviewer + 1 bump */
15
+ export declare const AUCTION_CONFIG_ACCOUNT_SIZE = 73;
12
16
  export declare const DEFAULT_SOLANA_AUCTION_PROGRAM_ID = "5Tw1iJGN1hhyRzepbD5eLoaRoZTEiKcqrh2HoZYhYEta";
13
17
  export declare const MAX_ITEM_NAME_LEN = 64;
14
18
  export declare const MAX_DESC_LEN = 128;
@@ -34,6 +38,41 @@ export declare function findAuctionPda(auctionId: bigint | number, programId?: s
34
38
  pda: string;
35
39
  bump: number;
36
40
  };
41
+ /**
42
+ * Derives the global AuctionConfig PDA: [b"auction_config"]. Holds the platform refund reviewer
43
+ * that the upgraded program uses for create_auction / review_refund.
44
+ */
45
+ export declare function findAuctionConfigPda(programId?: string): {
46
+ pda: string;
47
+ bump: number;
48
+ };
49
+ export interface DecodedAuctionConfig {
50
+ admin: string;
51
+ reviewer: string;
52
+ bump: number;
53
+ }
54
+ /** Decodes the AuctionConfig account (admin, reviewer, bump). */
55
+ export declare function decodeAuctionConfigAccount(data: Buffer | Uint8Array): DecodedAuctionConfig;
56
+ /**
57
+ * Builds `initialize_config(reviewer)`. Only the program's upgrade authority (`admin`) can call it, once.
58
+ * accounts: [config (mut, pda), admin (signer, mut), program, program_data, system_program]
59
+ */
60
+ export declare function createInitializeAuctionConfigInstruction(params: {
61
+ programId?: string;
62
+ admin: string;
63
+ reviewer: string;
64
+ }): SolanaCompiledInstruction;
65
+ /**
66
+ * Builds `update_config(reviewer, new_admin)`. Signed by the current config admin; `newAdmin`
67
+ * defaults to `admin` (no hand-over).
68
+ * accounts: [config (mut, pda), admin (signer)]
69
+ */
70
+ export declare function createUpdateAuctionConfigInstruction(params: {
71
+ programId?: string;
72
+ admin: string;
73
+ reviewer: string;
74
+ newAdmin?: string;
75
+ }): SolanaCompiledInstruction;
37
76
  /**
38
77
  * Derives the deterministic PDA for a Bidder's Commitment on Solana.
39
78
  * Seeds: [b"bid_commitment", auction_pubkey, bidder_pubkey]
@@ -85,6 +124,11 @@ export interface DecodedBidCommitment {
85
124
  }
86
125
  /**
87
126
  * Builds `create_auction` instruction.
127
+ * accounts: [auction (mut, pda), seller (signer, mut), reviewer, system_program, config]
128
+ *
129
+ * The upgraded program ignores the `reviewer` account (kept for layout compatibility) and uses
130
+ * the platform reviewer from the trailing read-only `config` PDA. The pre-upgrade program
131
+ * stores `reviewer` and ignores `config` as an Anchor remaining account.
88
132
  */
89
133
  export declare function createCreateAuctionInstruction(params: {
90
134
  programId?: string;
@@ -135,6 +179,12 @@ export declare function createAcceptDatasetInstruction(params: {
135
179
  seller: string;
136
180
  winner: string;
137
181
  }): SolanaCompiledInstruction;
182
+ /**
183
+ * Builds `review_refund(approve)`.
184
+ * accounts: [auction (mut), bid_commitment (mut), seller (mut), reviewer (signer), winner (mut), config]
185
+ * The trailing read-only `config` PDA lets the upgraded program authorize the CURRENT platform
186
+ * reviewer; the pre-upgrade program ignores it as an Anchor remaining account.
187
+ */
138
188
  export declare function createReviewRefundInstruction(params: {
139
189
  programId?: string;
140
190
  auctionId: bigint | number;
@@ -1 +1 @@
1
- {"version":3,"file":"auction.d.ts","sourceRoot":"","sources":["../../../src/solana/auction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auction.d.ts","sourceRoot":"","sources":["../../../src/solana/auction.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,14 @@
6
6
  * for the on-chain Solana Devnet Veilio Auction program.
7
7
  */
8
8
  import { createHash } from 'node:crypto';
9
- import { encodeBase58, decodeBase58, findProgramDerivedAddress, getAnchorDiscriminator, SYSTEM_PROGRAM_ID, } from './registry.js';
9
+ import { encodeBase58, decodeBase58, findProgramDerivedAddress, getAnchorDiscriminator, findProgramDataPda, decodePubkey32, SYSTEM_PROGRAM_ID, } from './registry.js';
10
10
  export const AUCTION_SEED = Buffer.from('auction');
11
11
  export const BID_COMMITMENT_SEED = Buffer.from('bid_commitment');
12
12
  export const COMMITMENT_DOMAIN_TAG = Buffer.from('VEILIO_AUCTION_COMMITMENT_V1');
13
+ /** Global platform config PDA seed: [b"auction_config"] (AuctionConfig account). */
14
+ export const AUCTION_CONFIG_SEED = Buffer.from('auction_config');
15
+ /** 8 (discriminator) + 32 admin + 32 reviewer + 1 bump */
16
+ export const AUCTION_CONFIG_ACCOUNT_SIZE = 73;
13
17
  export const DEFAULT_SOLANA_AUCTION_PROGRAM_ID = '5Tw1iJGN1hhyRzepbD5eLoaRoZTEiKcqrh2HoZYhYEta';
14
18
  export const MAX_ITEM_NAME_LEN = 64;
15
19
  export const MAX_DESC_LEN = 128;
@@ -39,6 +43,73 @@ export function findAuctionPda(auctionId, programId = getSolanaAuctionProgramId(
39
43
  idBuf.writeBigUInt64LE(BigInt(auctionId), 0);
40
44
  return findProgramDerivedAddress([AUCTION_SEED, idBuf], programId);
41
45
  }
46
+ /**
47
+ * Derives the global AuctionConfig PDA: [b"auction_config"]. Holds the platform refund reviewer
48
+ * that the upgraded program uses for create_auction / review_refund.
49
+ */
50
+ export function findAuctionConfigPda(programId = getSolanaAuctionProgramId()) {
51
+ return findProgramDerivedAddress([AUCTION_CONFIG_SEED], programId);
52
+ }
53
+ /** Decodes the AuctionConfig account (admin, reviewer, bump). */
54
+ export function decodeAuctionConfigAccount(data) {
55
+ const buf = Buffer.isBuffer(data) ? data : Buffer.from(data);
56
+ if (buf.length < AUCTION_CONFIG_ACCOUNT_SIZE) {
57
+ throw new Error(`Buffer too short for AuctionConfig: ${buf.length} bytes`);
58
+ }
59
+ if (!buf.subarray(0, 8).equals(getAnchorDiscriminator('account', 'AuctionConfig'))) {
60
+ throw new Error('Invalid account discriminator: not an AuctionConfig');
61
+ }
62
+ const admin = encodeBase58(buf.subarray(8, 40));
63
+ const reviewer = encodeBase58(buf.subarray(40, 72));
64
+ const bump = buf.readUInt8(72);
65
+ return { admin, reviewer, bump };
66
+ }
67
+ function nonDefaultPubkey(value, label) {
68
+ const bytes = decodePubkey32(value, label);
69
+ if (bytes.every((b) => b === 0))
70
+ throw new Error(`${label} cannot be the default (all-zero) public key`);
71
+ return bytes;
72
+ }
73
+ /**
74
+ * Builds `initialize_config(reviewer)`. Only the program's upgrade authority (`admin`) can call it, once.
75
+ * accounts: [config (mut, pda), admin (signer, mut), program, program_data, system_program]
76
+ */
77
+ export function createInitializeAuctionConfigInstruction(params) {
78
+ const programId = params.programId || getSolanaAuctionProgramId();
79
+ const reviewerBytes = nonDefaultPubkey(params.reviewer, 'reviewer');
80
+ const { pda: configPda } = findAuctionConfigPda(programId);
81
+ const { pda: programDataPda } = findProgramDataPda(programId);
82
+ return {
83
+ programId,
84
+ accounts: [
85
+ { pubkey: configPda, isSigner: false, isWritable: true },
86
+ { pubkey: params.admin, isSigner: true, isWritable: true },
87
+ { pubkey: programId, isSigner: false, isWritable: false },
88
+ { pubkey: programDataPda, isSigner: false, isWritable: false },
89
+ { pubkey: SYSTEM_PROGRAM_ID, isSigner: false, isWritable: false },
90
+ ],
91
+ data: Buffer.concat([getAnchorDiscriminator('global', 'initialize_config'), reviewerBytes]),
92
+ };
93
+ }
94
+ /**
95
+ * Builds `update_config(reviewer, new_admin)`. Signed by the current config admin; `newAdmin`
96
+ * defaults to `admin` (no hand-over).
97
+ * accounts: [config (mut, pda), admin (signer)]
98
+ */
99
+ export function createUpdateAuctionConfigInstruction(params) {
100
+ const programId = params.programId || getSolanaAuctionProgramId();
101
+ const reviewerBytes = nonDefaultPubkey(params.reviewer, 'reviewer');
102
+ const newAdminBytes = nonDefaultPubkey(params.newAdmin || params.admin, 'new admin');
103
+ const { pda: configPda } = findAuctionConfigPda(programId);
104
+ return {
105
+ programId,
106
+ accounts: [
107
+ { pubkey: configPda, isSigner: false, isWritable: true },
108
+ { pubkey: params.admin, isSigner: true, isWritable: false },
109
+ ],
110
+ data: Buffer.concat([getAnchorDiscriminator('global', 'update_config'), reviewerBytes, newAdminBytes]),
111
+ };
112
+ }
42
113
  /**
43
114
  * Derives the deterministic PDA for a Bidder's Commitment on Solana.
44
115
  * Seeds: [b"bid_commitment", auction_pubkey, bidder_pubkey]
@@ -71,6 +142,11 @@ export function computeSealedBidCommitment(params) {
71
142
  }
72
143
  /**
73
144
  * Builds `create_auction` instruction.
145
+ * accounts: [auction (mut, pda), seller (signer, mut), reviewer, system_program, config]
146
+ *
147
+ * The upgraded program ignores the `reviewer` account (kept for layout compatibility) and uses
148
+ * the platform reviewer from the trailing read-only `config` PDA. The pre-upgrade program
149
+ * stores `reviewer` and ignores `config` as an Anchor remaining account.
74
150
  */
75
151
  export function createCreateAuctionInstruction(params) {
76
152
  const programId = params.programId || getSolanaAuctionProgramId();
@@ -139,6 +215,7 @@ export function createCreateAuctionInstruction(params) {
139
215
  { pubkey: params.seller, isSigner: true, isWritable: true },
140
216
  { pubkey: params.reviewer, isSigner: false, isWritable: false },
141
217
  { pubkey: SYSTEM_PROGRAM_ID, isSigner: false, isWritable: false },
218
+ { pubkey: findAuctionConfigPda(programId).pda, isSigner: false, isWritable: false },
142
219
  ],
143
220
  data,
144
221
  };
@@ -192,7 +269,8 @@ export function createRevealBidInstruction(params) {
192
269
  accounts: [
193
270
  { pubkey: auctionPda, isSigner: false, isWritable: true },
194
271
  { pubkey: bidCommitmentPda, isSigner: false, isWritable: true },
195
- { pubkey: params.bidder, isSigner: true, isWritable: false },
272
+ // Writable: reveal_bid refunds any over-deposit to the bidder.
273
+ { pubkey: params.bidder, isSigner: true, isWritable: true },
196
274
  ],
197
275
  data,
198
276
  };
@@ -229,6 +307,12 @@ export function createAcceptDatasetInstruction(params) {
229
307
  data: discriminator,
230
308
  };
231
309
  }
310
+ /**
311
+ * Builds `review_refund(approve)`.
312
+ * accounts: [auction (mut), bid_commitment (mut), seller (mut), reviewer (signer), winner (mut), config]
313
+ * The trailing read-only `config` PDA lets the upgraded program authorize the CURRENT platform
314
+ * reviewer; the pre-upgrade program ignores it as an Anchor remaining account.
315
+ */
232
316
  export function createReviewRefundInstruction(params) {
233
317
  const programId = params.programId || getSolanaAuctionProgramId();
234
318
  const { pda: auctionPda } = findAuctionPda(params.auctionId, programId);
@@ -241,6 +325,7 @@ export function createReviewRefundInstruction(params) {
241
325
  { pubkey: params.seller, isSigner: false, isWritable: true },
242
326
  { pubkey: params.reviewer, isSigner: true, isWritable: false },
243
327
  { pubkey: params.winner, isSigner: false, isWritable: true },
328
+ { pubkey: findAuctionConfigPda(programId).pda, isSigner: false, isWritable: false },
244
329
  ],
245
330
  data: Buffer.concat([
246
331
  getAnchorDiscriminator('global', 'review_refund'),
@@ -1 +1 @@
1
- {"version":3,"file":"auction.js","sourceRoot":"","sources":["../../../src/solana/auction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auction.js","sourceRoot":"","sources":["../../../src/solana/auction.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Connection, Keypair, PublicKey, Transaction, type Commitment } from '@solana/web3.js';
2
- import { type DecodedAuctionState } from './auction.js';
3
- import { type DecodedSolanaEscrowOrder } from './escrow.js';
2
+ import { type DecodedAuctionConfig, type DecodedAuctionState } from './auction.js';
3
+ import { type DecodedSolanaEscrowConfig, type DecodedSolanaEscrowOrder } from './escrow.js';
4
4
  /** Anything that can sign a legacy Transaction: a Phantom provider, a wallet adapter, or keypairSigner(). */
5
5
  export interface SolanaSigner {
6
6
  publicKey: PublicKey;
@@ -14,6 +14,13 @@ export interface VeilioSolanaClientOptions {
14
14
  auctionProgramId?: string;
15
15
  escrowProgramId?: string;
16
16
  commitment?: Commitment;
17
+ /**
18
+ * Default dispute reviewer for `deposit()` when the input omits `reviewer`. Use the VEILIO
19
+ * platform reviewer wallet published for your deployment.
20
+ */
21
+ platformReviewer?: string;
22
+ /** Default fee recipient for `deposit()` when the input omits `feeRecipient`. */
23
+ platformFeeRecipient?: string;
17
24
  }
18
25
  /** Everything needed to reveal a Solana sealed bid. Persist it (salt included) in encrypted storage. */
19
26
  export interface SolanaPreparedBid {
@@ -26,12 +33,24 @@ export interface SolanaPreparedBid {
26
33
  commitment: string;
27
34
  programId: string;
28
35
  }
36
+ /**
37
+ * SECURITY NOTE: the upgraded `veilio-service-escrow` program takes the reviewer, fee recipient and
38
+ * fee rate from its global `EscrowConfig` PDA and ignores the values passed at deposit time.
39
+ * `deposit()` reads that config and uses it when it exists. Before the upgrade (no config account)
40
+ * the program stores whatever the buyer passes, so the SDK falls back to the client's
41
+ * `platformReviewer` / `platformFeeRecipient` options and refuses a reviewer equal to the buyer or
42
+ * seller. Sellers should check `getEscrowOrder(id).reviewer` before starting work.
43
+ */
29
44
  export interface SolanaEscrowDepositInput {
30
45
  orderId: string;
31
46
  seller: string;
32
- /** Wallet that can resolve disputes. Must be a real signer, never a program ID. */
33
- reviewer: string;
34
- feeRecipient: string;
47
+ /**
48
+ * Wallet that can resolve disputes. Defaults to the client's `platformReviewer`.
49
+ * Must be a real signer (never a program ID) and must not be the buyer or seller.
50
+ */
51
+ reviewer?: string;
52
+ /** Defaults to the client's `platformFeeRecipient`. */
53
+ feeRecipient?: string;
35
54
  amountSol: string;
36
55
  /** Unix seconds. */
37
56
  deadline: number;
@@ -56,6 +75,7 @@ export declare function assertSolanaAddress(label: string, value: string): void;
56
75
  export declare function createVeilioSolanaClient(options: VeilioSolanaClientOptions): {
57
76
  auctionProgramId: string;
58
77
  escrowProgramId: string;
78
+ getAuctionConfig: () => Promise<DecodedAuctionConfig | null>;
59
79
  getAuction: (auctionId: bigint | number | string) => Promise<DecodedAuctionState | null>;
60
80
  listAuctions: () => Promise<Array<DecodedAuctionState & {
61
81
  address: string;
@@ -63,8 +83,13 @@ export declare function createVeilioSolanaClient(options: VeilioSolanaClientOpti
63
83
  prepareBid: (auctionId: bigint | number | string, maxBidSol: string) => SolanaPreparedBid;
64
84
  commitBid: (prepared: SolanaPreparedBid, depositSol: string) => Promise<string>;
65
85
  revealBid: (prepared: SolanaPreparedBid) => Promise<string>;
86
+ settleAuction: (auctionId: bigint | number | string) => Promise<string>;
66
87
  acceptDataset: (auctionId: bigint | number | string, seller: string) => Promise<string>;
88
+ requestRefund: (auctionId: bigint | number | string, evidenceHash: string | Uint8Array) => Promise<string>;
89
+ finalizeInspectionTimeout: (auctionId: bigint | number | string) => Promise<string>;
90
+ finalizeRefundTimeout: (auctionId: bigint | number | string) => Promise<string>;
67
91
  claimRefund: (auctionId: bigint | number | string) => Promise<string>;
92
+ getEscrowConfig: () => Promise<DecodedSolanaEscrowConfig | null>;
68
93
  getEscrowOrder: (orderId: string) => Promise<DecodedSolanaEscrowOrder | null>;
69
94
  deposit: (input: SolanaEscrowDepositInput) => Promise<string>;
70
95
  submitDelivery: (orderId: string, deliverableReference: string) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/solana/client.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,OAAO,EAEP,SAAS,EACT,WAAW,EAEX,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EASL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EASL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAGrB,6GAA6G;AAC7G,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpE;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAQ5D;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wGAAwG;AACxG,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAatE;AAcD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB;;;4BAkCpC,MAAM,GAAG,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAMpE,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;4BAiBzD,MAAM,GAAG,MAAM,GAAG,MAAM,aAAa,MAAM,KAAG,iBAAiB;0BAqB3D,iBAAiB,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;0BAgBvD,iBAAiB,KAAG,OAAO,CAAC,MAAM,CAAC;+BAa9B,MAAM,GAAG,MAAM,GAAG,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;6BAY5D,MAAM,GAAG,MAAM,GAAG,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;8BAYzC,MAAM,KAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;qBAM1D,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAAC;8BA2BjC,MAAM,wBAAwB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;4BAYxD,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;sBAe9B,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;uBAcvC,MAAM,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EA4BzE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/solana/client.ts"],"names":[],"mappings":"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"}