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.
- package/CHANGELOG.md +37 -0
- package/LICENSE +21 -21
- package/README.md +225 -160
- 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 +50 -0
- package/dist/cjs/solana/auction.d.ts.map +1 -1
- package/dist/cjs/solana/auction.js +91 -2
- package/dist/cjs/solana/auction.js.map +1 -1
- package/dist/cjs/solana/client.d.ts +30 -5
- package/dist/cjs/solana/client.d.ts.map +1 -1
- package/dist/cjs/solana/client.js +92 -5
- package/dist/cjs/solana/client.js.map +1 -1
- package/dist/cjs/solana/escrow.d.ts +55 -2
- package/dist/cjs/solana/escrow.d.ts.map +1 -1
- package/dist/cjs/solana/escrow.js +112 -3
- package/dist/cjs/solana/escrow.js.map +1 -1
- package/dist/cjs/solana/index.d.ts +1 -1
- package/dist/cjs/solana/index.d.ts.map +1 -1
- package/dist/cjs/solana/index.js +4 -1
- package/dist/cjs/solana/index.js.map +1 -1
- package/dist/cjs/solana/registry.d.ts +12 -0
- package/dist/cjs/solana/registry.d.ts.map +1 -1
- package/dist/cjs/solana/registry.js +28 -1
- package/dist/cjs/solana/registry.js.map +1 -1
- 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 +50 -0
- package/dist/esm/solana/auction.d.ts.map +1 -1
- package/dist/esm/solana/auction.js +87 -2
- package/dist/esm/solana/auction.js.map +1 -1
- package/dist/esm/solana/client.d.ts +30 -5
- package/dist/esm/solana/client.d.ts.map +1 -1
- package/dist/esm/solana/client.js +94 -7
- package/dist/esm/solana/client.js.map +1 -1
- package/dist/esm/solana/escrow.d.ts +55 -2
- package/dist/esm/solana/escrow.d.ts.map +1 -1
- package/dist/esm/solana/escrow.js +108 -3
- package/dist/esm/solana/escrow.js.map +1 -1
- package/dist/esm/solana/index.d.ts +1 -1
- package/dist/esm/solana/index.d.ts.map +1 -1
- package/dist/esm/solana/index.js +1 -1
- package/dist/esm/solana/index.js.map +1 -1
- package/dist/esm/solana/registry.d.ts +12 -0
- package/dist/esm/solana/registry.d.ts.map +1 -1
- package/dist/esm/solana/registry.js +25 -0
- package/dist/esm/solana/registry.js.map +1 -1
- package/package.json +82 -81
package/dist/esm/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { VeilioSdkError, } from './errors.js';
|
|
|
4
4
|
export * from './errors.js';
|
|
5
5
|
export { VEILIO_DEPLOYMENTS } from './deployments.js';
|
|
6
6
|
export * from './auth.js';
|
|
7
|
+
export * from './servicesApi.js';
|
|
7
8
|
/**
|
|
8
9
|
* Safely executes an idempotent read operation with bounded exponential backoff.
|
|
9
10
|
* NOTE: Never used on state-changing transactions to prevent duplicate submissions.
|
|
@@ -31,22 +32,64 @@ export async function withSafeReadRetry(fn, options = {}) {
|
|
|
31
32
|
// ============================================================================
|
|
32
33
|
// Core Constants & Network Configuration
|
|
33
34
|
// ============================================================================
|
|
35
|
+
/** Default EVM chain (BNB Smart Chain Testnet). Pass `chainId: 84532` for Base Sepolia. */
|
|
34
36
|
export const VEILIO_CHAIN_ID = VEILIO_DEPLOYMENTS.bnbTestnet.chainId;
|
|
35
37
|
export const VEILIO_CONTRACT_ADDRESS = VEILIO_DEPLOYMENTS.bnbTestnet.auction;
|
|
36
38
|
/** Default VeilServiceEscrow on BNB Smart Chain Testnet. Override with `contractAddress`. */
|
|
37
39
|
export const VEILIO_SERVICES_CONTRACT_ADDRESS = VEILIO_DEPLOYMENTS.bnbTestnet.serviceEscrow;
|
|
40
|
+
/** EVM chains VEILIO is deployed on: BNB Smart Chain Testnet (97) and Base Sepolia (84532). */
|
|
41
|
+
export const VEILIO_SUPPORTED_CHAIN_IDS = [
|
|
42
|
+
VEILIO_DEPLOYMENTS.bnbTestnet.chainId,
|
|
43
|
+
VEILIO_DEPLOYMENTS.baseSepolia.chainId,
|
|
44
|
+
];
|
|
45
|
+
function chainLabel(chainId) {
|
|
46
|
+
return chainId === VEILIO_DEPLOYMENTS.baseSepolia.chainId ? 'Base Sepolia' : 'BNB Chain testnet';
|
|
47
|
+
}
|
|
48
|
+
/** Validates a chain ID and returns it typed as a supported VEILIO EVM chain. */
|
|
49
|
+
export function assertVeilioChainId(chainId, product = 'VEILIO') {
|
|
50
|
+
if (chainId !== VEILIO_DEPLOYMENTS.bnbTestnet.chainId && chainId !== VEILIO_DEPLOYMENTS.baseSepolia.chainId) {
|
|
51
|
+
throw new VeilioSdkError({
|
|
52
|
+
code: 'CHAIN_MISMATCH',
|
|
53
|
+
message: `Invalid chain ID ${chainId}. ${product} operates on BNB Chain (chain ID ${VEILIO_CHAIN_ID}) or Base Sepolia (chain ID 84532).`,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return chainId;
|
|
57
|
+
}
|
|
58
|
+
/** Default deployed addresses for a supported EVM chain. */
|
|
59
|
+
export function getVeilioDeployment(chainId) {
|
|
60
|
+
const id = assertVeilioChainId(chainId);
|
|
61
|
+
return id === VEILIO_DEPLOYMENTS.baseSepolia.chainId ? VEILIO_DEPLOYMENTS.baseSepolia : VEILIO_DEPLOYMENTS.bnbTestnet;
|
|
62
|
+
}
|
|
63
|
+
/** Throws CHAIN_MISMATCH when the wallet is connected to a different chain than the client targets. */
|
|
64
|
+
function assertWalletOnChain(walletClient, targetChainId) {
|
|
65
|
+
if (walletClient?.chain && walletClient.chain.id !== targetChainId) {
|
|
66
|
+
throw new VeilioSdkError({
|
|
67
|
+
code: 'CHAIN_MISMATCH',
|
|
68
|
+
message: `Connected wallet chain ID (${walletClient.chain.id}) does not match required ${chainLabel(targetChainId)} (${targetChainId}).`,
|
|
69
|
+
context: { walletChainId: walletClient.chain.id, targetChainId },
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
38
73
|
// ============================================================================
|
|
39
74
|
// Auction & Asset Marketplace ABI & Types (Preserved for 100% Backward Compatibility)
|
|
40
75
|
// ============================================================================
|
|
41
|
-
|
|
76
|
+
/** Subset of the deployed VeilNFTV4 auction ABI (BNB testnet + Base Sepolia) used by the agent. */
|
|
77
|
+
export const veilAuctionAbi = parseAbi([
|
|
42
78
|
'function auctionCount() view returns (uint256)',
|
|
43
79
|
'function auctions(uint256 auctionId) view returns (uint256 id, address seller, string itemName, string description, string imageURI, uint256 startingPrice, uint256 commitEndTime, uint256 revealEndTime, uint256 inspectionDuration, uint256 inspectionEndTime, uint8 state, address highestBidder, uint256 highestBid, uint256 bidderCount, uint256 revealedCount, bytes32 finalTxHash, string evidenceHash, string reviewReason)',
|
|
44
80
|
'function getAuctionState(uint256 auctionId) view returns (uint8)',
|
|
45
81
|
'function commitments(uint256 auctionId, address bidder) view returns (bytes32 commitment, uint256 deposit, bool revealed, uint256 maxBid)',
|
|
82
|
+
'function nftAssets(uint256 auctionId) view returns (uint8 standard, address tokenContract, uint256 tokenId, uint256 amount, bool escrowed, bool delivered)',
|
|
83
|
+
'function pendingRefunds(address account) view returns (uint256)',
|
|
46
84
|
'function commitBid(uint256 auctionId, bytes32 commitment) payable',
|
|
47
85
|
'function revealBid(uint256 auctionId, uint256 maxBid, bytes32 secret)',
|
|
86
|
+
'function settleAuction(uint256 auctionId)',
|
|
48
87
|
'function acceptDataset(uint256 auctionId)',
|
|
88
|
+
'function finalizeSettlement(uint256 auctionId)',
|
|
89
|
+
'function requestRefund(uint256 auctionId, string evidenceHash)',
|
|
90
|
+
'function withdrawRefund()',
|
|
49
91
|
]);
|
|
92
|
+
const abi = veilAuctionAbi;
|
|
50
93
|
export const AUCTION_STATES = [
|
|
51
94
|
'Created',
|
|
52
95
|
'Bidding',
|
|
@@ -109,13 +152,7 @@ function serviceStateName(value) {
|
|
|
109
152
|
// Dedicated Services Escrow Client Factory
|
|
110
153
|
// ============================================================================
|
|
111
154
|
export function createVeilioServicesClient(options) {
|
|
112
|
-
const targetChainId = options.chainId ?? VEILIO_CHAIN_ID;
|
|
113
|
-
if (targetChainId !== VEILIO_CHAIN_ID && targetChainId !== 84532) {
|
|
114
|
-
throw new VeilioSdkError({
|
|
115
|
-
code: 'CHAIN_MISMATCH',
|
|
116
|
-
message: `Invalid chain ID ${targetChainId}. VEILIO Services operates on BNB Chain (chain ID ${VEILIO_CHAIN_ID}) or Base Sepolia (chain ID 84532).`,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
155
|
+
const targetChainId = assertVeilioChainId(options.chainId ?? VEILIO_CHAIN_ID, 'VEILIO Services');
|
|
119
156
|
const defaultContractAddress = targetChainId === VEILIO_DEPLOYMENTS.baseSepolia.chainId
|
|
120
157
|
? VEILIO_DEPLOYMENTS.baseSepolia.serviceEscrow
|
|
121
158
|
: VEILIO_SERVICES_CONTRACT_ADDRESS;
|
|
@@ -152,13 +189,7 @@ export function createVeilioServicesClient(options) {
|
|
|
152
189
|
return acc;
|
|
153
190
|
}
|
|
154
191
|
function assertWalletChain(walletClient) {
|
|
155
|
-
|
|
156
|
-
const requiredName = targetChainId === 84532 ? 'Base Sepolia' : 'BNB Chain testnet';
|
|
157
|
-
throw new VeilioSdkError({
|
|
158
|
-
code: 'CHAIN_MISMATCH',
|
|
159
|
-
message: `Connected wallet chain ID (${walletClient.chain.id}) does not match required ${requiredName} (${targetChainId}).`,
|
|
160
|
-
});
|
|
161
|
-
}
|
|
192
|
+
assertWalletOnChain(walletClient, targetChainId);
|
|
162
193
|
}
|
|
163
194
|
function makeTxResult(txHash) {
|
|
164
195
|
return {
|
|
@@ -440,9 +471,13 @@ function stateName(value) {
|
|
|
440
471
|
return state;
|
|
441
472
|
}
|
|
442
473
|
export function createVeilioAgent(options) {
|
|
443
|
-
const
|
|
474
|
+
const targetChainId = assertVeilioChainId(options.chainId ?? VEILIO_CHAIN_ID, 'VEILIO auctions');
|
|
475
|
+
const address = options.contractAddress ?? getVeilioDeployment(targetChainId).auction;
|
|
476
|
+
if (!isAddress(address)) {
|
|
477
|
+
throw new VeilioSdkError({ code: 'INVALID_CONFIG', message: 'Auction contractAddress is not a valid EVM address.' });
|
|
478
|
+
}
|
|
444
479
|
const apiBase = (options.apiBaseUrl || '').replace(/\/$/, '');
|
|
445
|
-
// Dedicated Services escrow client instance attached to the agent (
|
|
480
|
+
// Dedicated Services escrow client instance attached to the agent (same chain as the auction agent)
|
|
446
481
|
let servicesClientInstance;
|
|
447
482
|
try {
|
|
448
483
|
servicesClientInstance = createVeilioServicesClient({
|
|
@@ -450,7 +485,7 @@ export function createVeilioAgent(options) {
|
|
|
450
485
|
walletClient: options.walletClient,
|
|
451
486
|
account: options.account,
|
|
452
487
|
contractAddress: options.servicesContractAddress,
|
|
453
|
-
chainId:
|
|
488
|
+
chainId: targetChainId,
|
|
454
489
|
});
|
|
455
490
|
}
|
|
456
491
|
catch {
|
|
@@ -606,22 +641,46 @@ export function createVeilioAgent(options) {
|
|
|
606
641
|
maxBidWei: maxBidWei.toString(),
|
|
607
642
|
secret,
|
|
608
643
|
commitment,
|
|
609
|
-
chainId:
|
|
644
|
+
chainId: targetChainId,
|
|
610
645
|
contractAddress: address,
|
|
611
646
|
};
|
|
612
647
|
}
|
|
613
|
-
|
|
648
|
+
function requireWallet() {
|
|
614
649
|
const walletClient = options.walletClient;
|
|
615
650
|
if (!walletClient) {
|
|
616
651
|
throw new VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A walletClient is required to submit transactions.' });
|
|
617
652
|
}
|
|
618
|
-
|
|
653
|
+
assertWalletOnChain(walletClient, targetChainId);
|
|
654
|
+
return walletClient;
|
|
655
|
+
}
|
|
656
|
+
function assertPreparedBidTarget(prepared) {
|
|
657
|
+
if (prepared.chainId !== targetChainId ||
|
|
619
658
|
prepared.contractAddress.toLowerCase() !== address.toLowerCase()) {
|
|
620
|
-
throw new VeilioSdkError({
|
|
659
|
+
throw new VeilioSdkError({
|
|
660
|
+
code: 'CHAIN_MISMATCH',
|
|
661
|
+
message: 'Prepared bid belongs to a different chain or contract.',
|
|
662
|
+
context: { preparedChainId: prepared.chainId, targetChainId },
|
|
663
|
+
});
|
|
621
664
|
}
|
|
622
665
|
if (prepared.bidder.toLowerCase() !== getAccount(options).toLowerCase()) {
|
|
623
666
|
throw new VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Prepared bid wallet does not match the connected agent wallet.' });
|
|
624
667
|
}
|
|
668
|
+
}
|
|
669
|
+
async function write(walletClient, functionName, args, value) {
|
|
670
|
+
return walletClient.writeContract({
|
|
671
|
+
address,
|
|
672
|
+
abi,
|
|
673
|
+
functionName,
|
|
674
|
+
args,
|
|
675
|
+
value,
|
|
676
|
+
account: walletClient.account ?? getAccount(options),
|
|
677
|
+
chain: walletClient.chain ?? undefined,
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
const nowSeconds = () => BigInt(Math.floor(Date.now() / 1000));
|
|
681
|
+
async function commitBid(prepared, depositAmount) {
|
|
682
|
+
const walletClient = requireWallet();
|
|
683
|
+
assertPreparedBidTarget(prepared);
|
|
625
684
|
const depositWei = parseEther(String(depositAmount));
|
|
626
685
|
const auction = await getAuction(prepared.auctionId);
|
|
627
686
|
if (auction.state !== 'Bidding') {
|
|
@@ -642,31 +701,19 @@ export function createVeilioAgent(options) {
|
|
|
642
701
|
if (commitment[0] !== `0x${'0'.repeat(64)}`) {
|
|
643
702
|
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'This wallet already committed to this auction.' });
|
|
644
703
|
}
|
|
645
|
-
return walletClient.
|
|
646
|
-
address,
|
|
647
|
-
abi,
|
|
648
|
-
functionName: 'commitBid',
|
|
649
|
-
args: [BigInt(prepared.auctionId), prepared.commitment],
|
|
650
|
-
value: depositWei,
|
|
651
|
-
account: walletClient.account ?? getAccount(options),
|
|
652
|
-
chain: walletClient.chain ?? undefined,
|
|
653
|
-
});
|
|
704
|
+
return write(walletClient, 'commitBid', [BigInt(prepared.auctionId), prepared.commitment], depositWei);
|
|
654
705
|
}
|
|
655
706
|
async function revealBid(prepared) {
|
|
656
|
-
const walletClient =
|
|
657
|
-
|
|
658
|
-
throw new VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A walletClient is required to submit transactions.' });
|
|
659
|
-
}
|
|
660
|
-
if (prepared.chainId !== VEILIO_CHAIN_ID ||
|
|
661
|
-
prepared.contractAddress.toLowerCase() !== address.toLowerCase()) {
|
|
662
|
-
throw new VeilioSdkError({ code: 'CHAIN_MISMATCH', message: 'Prepared bid belongs to a different chain or contract.' });
|
|
663
|
-
}
|
|
664
|
-
if (prepared.bidder.toLowerCase() !== getAccount(options).toLowerCase()) {
|
|
665
|
-
throw new VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Prepared bid wallet does not match the connected agent wallet.' });
|
|
666
|
-
}
|
|
707
|
+
const walletClient = requireWallet();
|
|
708
|
+
assertPreparedBidTarget(prepared);
|
|
667
709
|
const auction = await getAuction(prepared.auctionId);
|
|
668
|
-
if (auction.state !== 'Revealing') {
|
|
669
|
-
throw new VeilioSdkError({
|
|
710
|
+
if (auction.state !== 'Revealing' || nowSeconds() >= auction.revealEndTime) {
|
|
711
|
+
throw new VeilioSdkError({
|
|
712
|
+
code: 'INVALID_INPUT',
|
|
713
|
+
message: auction.state === 'Revealing'
|
|
714
|
+
? 'Reveal phase has ended; the auction is waiting for settleAuction().'
|
|
715
|
+
: `Auction is ${auction.state}; it is not accepting reveals.`,
|
|
716
|
+
});
|
|
670
717
|
}
|
|
671
718
|
const commitment = await options.publicClient.readContract({
|
|
672
719
|
address,
|
|
@@ -684,14 +731,7 @@ export function createVeilioAgent(options) {
|
|
|
684
731
|
if (expected !== prepared.commitment) {
|
|
685
732
|
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'Prepared bid secret does not match its commitment.' });
|
|
686
733
|
}
|
|
687
|
-
return walletClient.
|
|
688
|
-
address,
|
|
689
|
-
abi,
|
|
690
|
-
functionName: 'revealBid',
|
|
691
|
-
args: [BigInt(prepared.auctionId), BigInt(prepared.maxBidWei), prepared.secret],
|
|
692
|
-
account: walletClient.account ?? getAccount(options),
|
|
693
|
-
chain: walletClient.chain ?? undefined,
|
|
694
|
-
});
|
|
734
|
+
return write(walletClient, 'revealBid', [BigInt(prepared.auctionId), BigInt(prepared.maxBidWei), prepared.secret]);
|
|
695
735
|
}
|
|
696
736
|
async function getAuctionResult(auctionId) {
|
|
697
737
|
const auction = await getAuction(auctionId);
|
|
@@ -699,26 +739,136 @@ export function createVeilioAgent(options) {
|
|
|
699
739
|
const isWinner = auction.highestBidder.toLowerCase() === agentAddress;
|
|
700
740
|
return {
|
|
701
741
|
auctionId: String(auctionId),
|
|
742
|
+
chainId: targetChainId,
|
|
702
743
|
state: auction.state,
|
|
703
744
|
isWinner,
|
|
704
745
|
highestBidder: auction.highestBidder,
|
|
746
|
+
/** Native-token amount (BNB on chain 97, ETH on Base Sepolia). */
|
|
747
|
+
winningBid: formatEther(auction.highestBidWei),
|
|
748
|
+
/** @deprecated Use `winningBid`; kept for 0.2.x compatibility (also set on Base Sepolia). */
|
|
705
749
|
winningBidBnb: formatEther(auction.highestBidWei),
|
|
706
750
|
};
|
|
707
751
|
}
|
|
752
|
+
/** True when the auction escrows an ERC-721/ERC-1155 token (VeilNFTV4 `nftAssets.standard != None`). */
|
|
753
|
+
async function isNftAuction(auctionId) {
|
|
754
|
+
const asset = await options.publicClient.readContract({
|
|
755
|
+
address,
|
|
756
|
+
abi,
|
|
757
|
+
functionName: 'nftAssets',
|
|
758
|
+
args: [BigInt(auctionId)],
|
|
759
|
+
});
|
|
760
|
+
return Number(asset[0]) !== 0;
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Moves an auction out of the reveal phase once `revealEndTime` has passed. Anyone can call it.
|
|
764
|
+
* With a winner the auction enters Inspection; without one, deposits become withdrawable
|
|
765
|
+
* (`withdrawRefund`) and an escrowed NFT returns to the seller.
|
|
766
|
+
*/
|
|
767
|
+
async function settleAuction(auctionId) {
|
|
768
|
+
const walletClient = requireWallet();
|
|
769
|
+
const auction = await getAuction(auctionId);
|
|
770
|
+
if (auction.state !== 'Revealing') {
|
|
771
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; only an auction past its reveal phase can be settled.` });
|
|
772
|
+
}
|
|
773
|
+
if (nowSeconds() < auction.revealEndTime) {
|
|
774
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'Reveal phase has not finished yet.', context: { revealEndTime: auction.revealEndTime.toString() } });
|
|
775
|
+
}
|
|
776
|
+
return write(walletClient, 'settleAuction', [BigInt(auctionId)]);
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* Winner accepts a dataset auction during inspection (`acceptDataset`), paying the seller.
|
|
780
|
+
* NFT auctions cannot be accepted: VeilNFTV4 delivers the token automatically through
|
|
781
|
+
* `finalizeSettlement` after inspection ends, so this throws for NFT auctions.
|
|
782
|
+
*/
|
|
708
783
|
async function claimAsset(auctionId) {
|
|
709
|
-
const walletClient =
|
|
710
|
-
if (
|
|
711
|
-
throw new VeilioSdkError({
|
|
784
|
+
const walletClient = requireWallet();
|
|
785
|
+
if (await isNftAuction(auctionId)) {
|
|
786
|
+
throw new VeilioSdkError({
|
|
787
|
+
code: 'INVALID_INPUT',
|
|
788
|
+
message: 'NFT auctions are completed with finalizeSettlement() after the inspection period ends; acceptDataset is blocked for NFTs.',
|
|
789
|
+
});
|
|
712
790
|
}
|
|
713
|
-
|
|
791
|
+
const auction = await getAuction(auctionId);
|
|
792
|
+
if (auction.state !== 'Inspection') {
|
|
793
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; acceptDataset requires Inspection.` });
|
|
794
|
+
}
|
|
795
|
+
if (auction.highestBidder.toLowerCase() !== getAccount(options).toLowerCase()) {
|
|
796
|
+
throw new VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Only the winning bidder can accept the asset.' });
|
|
797
|
+
}
|
|
798
|
+
return write(walletClient, 'acceptDataset', [BigInt(auctionId)]);
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* Completes an auction once the inspection period has ended without a refund request:
|
|
802
|
+
* pays the seller (minus the 10% platform fee, credited as pull payments) and, for NFT
|
|
803
|
+
* auctions, delivers the escrowed token to the winner. Anyone can call it.
|
|
804
|
+
* This is the required completion path for NFT auctions.
|
|
805
|
+
*/
|
|
806
|
+
async function finalizeSettlement(auctionId) {
|
|
807
|
+
const walletClient = requireWallet();
|
|
808
|
+
const auction = await getAuction(auctionId);
|
|
809
|
+
if (auction.state !== 'Inspection') {
|
|
810
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; finalizeSettlement requires Inspection.` });
|
|
811
|
+
}
|
|
812
|
+
if (nowSeconds() <= auction.inspectionEndTime) {
|
|
813
|
+
throw new VeilioSdkError({
|
|
814
|
+
code: 'INVALID_INPUT',
|
|
815
|
+
message: 'Inspection period has not ended yet.',
|
|
816
|
+
context: { inspectionEndTime: auction.inspectionEndTime.toString() },
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
return write(walletClient, 'finalizeSettlement', [BigInt(auctionId)]);
|
|
820
|
+
}
|
|
821
|
+
/**
|
|
822
|
+
* Winner disputes the asset during inspection. `evidenceHash` is stored on-chain (e.g. an IPFS CID
|
|
823
|
+
* or sha256 of your evidence bundle); the platform reviewer then resolves the request.
|
|
824
|
+
* Note: on the deployed EVM contracts a refund request has no timeout, so funds stay locked until
|
|
825
|
+
* the reviewer acts.
|
|
826
|
+
*/
|
|
827
|
+
async function requestRefund(auctionId, evidenceHash) {
|
|
828
|
+
const walletClient = requireWallet();
|
|
829
|
+
const evidence = String(evidenceHash ?? '').trim();
|
|
830
|
+
if (!evidence) {
|
|
831
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'evidenceHash is required to request a refund.' });
|
|
832
|
+
}
|
|
833
|
+
const auction = await getAuction(auctionId);
|
|
834
|
+
if (auction.state !== 'Inspection' || nowSeconds() > auction.inspectionEndTime) {
|
|
835
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'Refunds can only be requested during the inspection period.' });
|
|
836
|
+
}
|
|
837
|
+
if (auction.highestBidder.toLowerCase() !== getAccount(options).toLowerCase()) {
|
|
838
|
+
throw new VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Only the winning bidder can request a refund.' });
|
|
839
|
+
}
|
|
840
|
+
return write(walletClient, 'requestRefund', [BigInt(auctionId), evidence]);
|
|
841
|
+
}
|
|
842
|
+
/** Pull-payment balance credited to `account` (losing deposits, over-deposits, seller proceeds, approved refunds). */
|
|
843
|
+
async function getPendingRefund(account) {
|
|
844
|
+
return options.publicClient.readContract({
|
|
714
845
|
address,
|
|
715
846
|
abi,
|
|
716
|
-
functionName: '
|
|
717
|
-
args: [
|
|
718
|
-
account: walletClient.account ?? getAccount(options),
|
|
719
|
-
chain: walletClient.chain ?? undefined,
|
|
847
|
+
functionName: 'pendingRefunds',
|
|
848
|
+
args: [account ?? getAccount(options)],
|
|
720
849
|
});
|
|
721
850
|
}
|
|
851
|
+
/** Withdraws the caller's whole `pendingRefunds` balance (all auctions at once). */
|
|
852
|
+
async function withdrawRefund() {
|
|
853
|
+
const walletClient = requireWallet();
|
|
854
|
+
const pending = await getPendingRefund();
|
|
855
|
+
if (pending <= 0n) {
|
|
856
|
+
throw new VeilioSdkError({ code: 'INVALID_INPUT', message: 'No pending refund to withdraw for this wallet.' });
|
|
857
|
+
}
|
|
858
|
+
return write(walletClient, 'withdrawRefund', []);
|
|
859
|
+
}
|
|
860
|
+
/** Waits for a transaction returned by this agent and throws TRANSACTION_REVERTED on failure. */
|
|
861
|
+
async function waitForTransaction(hash) {
|
|
862
|
+
const receipt = await options.publicClient.waitForTransactionReceipt({ hash });
|
|
863
|
+
if (receipt.status === 'reverted') {
|
|
864
|
+
throw new VeilioSdkError({
|
|
865
|
+
code: 'TRANSACTION_REVERTED',
|
|
866
|
+
message: `Transaction ${hash} reverted on-chain.`,
|
|
867
|
+
context: { txHash: hash, status: receipt.status },
|
|
868
|
+
});
|
|
869
|
+
}
|
|
870
|
+
return receipt;
|
|
871
|
+
}
|
|
722
872
|
async function getLicense(auctionId) {
|
|
723
873
|
const details = await getAssetDetails(auctionId);
|
|
724
874
|
return {
|
|
@@ -730,7 +880,7 @@ export function createVeilioAgent(options) {
|
|
|
730
880
|
}
|
|
731
881
|
return {
|
|
732
882
|
address,
|
|
733
|
-
chainId:
|
|
883
|
+
chainId: targetChainId,
|
|
734
884
|
getAuction,
|
|
735
885
|
listAuctions,
|
|
736
886
|
searchAssets,
|
|
@@ -740,7 +890,14 @@ export function createVeilioAgent(options) {
|
|
|
740
890
|
commitBid,
|
|
741
891
|
revealBid,
|
|
742
892
|
getAuctionResult,
|
|
893
|
+
isNftAuction,
|
|
894
|
+
settleAuction,
|
|
743
895
|
claimAsset,
|
|
896
|
+
finalizeSettlement,
|
|
897
|
+
requestRefund,
|
|
898
|
+
getPendingRefund,
|
|
899
|
+
withdrawRefund,
|
|
900
|
+
waitForTransaction,
|
|
744
901
|
getLicense,
|
|
745
902
|
services: servicesClientInstance,
|
|
746
903
|
};
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { type MessageSigner, type ServiceAuthPayload } from './auth.js';
|
|
2
|
+
/**
|
|
3
|
+
* Off-chain VEILIO Services API helper.
|
|
4
|
+
*
|
|
5
|
+
* The on-chain escrow (`createVeilioServicesClient`, or the Solana client) moves funds, but the
|
|
6
|
+
* order status shown in the VEILIO app (`InProgress`, `InReview`, `Completed`, ...) only changes
|
|
7
|
+
* when the API is told about it. Call the matching method here after each on-chain step.
|
|
8
|
+
*
|
|
9
|
+
* State-changing calls are signed per request with `signServiceAuth` (EIP-191 personal_sign,
|
|
10
|
+
* nonce consumed by the server). Reads use a reusable 30-minute session (`signServiceSession`)
|
|
11
|
+
* sent in the `x-veilio-auth` header; it is signed once and cached. The server derives the
|
|
12
|
+
* network from the order itself, so no `network` field is ever sent.
|
|
13
|
+
*/
|
|
14
|
+
export interface VeilioServicesApiOptions {
|
|
15
|
+
/** e.g. "https://veilio.example". Trailing slashes are ignored. */
|
|
16
|
+
apiBaseUrl: string;
|
|
17
|
+
/** Wallet that signs the auth message (a viem LocalAccount works). Must be the order's buyer/seller. */
|
|
18
|
+
signer: MessageSigner;
|
|
19
|
+
/** Custom fetch (defaults to globalThis.fetch). */
|
|
20
|
+
fetch?: typeof globalThis.fetch;
|
|
21
|
+
}
|
|
22
|
+
export interface NotifyDepositInput {
|
|
23
|
+
/** VEILIO order ID (the `id` in /api/orders/{id}). */
|
|
24
|
+
orderId: string;
|
|
25
|
+
/** Deposit transaction hash (EVM) or signature (Solana). */
|
|
26
|
+
txHash: string;
|
|
27
|
+
/** bytes32 order ID used on-chain, if it differs from the default derived from the order. */
|
|
28
|
+
onChainOrderId?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface SubmitDeliveryApiInput {
|
|
31
|
+
orderId: string;
|
|
32
|
+
/**
|
|
33
|
+
* Required: the on-chain `submitDelivery` transaction hash (EVM, must emit DeliverySubmitted by
|
|
34
|
+
* the seller) or `submit_delivery` signature (Solana). Send the on-chain tx first.
|
|
35
|
+
*/
|
|
36
|
+
deliveryTxHash: string;
|
|
37
|
+
/** At least 5 characters. */
|
|
38
|
+
description: string;
|
|
39
|
+
/** Up to 500 characters each. */
|
|
40
|
+
deliverableReferences?: string[];
|
|
41
|
+
}
|
|
42
|
+
export interface ApproveOrderApiInput {
|
|
43
|
+
orderId: string;
|
|
44
|
+
/** `releaseFunds` transaction hash (EVM) or signature (Solana). */
|
|
45
|
+
releaseTxHash: string;
|
|
46
|
+
}
|
|
47
|
+
export interface CancelOrderApiInput {
|
|
48
|
+
orderId: string;
|
|
49
|
+
reason?: string;
|
|
50
|
+
/** Required once the order is funded: the on-chain cancel/refund transaction. */
|
|
51
|
+
txHash?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface RequestRevisionApiInput {
|
|
54
|
+
orderId: string;
|
|
55
|
+
/** At least 5 characters. */
|
|
56
|
+
feedback: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function createVeilioServicesApi(options: VeilioServicesApiOptions): {
|
|
59
|
+
apiBaseUrl: string;
|
|
60
|
+
address: `0x${string}`;
|
|
61
|
+
notifyDeposit: (input: NotifyDepositInput) => Promise<unknown>;
|
|
62
|
+
submit: (input: SubmitDeliveryApiInput) => Promise<unknown>;
|
|
63
|
+
requestRevision: (input: RequestRevisionApiInput) => Promise<unknown>;
|
|
64
|
+
approve: (input: ApproveOrderApiInput) => Promise<unknown>;
|
|
65
|
+
cancel: (input: CancelOrderApiInput) => Promise<unknown>;
|
|
66
|
+
getSession: () => Promise<ServiceAuthPayload>;
|
|
67
|
+
getSessionHeaders: () => Promise<Record<string, string>>;
|
|
68
|
+
getOrder: (orderId: string) => Promise<{
|
|
69
|
+
success: boolean;
|
|
70
|
+
order: Record<string, unknown>;
|
|
71
|
+
}>;
|
|
72
|
+
getPaymentRequest: (paymentRequestId: string) => Promise<{
|
|
73
|
+
success: boolean;
|
|
74
|
+
paymentRequest: Record<string, unknown>;
|
|
75
|
+
}>;
|
|
76
|
+
listConversations: () => Promise<{
|
|
77
|
+
success: boolean;
|
|
78
|
+
conversations: unknown[];
|
|
79
|
+
}>;
|
|
80
|
+
getConversationMessages: (conversationId: string) => Promise<{
|
|
81
|
+
success: boolean;
|
|
82
|
+
conversation: unknown;
|
|
83
|
+
messages: unknown[];
|
|
84
|
+
}>;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=servicesApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servicesApi.d.ts","sourceRoot":"","sources":["../../src/servicesApi.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,wBAAwB;IACvC,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,MAAM,EAAE,aAAa,CAAC;IACtB,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB;;;2BA6HnC,kBAAkB;oBAUzB,sBAAsB;6BAmBb,uBAAuB;qBAW/B,oBAAoB;oBASrB,mBAAmB;sBA3HnB,OAAO,CAAC,kBAAkB,CAAC;6BAYpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBAUlC,MAAM;iBAEf,OAAO;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;0CAIZ,MAAM;iBAEjC,OAAO;wBAAkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;iBAShD,OAAO;uBAAiB,OAAO,EAAE;;8CAQF,MAAM;iBAErC,OAAO;sBAAgB,OAAO;kBAAY,OAAO,EAAE;;EAmG5E"}
|