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.
Files changed (70) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +21 -21
  3. package/README.md +225 -113
  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 +230 -0
  18. package/dist/cjs/solana/auction.d.ts.map +1 -0
  19. package/dist/cjs/solana/auction.js +546 -0
  20. package/dist/cjs/solana/auction.js.map +1 -0
  21. package/dist/cjs/solana/client.d.ts +100 -0
  22. package/dist/cjs/solana/client.d.ts.map +1 -0
  23. package/dist/cjs/solana/client.js +368 -0
  24. package/dist/cjs/solana/client.js.map +1 -0
  25. package/dist/cjs/solana/escrow.d.ts +193 -0
  26. package/dist/cjs/solana/escrow.d.ts.map +1 -0
  27. package/dist/cjs/solana/escrow.js +463 -0
  28. package/dist/cjs/solana/escrow.js.map +1 -0
  29. package/dist/cjs/solana/index.d.ts +9 -0
  30. package/dist/cjs/solana/index.d.ts.map +1 -0
  31. package/dist/cjs/solana/index.js +35 -0
  32. package/dist/cjs/solana/index.js.map +1 -0
  33. package/dist/cjs/solana/registry.d.ts +112 -0
  34. package/dist/cjs/solana/registry.d.ts.map +1 -0
  35. package/dist/cjs/solana/registry.js +305 -0
  36. package/dist/cjs/solana/registry.js.map +1 -0
  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 +230 -0
  51. package/dist/esm/solana/auction.d.ts.map +1 -0
  52. package/dist/esm/solana/auction.js +523 -0
  53. package/dist/esm/solana/auction.js.map +1 -0
  54. package/dist/esm/solana/client.d.ts +100 -0
  55. package/dist/esm/solana/client.d.ts.map +1 -0
  56. package/dist/esm/solana/client.js +361 -0
  57. package/dist/esm/solana/client.js.map +1 -0
  58. package/dist/esm/solana/escrow.d.ts +193 -0
  59. package/dist/esm/solana/escrow.d.ts.map +1 -0
  60. package/dist/esm/solana/escrow.js +444 -0
  61. package/dist/esm/solana/escrow.js.map +1 -0
  62. package/dist/esm/solana/index.d.ts +9 -0
  63. package/dist/esm/solana/index.d.ts.map +1 -0
  64. package/dist/esm/solana/index.js +9 -0
  65. package/dist/esm/solana/index.js.map +1 -0
  66. package/dist/esm/solana/registry.d.ts +112 -0
  67. package/dist/esm/solana/registry.d.ts.map +1 -0
  68. package/dist/esm/solana/registry.js +289 -0
  69. package/dist/esm/solana/registry.js.map +1 -0
  70. package/package.json +82 -55
package/dist/cjs/index.js CHANGED
@@ -14,8 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SERVICE_ESCROW_STATES = exports.serviceEscrowAbi = exports.AUCTION_STATES = exports.VEILIO_SERVICES_CONTRACT_ADDRESS = exports.VEILIO_CONTRACT_ADDRESS = exports.VEILIO_CHAIN_ID = exports.VEILIO_DEPLOYMENTS = void 0;
17
+ exports.SERVICE_ESCROW_STATES = exports.serviceEscrowAbi = exports.AUCTION_STATES = exports.veilAuctionAbi = exports.VEILIO_SUPPORTED_CHAIN_IDS = exports.VEILIO_SERVICES_CONTRACT_ADDRESS = exports.VEILIO_CONTRACT_ADDRESS = exports.VEILIO_CHAIN_ID = exports.VEILIO_DEPLOYMENTS = void 0;
18
18
  exports.withSafeReadRetry = withSafeReadRetry;
19
+ exports.assertVeilioChainId = assertVeilioChainId;
20
+ exports.getVeilioDeployment = getVeilioDeployment;
19
21
  exports.formatServiceOrderId = formatServiceOrderId;
20
22
  exports.createVeilioServicesClient = createVeilioServicesClient;
21
23
  exports.createVeilioAgent = createVeilioAgent;
@@ -26,6 +28,7 @@ __exportStar(require("./errors.js"), exports);
26
28
  var deployments_js_2 = require("./deployments.js");
27
29
  Object.defineProperty(exports, "VEILIO_DEPLOYMENTS", { enumerable: true, get: function () { return deployments_js_2.VEILIO_DEPLOYMENTS; } });
28
30
  __exportStar(require("./auth.js"), exports);
