veilioexchange 0.1.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.
- package/CHANGELOG.md +37 -0
- package/LICENSE +21 -21
- package/README.md +225 -113
- package/dist/cjs/auth.d.ts +15 -0
- package/dist/cjs/auth.d.ts.map +1 -1
- package/dist/cjs/auth.js +32 -0
- package/dist/cjs/auth.js.map +1 -1
- package/dist/cjs/deployments.js +2 -2
- package/dist/cjs/index.d.ts +260 -6
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +221 -62
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/servicesApi.d.ts +86 -0
- package/dist/cjs/servicesApi.d.ts.map +1 -0
- package/dist/cjs/servicesApi.js +177 -0
- package/dist/cjs/servicesApi.js.map +1 -0
- package/dist/cjs/solana/auction.d.ts +230 -0
- package/dist/cjs/solana/auction.d.ts.map +1 -0
- package/dist/cjs/solana/auction.js +546 -0
- package/dist/cjs/solana/auction.js.map +1 -0
- package/dist/cjs/solana/client.d.ts +100 -0
- package/dist/cjs/solana/client.d.ts.map +1 -0
- package/dist/cjs/solana/client.js +368 -0
- package/dist/cjs/solana/client.js.map +1 -0
- package/dist/cjs/solana/escrow.d.ts +193 -0
- package/dist/cjs/solana/escrow.d.ts.map +1 -0
- package/dist/cjs/solana/escrow.js +463 -0
- package/dist/cjs/solana/escrow.js.map +1 -0
- package/dist/cjs/solana/index.d.ts +9 -0
- package/dist/cjs/solana/index.d.ts.map +1 -0
- package/dist/cjs/solana/index.js +35 -0
- package/dist/cjs/solana/index.js.map +1 -0
- package/dist/cjs/solana/registry.d.ts +112 -0
- package/dist/cjs/solana/registry.d.ts.map +1 -0
- package/dist/cjs/solana/registry.js +305 -0
- package/dist/cjs/solana/registry.js.map +1 -0
- package/dist/esm/auth.d.ts +15 -0
- package/dist/esm/auth.d.ts.map +1 -1
- package/dist/esm/auth.js +28 -0
- package/dist/esm/auth.js.map +1 -1
- package/dist/esm/deployments.js +2 -2
- package/dist/esm/index.d.ts +260 -6
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +218 -61
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/servicesApi.d.ts +86 -0
- package/dist/esm/servicesApi.d.ts.map +1 -0
- package/dist/esm/servicesApi.js +174 -0
- package/dist/esm/servicesApi.js.map +1 -0
- package/dist/esm/solana/auction.d.ts +230 -0
- package/dist/esm/solana/auction.d.ts.map +1 -0
- package/dist/esm/solana/auction.js +523 -0
- package/dist/esm/solana/auction.js.map +1 -0
- package/dist/esm/solana/client.d.ts +100 -0
- package/dist/esm/solana/client.d.ts.map +1 -0
- package/dist/esm/solana/client.js +361 -0
- package/dist/esm/solana/client.js.map +1 -0
- package/dist/esm/solana/escrow.d.ts +193 -0
- package/dist/esm/solana/escrow.d.ts.map +1 -0
- package/dist/esm/solana/escrow.js +444 -0
- package/dist/esm/solana/escrow.js.map +1 -0
- package/dist/esm/solana/index.d.ts +9 -0
- package/dist/esm/solana/index.d.ts.map +1 -0
- package/dist/esm/solana/index.js +9 -0
- package/dist/esm/solana/index.js.map +1 -0
- package/dist/esm/solana/registry.d.ts +112 -0
- package/dist/esm/solana/registry.d.ts.map +1 -0
- package/dist/esm/solana/registry.js +289 -0
- package/dist/esm/solana/registry.js.map +1 -0
- package/package.json +82 -55
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createVeilioServicesApi = createVeilioServicesApi;
|
|
4
|
+
const errors_js_1 = require("./errors.js");
|
|
5
|
+
const auth_js_1 = require("./auth.js");
|
|
6
|
+
function createVeilioServicesApi(options) {
|
|
7
|
+
const base = String(options.apiBaseUrl || '').replace(/\/+$/, '');
|
|
8
|
+
if (!/^https?:\/\//.test(base)) {
|
|
9
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_CONFIG', message: 'apiBaseUrl must be an absolute http(s) URL.' });
|
|
10
|
+
}
|
|
11
|
+
if (!options.signer?.address || typeof options.signer.signMessage !== 'function') {
|
|
12
|
+
throw new errors_js_1.VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A signer with address and signMessage() is required.' });
|
|
13
|
+
}
|
|
14
|
+
const fetchImpl = options.fetch ?? globalThis.fetch;
|
|
15
|
+
if (typeof fetchImpl !== 'function') {
|
|
16
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_CONFIG', message: 'No fetch implementation available; pass options.fetch.' });
|
|
17
|
+
}
|
|
18
|
+
const signer = options.signer;
|
|
19
|
+
function requireOrderId(orderId) {
|
|
20
|
+
const id = String(orderId ?? '').trim();
|
|
21
|
+
if (!id)
|
|
22
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'orderId is required.' });
|
|
23
|
+
return id;
|
|
24
|
+
}
|
|
25
|
+
async function parse(res, route, id) {
|
|
26
|
+
let json = null;
|
|
27
|
+
try {
|
|
28
|
+
json = await res.json();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Non-JSON response; handled below.
|
|
32
|
+
}
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
throw new errors_js_1.VeilioSdkError({
|
|
35
|
+
code: res.status === 401 || res.status === 403 ? 'UNAUTHORIZED' : res.status === 404 ? 'NOT_FOUND' : 'INVALID_INPUT',
|
|
36
|
+
message: `VEILIO API ${route} failed (${res.status}): ${json?.error || res.statusText || 'unknown error'}`,
|
|
37
|
+
retryable: res.status >= 500,
|
|
38
|
+
context: { status: res.status, id, route },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return json;
|
|
42
|
+
}
|
|
43
|
+
async function request(url, init) {
|
|
44
|
+
try {
|
|
45
|
+
return await fetchImpl(url, init);
|
|
46
|
+
}
|
|
47
|
+
catch (cause) {
|
|
48
|
+
throw new errors_js_1.VeilioSdkError({ code: 'RPC_ERROR', message: `VEILIO API request failed: ${url}`, retryable: true, cause });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// ------------------------------------------------------------- read session
|
|
52
|
+
let session = null;
|
|
53
|
+
let pendingSession = null;
|
|
54
|
+
/** Cached read/chat session; signs a new one when missing or within a minute of expiry. */
|
|
55
|
+
async function getSession() {
|
|
56
|
+
if (session && (0, auth_js_1.isServiceSessionFresh)(session, signer.address))
|
|
57
|
+
return session;
|
|
58
|
+
if (!pendingSession) {
|
|
59
|
+
pendingSession = (0, auth_js_1.signServiceSession)(signer).finally(() => {
|
|
60
|
+
pendingSession = null;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
session = await pendingSession;
|
|
64
|
+
return session;
|
|
65
|
+
}
|
|
66
|
+
/** `x-veilio-auth` header map for custom GET requests. */
|
|
67
|
+
async function getSessionHeaders() {
|
|
68
|
+
return (0, auth_js_1.encodeServiceAuthHeader)(await getSession());
|
|
69
|
+
}
|
|
70
|
+
async function get(path, label, id) {
|
|
71
|
+
const res = await request(`${base}${path}`, { method: 'GET', headers: await getSessionHeaders() });
|
|
72
|
+
return parse(res, label, id);
|
|
73
|
+
}
|
|
74
|
+
/** Order as seen by the VEILIO app (status, paymentStatus, network...). Buyer or seller only. */
|
|
75
|
+
async function getOrder(orderId) {
|
|
76
|
+
const id = requireOrderId(orderId);
|
|
77
|
+
return get(`/api/orders/${encodeURIComponent(id)}`, 'get-order', id);
|
|
78
|
+
}
|
|
79
|
+
/** Payment request detail (participants only). */
|
|
80
|
+
async function getPaymentRequest(paymentRequestId) {
|
|
81
|
+
const id = requireOrderId(paymentRequestId);
|
|
82
|
+
return get(`/api/payment-requests/${encodeURIComponent(id)}`, 'get-payment-request', id);
|
|
83
|
+
}
|
|
84
|
+
/** Conversations of the signer's wallet. */
|
|
85
|
+
async function listConversations() {
|
|
86
|
+
return get(`/api/conversations?userAddress=${encodeURIComponent(signer.address)}`, 'list-conversations', signer.address);
|
|
87
|
+
}
|
|
88
|
+
/** Conversation + messages (participants only). */
|
|
89
|
+
async function getConversationMessages(conversationId) {
|
|
90
|
+
const id = requireOrderId(conversationId);
|
|
91
|
+
return get(`/api/conversations/${encodeURIComponent(id)}/messages`, 'get-messages', id);
|
|
92
|
+
}
|
|
93
|
+
// ------------------------------------------------------- signed order actions
|
|
94
|
+
async function post(action, orderId, route, body) {
|
|
95
|
+
const id = requireOrderId(orderId);
|
|
96
|
+
const auth = await (0, auth_js_1.signServiceAuth)(signer, action, id);
|
|
97
|
+
const res = await request(`${base}/api/orders/${encodeURIComponent(id)}/${route}`, {
|
|
98
|
+
method: 'POST',
|
|
99
|
+
headers: { 'Content-Type': 'application/json' },
|
|
100
|
+
body: JSON.stringify({ ...body, auth }),
|
|
101
|
+
});
|
|
102
|
+
return parse(res, route, id);
|
|
103
|
+
}
|
|
104
|
+
/** Buyer: report a confirmed escrow deposit so the order moves out of AwaitingPayment. */
|
|
105
|
+
async function notifyDeposit(input) {
|
|
106
|
+
if (!input.txHash)
|
|
107
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'txHash is required.' });
|
|
108
|
+
return post('verify-deposit', input.orderId, 'verify-deposit', {
|
|
109
|
+
txHash: input.txHash,
|
|
110
|
+
...(input.onChainOrderId ? { onChainOrderId: input.onChainOrderId } : {}),
|
|
111
|
+
buyerAddress: signer.address,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/** Seller: record the delivery off-chain. Requires the confirmed on-chain `submitDelivery` tx. */
|
|
115
|
+
async function submit(input) {
|
|
116
|
+
if (!input.deliveryTxHash || typeof input.deliveryTxHash !== 'string') {
|
|
117
|
+
throw new errors_js_1.VeilioSdkError({
|
|
118
|
+
code: 'INVALID_INPUT',
|
|
119
|
+
message: 'deliveryTxHash (the on-chain submitDelivery transaction) is required.',
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (!input.description || input.description.trim().length < 5) {
|
|
123
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'description must be at least 5 characters.' });
|
|
124
|
+
}
|
|
125
|
+
return post('submit', input.orderId, 'submit', {
|
|
126
|
+
sellerAddress: signer.address,
|
|
127
|
+
deliveryTxHash: input.deliveryTxHash,
|
|
128
|
+
description: input.description.trim(),
|
|
129
|
+
deliverableReferences: input.deliverableReferences ?? [],
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/** Buyer: ask the seller for changes. */
|
|
133
|
+
async function requestRevision(input) {
|
|
134
|
+
if (!input.feedback || input.feedback.trim().length < 5) {
|
|
135
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'feedback must be at least 5 characters.' });
|
|
136
|
+
}
|
|
137
|
+
return post('revision', input.orderId, 'revision', {
|
|
138
|
+
buyerAddress: signer.address,
|
|
139
|
+
feedback: input.feedback.trim(),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/** Buyer: mark the order Completed (call after the on-chain `releaseFunds`). */
|
|
143
|
+
async function approve(input) {
|
|
144
|
+
if (!input.releaseTxHash)
|
|
145
|
+
throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'releaseTxHash is required.' });
|
|
146
|
+
return post('approve', input.orderId, 'approve', {
|
|
147
|
+
buyerAddress: signer.address,
|
|
148
|
+
releaseTxHash: input.releaseTxHash,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/** Buyer (after deadline) or seller: cancel. Funded orders need the on-chain cancel/refund `txHash`. */
|
|
152
|
+
async function cancel(input) {
|
|
153
|
+
return post('cancel', input.orderId, 'cancel', {
|
|
154
|
+
callerAddress: signer.address,
|
|
155
|
+
...(input.reason ? { reason: input.reason } : {}),
|
|
156
|
+
...(input.txHash ? { txHash: input.txHash } : {}),
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
apiBaseUrl: base,
|
|
161
|
+
address: signer.address,
|
|
162
|
+
// signed, state-changing order actions
|
|
163
|
+
notifyDeposit,
|
|
164
|
+
submit,
|
|
165
|
+
requestRevision,
|
|
166
|
+
approve,
|
|
167
|
+
cancel,
|
|
168
|
+
// session-authenticated reads
|
|
169
|
+
getSession,
|
|
170
|
+
getSessionHeaders,
|
|
171
|
+
getOrder,
|
|
172
|
+
getPaymentRequest,
|
|
173
|
+
listConversations,
|
|
174
|
+
getConversationMessages,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=servicesApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicesApi.js","sourceRoot":"","sources":["../../src/servicesApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VEILIO Solana Auction Client & Instruction Interface
|
|
3
|
+
*
|
|
4
|
+
* Implements client-side PDA derivation, Anchor instruction encoding,
|
|
5
|
+
* domain-separated sealed commitment calculation, and account deserialization
|
|
6
|
+
* for the on-chain Solana Devnet Veilio Auction program.
|
|
7
|
+
*/
|
|
8
|
+
import { type SolanaCompiledInstruction } from './registry.js';
|
|
9
|
+
export declare const AUCTION_SEED: Buffer<ArrayBuffer>;
|
|
10
|
+
export declare const BID_COMMITMENT_SEED: Buffer<ArrayBuffer>;
|
|
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;
|
|
16
|
+
export declare const DEFAULT_SOLANA_AUCTION_PROGRAM_ID = "5Tw1iJGN1hhyRzepbD5eLoaRoZTEiKcqrh2HoZYhYEta";
|
|
17
|
+
export declare const MAX_ITEM_NAME_LEN = 64;
|
|
18
|
+
export declare const MAX_DESC_LEN = 128;
|
|
19
|
+
export declare const MAX_IMAGE_URI_LEN = 200;
|
|
20
|
+
export declare const MAX_REVIEW_REASON_LEN = 100;
|
|
21
|
+
export declare enum SolanaAuctionState {
|
|
22
|
+
Created = 0,
|
|
23
|
+
Bidding = 1,
|
|
24
|
+
Revealing = 2,
|
|
25
|
+
Inspection = 3,
|
|
26
|
+
RefundRequested = 4,
|
|
27
|
+
UnderReview = 5,
|
|
28
|
+
Completed = 6,
|
|
29
|
+
Refunded = 7,
|
|
30
|
+
Cancelled = 8
|
|
31
|
+
}
|
|
32
|
+
export declare function getSolanaAuctionProgramId(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Derives the deterministic PDA for an Auction on Solana.
|
|
35
|
+
* Seeds: [b"auction", auction_id: u64 LE]
|
|
36
|
+
*/
|
|
37
|
+
export declare function findAuctionPda(auctionId: bigint | number, programId?: string): {
|
|
38
|
+
pda: string;
|
|
39
|
+
bump: number;
|
|
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;
|
|
76
|
+
/**
|
|
77
|
+
* Derives the deterministic PDA for a Bidder's Commitment on Solana.
|
|
78
|
+
* Seeds: [b"bid_commitment", auction_pubkey, bidder_pubkey]
|
|
79
|
+
*/
|
|
80
|
+
export declare function findBidCommitmentPda(auctionPubkey: string, bidderPubkey: string, programId?: string): {
|
|
81
|
+
pda: string;
|
|
82
|
+
bump: number;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Computes domain-separated sealed bid commitment:
|
|
86
|
+
* SHA-256(b"VEILIO_AUCTION_COMMITMENT_V1" || auction_key || bidder_key || max_bid_le || salt)
|
|
87
|
+
*/
|
|
88
|
+
export declare function computeSealedBidCommitment(params: {
|
|
89
|
+
auctionPubkey: string;
|
|
90
|
+
bidderPubkey: string;
|
|
91
|
+
maxBidLamports: bigint | number;
|
|
92
|
+
salt: Uint8Array | Buffer;
|
|
93
|
+
}): Buffer;
|
|
94
|
+
export interface DecodedAuctionState {
|
|
95
|
+
seller: string;
|
|
96
|
+
reviewer: string;
|
|
97
|
+
auctionId: bigint;
|
|
98
|
+
itemName: string;
|
|
99
|
+
description: string;
|
|
100
|
+
imageUri: string;
|
|
101
|
+
startingPrice: bigint;
|
|
102
|
+
commitEndTime: number;
|
|
103
|
+
revealEndTime: number;
|
|
104
|
+
inspectionDuration: number;
|
|
105
|
+
inspectionEndTime: number;
|
|
106
|
+
refundRequestedAt: number;
|
|
107
|
+
state: SolanaAuctionState;
|
|
108
|
+
highestBidder: string;
|
|
109
|
+
highestBid: bigint;
|
|
110
|
+
bidderCount: number;
|
|
111
|
+
revealedCount: number;
|
|
112
|
+
evidenceHash: string;
|
|
113
|
+
reviewReason: string;
|
|
114
|
+
bump: number;
|
|
115
|
+
}
|
|
116
|
+
export interface DecodedBidCommitment {
|
|
117
|
+
auction: string;
|
|
118
|
+
bidder: string;
|
|
119
|
+
commitment: string;
|
|
120
|
+
deposit: bigint;
|
|
121
|
+
maxBid: bigint;
|
|
122
|
+
revealed: boolean;
|
|
123
|
+
bump: number;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
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.
|
|
132
|
+
*/
|
|
133
|
+
export declare function createCreateAuctionInstruction(params: {
|
|
134
|
+
programId?: string;
|
|
135
|
+
seller: string;
|
|
136
|
+
reviewer: string;
|
|
137
|
+
auctionId: bigint | number;
|
|
138
|
+
itemName: string;
|
|
139
|
+
description: string;
|
|
140
|
+
imageUri: string;
|
|
141
|
+
startingPriceLamports: bigint | number;
|
|
142
|
+
commitDurationSeconds: number;
|
|
143
|
+
revealDurationSeconds: number;
|
|
144
|
+
inspectionDurationSeconds: number;
|
|
145
|
+
}): SolanaCompiledInstruction;
|
|
146
|
+
/**
|
|
147
|
+
* Builds `commit_bid` instruction.
|
|
148
|
+
*/
|
|
149
|
+
export declare function createCommitBidInstruction(params: {
|
|
150
|
+
programId?: string;
|
|
151
|
+
auctionId: bigint | number;
|
|
152
|
+
bidder: string;
|
|
153
|
+
commitment: Buffer | Uint8Array;
|
|
154
|
+
depositLamports: bigint | number;
|
|
155
|
+
}): SolanaCompiledInstruction;
|
|
156
|
+
/**
|
|
157
|
+
* Builds `reveal_bid` instruction.
|
|
158
|
+
*/
|
|
159
|
+
export declare function createRevealBidInstruction(params: {
|
|
160
|
+
programId?: string;
|
|
161
|
+
auctionId: bigint | number;
|
|
162
|
+
bidder: string;
|
|
163
|
+
maxBidLamports: bigint | number;
|
|
164
|
+
salt: Buffer | Uint8Array;
|
|
165
|
+
}): SolanaCompiledInstruction;
|
|
166
|
+
/**
|
|
167
|
+
* Builds `settle_auction` instruction.
|
|
168
|
+
*/
|
|
169
|
+
export declare function createSettleAuctionInstruction(params: {
|
|
170
|
+
programId?: string;
|
|
171
|
+
auctionId: bigint | number;
|
|
172
|
+
}): SolanaCompiledInstruction;
|
|
173
|
+
/**
|
|
174
|
+
* Builds `accept_dataset` instruction.
|
|
175
|
+
*/
|
|
176
|
+
export declare function createAcceptDatasetInstruction(params: {
|
|
177
|
+
programId?: string;
|
|
178
|
+
auctionId: bigint | number;
|
|
179
|
+
seller: string;
|
|
180
|
+
winner: string;
|
|
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
|
+
*/
|
|
188
|
+
export declare function createReviewRefundInstruction(params: {
|
|
189
|
+
programId?: string;
|
|
190
|
+
auctionId: bigint | number;
|
|
191
|
+
seller: string;
|
|
192
|
+
reviewer: string;
|
|
193
|
+
winner: string;
|
|
194
|
+
approve: boolean;
|
|
195
|
+
}): SolanaCompiledInstruction;
|
|
196
|
+
export declare function createFinalizeInspectionTimeoutInstruction(params: {
|
|
197
|
+
programId?: string;
|
|
198
|
+
auctionId: bigint | number;
|
|
199
|
+
seller: string;
|
|
200
|
+
winner: string;
|
|
201
|
+
caller: string;
|
|
202
|
+
}): SolanaCompiledInstruction;
|
|
203
|
+
export declare function createFinalizeRefundTimeoutInstruction(params: {
|
|
204
|
+
programId?: string;
|
|
205
|
+
auctionId: bigint | number;
|
|
206
|
+
winner: string;
|
|
207
|
+
}): SolanaCompiledInstruction;
|
|
208
|
+
export declare function createClaimRefundInstruction(params: {
|
|
209
|
+
programId?: string;
|
|
210
|
+
auctionId: bigint | number;
|
|
211
|
+
bidder: string;
|
|
212
|
+
}): SolanaCompiledInstruction;
|
|
213
|
+
/**
|
|
214
|
+
* Builds `request_refund` instruction.
|
|
215
|
+
*/
|
|
216
|
+
export declare function createRequestRefundInstruction(params: {
|
|
217
|
+
programId?: string;
|
|
218
|
+
auctionId: bigint | number;
|
|
219
|
+
winner: string;
|
|
220
|
+
evidenceHash: Buffer | Uint8Array;
|
|
221
|
+
}): SolanaCompiledInstruction;
|
|
222
|
+
/**
|
|
223
|
+
* Decodes an Anchor `AuctionStateAccount` buffer.
|
|
224
|
+
*/
|
|
225
|
+
export declare function decodeAuctionStateAccount(data: Buffer | Uint8Array): DecodedAuctionState;
|
|
226
|
+
/**
|
|
227
|
+
* Decodes an Anchor `BidCommitmentAccount` buffer.
|
|
228
|
+
*/
|
|
229
|
+
export declare function decodeBidCommitmentAccount(data: Buffer | Uint8Array): DecodedBidCommitment;
|
|
230
|
+
//# sourceMappingURL=auction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auction.d.ts","sourceRoot":"","sources":["../../../src/solana/auction.ts"],"names":[],"mappings":"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"}
|