31
+ __exportStar(require("./servicesApi.js"), exports);
29
32
  /**
30
33
  * Safely executes an idempotent read operation with bounded exponential backoff.
31
34
  * NOTE: Never used on state-changing transactions to prevent duplicate submissions.
@@ -53,22 +56,64 @@ async function withSafeReadRetry(fn, options = {}) {
53
56
  // ============================================================================
54
57
  // Core Constants & Network Configuration
55
58
  // ============================================================================
59
+ /** Default EVM chain (BNB Smart Chain Testnet). Pass `chainId: 84532` for Base Sepolia. */
56
60
  exports.VEILIO_CHAIN_ID = deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet.chainId;
57
61
  exports.VEILIO_CONTRACT_ADDRESS = deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet.auction;
58
62
  /** Default VeilServiceEscrow on BNB Smart Chain Testnet. Override with `contractAddress`. */
59
63
  exports.VEILIO_SERVICES_CONTRACT_ADDRESS = deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet.serviceEscrow;
64
+ /** EVM chains VEILIO is deployed on: BNB Smart Chain Testnet (97) and Base Sepolia (84532). */
65
+ exports.VEILIO_SUPPORTED_CHAIN_IDS = [
66
+ deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet.chainId,
67
+ deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.chainId,
68
+ ];
69
+ function chainLabel(chainId) {
70
+ return chainId === deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.chainId ? 'Base Sepolia' : 'BNB Chain testnet';
71
+ }
72
+ /** Validates a chain ID and returns it typed as a supported VEILIO EVM chain. */
73
+ function assertVeilioChainId(chainId, product = 'VEILIO') {
74
+ if (chainId !== deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet.chainId && chainId !== deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.chainId) {
75
+ throw new errors_js_1.VeilioSdkError({
76
+ code: 'CHAIN_MISMATCH',
77
+ message: `Invalid chain ID ${chainId}. ${product} operates on BNB Chain (chain ID ${exports.VEILIO_CHAIN_ID}) or Base Sepolia (chain ID 84532).`,
78
+ });
79
+ }
80
+ return chainId;
81
+ }
82
+ /** Default deployed addresses for a supported EVM chain. */
83
+ function getVeilioDeployment(chainId) {
84
+ const id = assertVeilioChainId(chainId);
85
+ return id === deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.chainId ? deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia : deployments_js_1.VEILIO_DEPLOYMENTS.bnbTestnet;
86
+ }
87
+ /** Throws CHAIN_MISMATCH when the wallet is connected to a different chain than the client targets. */
88
+ function assertWalletOnChain(walletClient, targetChainId) {
89
+ if (walletClient?.chain && walletClient.chain.id !== targetChainId) {
90
+ throw new errors_js_1.VeilioSdkError({
91
+ code: 'CHAIN_MISMATCH',
92
+ message: `Connected wallet chain ID (${walletClient.chain.id}) does not match required ${chainLabel(targetChainId)} (${targetChainId}).`,
93
+ context: { walletChainId: walletClient.chain.id, targetChainId },
94
+ });
95
+ }
96
+ }
60
97
  // ============================================================================
61
98
  // Auction & Asset Marketplace ABI & Types (Preserved for 100% Backward Compatibility)
62
99
  // ============================================================================
63
- const abi = (0, viem_1.parseAbi)([
100
+ /** Subset of the deployed VeilNFTV4 auction ABI (BNB testnet + Base Sepolia) used by the agent. */
101
+ exports.veilAuctionAbi = (0, viem_1.parseAbi)([
64
102
  'function auctionCount() view returns (uint256)',
65
103
  '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)',
66
104
  'function getAuctionState(uint256 auctionId) view returns (uint8)',
67
105
  'function commitments(uint256 auctionId, address bidder) view returns (bytes32 commitment, uint256 deposit, bool revealed, uint256 maxBid)',
106
+ 'function nftAssets(uint256 auctionId) view returns (uint8 standard, address tokenContract, uint256 tokenId, uint256 amount, bool escrowed, bool delivered)',
107
+ 'function pendingRefunds(address account) view returns (uint256)',
68
108
  'function commitBid(uint256 auctionId, bytes32 commitment) payable',
69
109
  'function revealBid(uint256 auctionId, uint256 maxBid, bytes32 secret)',
110
+ 'function settleAuction(uint256 auctionId)',
70
111
  'function acceptDataset(uint256 auctionId)',
112
+ 'function finalizeSettlement(uint256 auctionId)',
113
+ 'function requestRefund(uint256 auctionId, string evidenceHash)',
114
+ 'function withdrawRefund()',
71
115
  ]);
116
+ const abi = exports.veilAuctionAbi;
72
117
  exports.AUCTION_STATES = [
73
118
  'Created',
74
119
  'Bidding',
@@ -131,13 +176,7 @@ function serviceStateName(value) {
131
176
  // Dedicated Services Escrow Client Factory
132
177
  // ============================================================================
133
178
  function createVeilioServicesClient(options) {
134
- const targetChainId = options.chainId ?? exports.VEILIO_CHAIN_ID;
135
- if (targetChainId !== exports.VEILIO_CHAIN_ID && targetChainId !== 84532) {
136
- throw new errors_js_1.VeilioSdkError({
137
- code: 'CHAIN_MISMATCH',
138
- message: `Invalid chain ID ${targetChainId}. VEILIO Services operates on BNB Chain (chain ID ${exports.VEILIO_CHAIN_ID}) or Base Sepolia (chain ID 84532).`,
139
- });
140
- }
179
+ const targetChainId = assertVeilioChainId(options.chainId ?? exports.VEILIO_CHAIN_ID, 'VEILIO Services');
141
180
  const defaultContractAddress = targetChainId === deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.chainId
142
181
  ? deployments_js_1.VEILIO_DEPLOYMENTS.baseSepolia.serviceEscrow
143
182
  : exports.VEILIO_SERVICES_CONTRACT_ADDRESS;
@@ -174,13 +213,7 @@ function createVeilioServicesClient(options) {
174
213
  return acc;
175
214
  }
176
215
  function assertWalletChain(walletClient) {
177
- if (walletClient?.chain && walletClient.chain.id !== targetChainId) {
178
- const requiredName = targetChainId === 84532 ? 'Base Sepolia' : 'BNB Chain testnet';
179
- throw new errors_js_1.VeilioSdkError({
180
- code: 'CHAIN_MISMATCH',
181
- message: `Connected wallet chain ID (${walletClient.chain.id}) does not match required ${requiredName} (${targetChainId}).`,
182
- });
183
- }
216
+ assertWalletOnChain(walletClient, targetChainId);
184
217
  }
185
218
  function makeTxResult(txHash) {
186
219
  return {
@@ -462,9 +495,13 @@ function stateName(value) {
462
495
  return state;
463
496
  }
464
497
  function createVeilioAgent(options) {
465
- const address = options.contractAddress ?? exports.VEILIO_CONTRACT_ADDRESS;
498
+ const targetChainId = assertVeilioChainId(options.chainId ?? exports.VEILIO_CHAIN_ID, 'VEILIO auctions');
499
+ const address = options.contractAddress ?? getVeilioDeployment(targetChainId).auction;
500
+ if (!(0, viem_1.isAddress)(address)) {
501
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_CONFIG', message: 'Auction contractAddress is not a valid EVM address.' });
502
+ }
466
503
  const apiBase = (options.apiBaseUrl || '').replace(/\/$/, '');
467
- // Dedicated Services escrow client instance attached to the agent (if configured or provided)
504
+ // Dedicated Services escrow client instance attached to the agent (same chain as the auction agent)
468
505
  let servicesClientInstance;
469
506
  try {
470
507
  servicesClientInstance = createVeilioServicesClient({
@@ -472,7 +509,7 @@ function createVeilioAgent(options) {
472
509
  walletClient: options.walletClient,
473
510
  account: options.account,
474
511
  contractAddress: options.servicesContractAddress,
475
- chainId: exports.VEILIO_CHAIN_ID,
512
+ chainId: targetChainId,
476
513
  });
477
514
  }
478
515
  catch {
@@ -628,22 +665,46 @@ function createVeilioAgent(options) {
628
665
  maxBidWei: maxBidWei.toString(),
629
666
  secret,
630
667
  commitment,
631
- chainId: exports.VEILIO_CHAIN_ID,
668
+ chainId: targetChainId,
632
669
  contractAddress: address,
633
670
  };
634
671
  }
635
- async function commitBid(prepared, depositAmount) {
672
+ function requireWallet() {
636
673
  const walletClient = options.walletClient;
637
674
  if (!walletClient) {
638
675
  throw new errors_js_1.VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A walletClient is required to submit transactions.' });
639
676
  }
640
- if (prepared.chainId !== exports.VEILIO_CHAIN_ID ||
677
+ assertWalletOnChain(walletClient, targetChainId);
678
+ return walletClient;
679
+ }
680
+ function assertPreparedBidTarget(prepared) {
681
+ if (prepared.chainId !== targetChainId ||
641
682
  prepared.contractAddress.toLowerCase() !== address.toLowerCase()) {
642
- throw new errors_js_1.VeilioSdkError({ code: 'CHAIN_MISMATCH', message: 'Prepared bid belongs to a different chain or contract.' });
683
+ throw new errors_js_1.VeilioSdkError({
684
+ code: 'CHAIN_MISMATCH',
685
+ message: 'Prepared bid belongs to a different chain or contract.',
686
+ context: { preparedChainId: prepared.chainId, targetChainId },
687
+ });
643
688
  }
644
689
  if (prepared.bidder.toLowerCase() !== getAccount(options).toLowerCase()) {
645
690
  throw new errors_js_1.VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Prepared bid wallet does not match the connected agent wallet.' });
646
691
  }
692
+ }
693
+ async function write(walletClient, functionName, args, value) {
694
+ return walletClient.writeContract({
695
+ address,
696
+ abi,
697
+ functionName,
698
+ args,
699
+ value,
700
+ account: walletClient.account ?? getAccount(options),
701
+ chain: walletClient.chain ?? undefined,
702
+ });
703
+ }
704
+ const nowSeconds = () => BigInt(Math.floor(Date.now() / 1000));
705
+ async function commitBid(prepared, depositAmount) {
706
+ const walletClient = requireWallet();
707
+ assertPreparedBidTarget(prepared);
647
708
  const depositWei = (0, viem_1.parseEther)(String(depositAmount));
648
709
  const auction = await getAuction(prepared.auctionId);
649
710
  if (auction.state !== 'Bidding') {
@@ -664,31 +725,19 @@ function createVeilioAgent(options) {
664
725
  if (commitment[0] !== `0x${'0'.repeat(64)}`) {
665
726
  throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'This wallet already committed to this auction.' });
666
727
  }
667
- return walletClient.writeContract({
668
- address,
669
- abi,
670
- functionName: 'commitBid',
671
- args: [BigInt(prepared.auctionId), prepared.commitment],
672
- value: depositWei,
673
- account: walletClient.account ?? getAccount(options),
674
- chain: walletClient.chain ?? undefined,
675
- });
728
+ return write(walletClient, 'commitBid', [BigInt(prepared.auctionId), prepared.commitment], depositWei);
676
729
  }
677
730
  async function revealBid(prepared) {
678
- const walletClient = options.walletClient;
679
- if (!walletClient) {
680
- throw new errors_js_1.VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A walletClient is required to submit transactions.' });
681
- }
682
- if (prepared.chainId !== exports.VEILIO_CHAIN_ID ||
683
- prepared.contractAddress.toLowerCase() !== address.toLowerCase()) {
684
- throw new errors_js_1.VeilioSdkError({ code: 'CHAIN_MISMATCH', message: 'Prepared bid belongs to a different chain or contract.' });
685
- }
686
- if (prepared.bidder.toLowerCase() !== getAccount(options).toLowerCase()) {
687
- throw new errors_js_1.VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Prepared bid wallet does not match the connected agent wallet.' });
688
- }
731
+ const walletClient = requireWallet();
732
+ assertPreparedBidTarget(prepared);
689
733
  const auction = await getAuction(prepared.auctionId);
690
- if (auction.state !== 'Revealing') {
691
- throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; it is not accepting reveals.` });
734
+ if (auction.state !== 'Revealing' || nowSeconds() >= auction.revealEndTime) {
735
+ throw new errors_js_1.VeilioSdkError({
736
+ code: 'INVALID_INPUT',
737
+ message: auction.state === 'Revealing'
738
+ ? 'Reveal phase has ended; the auction is waiting for settleAuction().'
739
+ : `Auction is ${auction.state}; it is not accepting reveals.`,
740
+ });
692
741
  }
693
742
  const commitment = await options.publicClient.readContract({
694
743
  address,
@@ -706,14 +755,7 @@ function createVeilioAgent(options) {
706
755
  if (expected !== prepared.commitment) {
707
756
  throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'Prepared bid secret does not match its commitment.' });
708
757
  }
709
- return walletClient.writeContract({
710
- address,
711
- abi,
712
- functionName: 'revealBid',
713
- args: [BigInt(prepared.auctionId), BigInt(prepared.maxBidWei), prepared.secret],
714
- account: walletClient.account ?? getAccount(options),
715
- chain: walletClient.chain ?? undefined,
716
- });
758
+ return write(walletClient, 'revealBid', [BigInt(prepared.auctionId), BigInt(prepared.maxBidWei), prepared.secret]);
717
759
  }
718
760
  async function getAuctionResult(auctionId) {
719
761
  const auction = await getAuction(auctionId);
@@ -721,26 +763,136 @@ function createVeilioAgent(options) {
721
763
  const isWinner = auction.highestBidder.toLowerCase() === agentAddress;
722
764
  return {
723
765
  auctionId: String(auctionId),
766
+ chainId: targetChainId,
724
767
  state: auction.state,
725
768
  isWinner,
726
769
  highestBidder: auction.highestBidder,
770
+ /** Native-token amount (BNB on chain 97, ETH on Base Sepolia). */
771
+ winningBid: (0, viem_1.formatEther)(auction.highestBidWei),
772
+ /** @deprecated Use `winningBid`; kept for 0.2.x compatibility (also set on Base Sepolia). */
727
773
  winningBidBnb: (0, viem_1.formatEther)(auction.highestBidWei),
728
774
  };
729
775
  }
776
+ /** True when the auction escrows an ERC-721/ERC-1155 token (VeilNFTV4 `nftAssets.standard != None`). */
777
+ async function isNftAuction(auctionId) {
778
+ const asset = await options.publicClient.readContract({
779
+ address,
780
+ abi,
781
+ functionName: 'nftAssets',
782
+ args: [BigInt(auctionId)],
783
+ });
784
+ return Number(asset[0]) !== 0;
785
+ }
786
+ /**
787
+ * Moves an auction out of the reveal phase once `revealEndTime` has passed. Anyone can call it.
788
+ * With a winner the auction enters Inspection; without one, deposits become withdrawable
789
+ * (`withdrawRefund`) and an escrowed NFT returns to the seller.
790
+ */
791
+ async function settleAuction(auctionId) {
792
+ const walletClient = requireWallet();
793
+ const auction = await getAuction(auctionId);
794
+ if (auction.state !== 'Revealing') {
795
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; only an auction past its reveal phase can be settled.` });
796
+ }
797
+ if (nowSeconds() < auction.revealEndTime) {
798
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'Reveal phase has not finished yet.', context: { revealEndTime: auction.revealEndTime.toString() } });
799
+ }
800
+ return write(walletClient, 'settleAuction', [BigInt(auctionId)]);
801
+ }
802
+ /**
803
+ * Winner accepts a dataset auction during inspection (`acceptDataset`), paying the seller.
804
+ * NFT auctions cannot be accepted: VeilNFTV4 delivers the token automatically through
805
+ * `finalizeSettlement` after inspection ends, so this throws for NFT auctions.
806
+ */
730
807
  async function claimAsset(auctionId) {
731
- const walletClient = options.walletClient;
732
- if (!walletClient) {
733
- throw new errors_js_1.VeilioSdkError({ code: 'WALLET_REQUIRED', message: 'A walletClient is required to submit transactions.' });
808
+ const walletClient = requireWallet();
809
+ if (await isNftAuction(auctionId)) {
810
+ throw new errors_js_1.VeilioSdkError({
811
+ code: 'INVALID_INPUT',
812
+ message: 'NFT auctions are completed with finalizeSettlement() after the inspection period ends; acceptDataset is blocked for NFTs.',
813
+ });
734
814
  }
735
- return walletClient.writeContract({
815
+ const auction = await getAuction(auctionId);
816
+ if (auction.state !== 'Inspection') {
817
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; acceptDataset requires Inspection.` });
818
+ }
819
+ if (auction.highestBidder.toLowerCase() !== getAccount(options).toLowerCase()) {
820
+ throw new errors_js_1.VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Only the winning bidder can accept the asset.' });
821
+ }
822
+ return write(walletClient, 'acceptDataset', [BigInt(auctionId)]);
823
+ }
824
+ /**
825
+ * Completes an auction once the inspection period has ended without a refund request:
826
+ * pays the seller (minus the 10% platform fee, credited as pull payments) and, for NFT
827
+ * auctions, delivers the escrowed token to the winner. Anyone can call it.
828
+ * This is the required completion path for NFT auctions.
829
+ */
830
+ async function finalizeSettlement(auctionId) {
831
+ const walletClient = requireWallet();
832
+ const auction = await getAuction(auctionId);
833
+ if (auction.state !== 'Inspection') {
834
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: `Auction is ${auction.state}; finalizeSettlement requires Inspection.` });
835
+ }
836
+ if (nowSeconds() <= auction.inspectionEndTime) {
837
+ throw new errors_js_1.VeilioSdkError({
838
+ code: 'INVALID_INPUT',
839
+ message: 'Inspection period has not ended yet.',
840
+ context: { inspectionEndTime: auction.inspectionEndTime.toString() },
841
+ });
842
+ }
843
+ return write(walletClient, 'finalizeSettlement', [BigInt(auctionId)]);
844
+ }
845
+ /**
846
+ * Winner disputes the asset during inspection. `evidenceHash` is stored on-chain (e.g. an IPFS CID
847
+ * or sha256 of your evidence bundle); the platform reviewer then resolves the request.
848
+ * Note: on the deployed EVM contracts a refund request has no timeout, so funds stay locked until
849
+ * the reviewer acts.
850
+ */
851
+ async function requestRefund(auctionId, evidenceHash) {
852
+ const walletClient = requireWallet();
853
+ const evidence = String(evidenceHash ?? '').trim();
854
+ if (!evidence) {
855
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'evidenceHash is required to request a refund.' });
856
+ }
857
+ const auction = await getAuction(auctionId);
858
+ if (auction.state !== 'Inspection' || nowSeconds() > auction.inspectionEndTime) {
859
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'Refunds can only be requested during the inspection period.' });
860
+ }
861
+ if (auction.highestBidder.toLowerCase() !== getAccount(options).toLowerCase()) {
862
+ throw new errors_js_1.VeilioSdkError({ code: 'UNAUTHORIZED', message: 'Only the winning bidder can request a refund.' });
863
+ }
864
+ return write(walletClient, 'requestRefund', [BigInt(auctionId), evidence]);
865
+ }
866
+ /** Pull-payment balance credited to `account` (losing deposits, over-deposits, seller proceeds, approved refunds). */
867
+ async function getPendingRefund(account) {
868
+ return options.publicClient.readContract({
736
869
  address,
737
870
  abi,
738
- functionName: 'acceptDataset',
739
- args: [BigInt(auctionId)],
740
- account: walletClient.account ?? getAccount(options),
741
- chain: walletClient.chain ?? undefined,
871
+ functionName: 'pendingRefunds',
872
+ args: [account ?? getAccount(options)],
742
873
  });
743
874
  }
875
+ /** Withdraws the caller's whole `pendingRefunds` balance (all auctions at once). */
876
+ async function withdrawRefund() {
877
+ const walletClient = requireWallet();
878
+ const pending = await getPendingRefund();
879
+ if (pending <= 0n) {
880
+ throw new errors_js_1.VeilioSdkError({ code: 'INVALID_INPUT', message: 'No pending refund to withdraw for this wallet.' });
881
+ }
882
+ return write(walletClient, 'withdrawRefund', []);
883
+ }
884
+ /** Waits for a transaction returned by this agent and throws TRANSACTION_REVERTED on failure. */
885
+ async function waitForTransaction(hash) {
886
+ const receipt = await options.publicClient.waitForTransactionReceipt({ hash });
887
+ if (receipt.status === 'reverted') {
888
+ throw new errors_js_1.VeilioSdkError({
889
+ code: 'TRANSACTION_REVERTED',
890
+ message: `Transaction ${hash} reverted on-chain.`,
891
+ context: { txHash: hash, status: receipt.status },
892
+ });
893
+ }
894
+ return receipt;
895
+ }
744
896
  async function getLicense(auctionId) {
745
897
  const details = await getAssetDetails(auctionId);
746
898
  return {
@@ -752,7 +904,7 @@ function createVeilioAgent(options) {
752
904
  }
753
905
  return {
754
906
  address,
755
- chainId: exports.VEILIO_CHAIN_ID,
907
+ chainId: targetChainId,
756
908
  getAuction,
757
909
  listAuctions,
758
910
  searchAssets,
@@ -762,7 +914,14 @@ function createVeilioAgent(options) {
762
914
  commitBid,
763
915
  revealBid,
764
916
  getAuctionResult,
917
+ isNftAuction,
918
+ settleAuction,
765
919
  claimAsset,
920
+ finalizeSettlement,
921
+ requestRefund,
922
+ getPendingRefund,
923
+ withdrawRefund,
924
+ waitForTransaction,
766
925
  getLicense,
767
926
  services: servicesClientInstance,
768
927
  };
@@ -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"}