@sudobility/auctions_contracts 0.1.12 → 0.1.13

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 (66) hide show
  1. package/README.md +86 -0
  2. package/dist/react-native/evm/evm-auction-client.d.ts +475 -0
  3. package/dist/react-native/evm/evm-auction-client.d.ts.map +1 -0
  4. package/dist/react-native/evm/evm-auction-client.js +606 -0
  5. package/dist/react-native/evm/evm-auction-client.js.map +1 -0
  6. package/dist/react-native/evm/index.d.ts +2 -0
  7. package/dist/react-native/evm/index.d.ts.map +1 -0
  8. package/dist/react-native/evm/index.js +2 -0
  9. package/dist/react-native/evm/index.js.map +1 -0
  10. package/dist/react-native/solana/index.d.ts +3 -0
  11. package/dist/react-native/solana/index.d.ts.map +1 -0
  12. package/dist/react-native/solana/index.js +3 -0
  13. package/dist/react-native/solana/index.js.map +1 -0
  14. package/dist/react-native/solana/solana-auction-client.d.ts +118 -0
  15. package/dist/react-native/solana/solana-auction-client.d.ts.map +1 -0
  16. package/dist/react-native/solana/solana-auction-client.js +604 -0
  17. package/dist/react-native/solana/solana-auction-client.js.map +1 -0
  18. package/dist/react-native/solana/types.d.ts +19 -0
  19. package/dist/react-native/solana/types.d.ts.map +1 -0
  20. package/dist/react-native/solana/types.js +7 -0
  21. package/dist/react-native/solana/types.js.map +1 -0
  22. package/dist/react-native/types/common.d.ts +181 -0
  23. package/dist/react-native/types/common.d.ts.map +1 -0
  24. package/dist/react-native/types/common.js +222 -0
  25. package/dist/react-native/types/common.js.map +1 -0
  26. package/dist/react-native/unified/index.d.ts +3 -0
  27. package/dist/react-native/unified/index.d.ts.map +1 -0
  28. package/dist/react-native/unified/index.js +3 -0
  29. package/dist/react-native/unified/index.js.map +1 -0
  30. package/dist/react-native/unified/onchain-auction-client.d.ts +90 -0
  31. package/dist/react-native/unified/onchain-auction-client.d.ts.map +1 -0
  32. package/dist/react-native/unified/onchain-auction-client.js +205 -0
  33. package/dist/react-native/unified/onchain-auction-client.js.map +1 -0
  34. package/dist/unified/evm/evm-auction-client.d.ts +475 -0
  35. package/dist/unified/evm/evm-auction-client.d.ts.map +1 -0
  36. package/dist/unified/evm/evm-auction-client.js +606 -0
  37. package/dist/unified/evm/evm-auction-client.js.map +1 -0
  38. package/dist/unified/evm/index.d.ts +2 -0
  39. package/dist/unified/evm/index.d.ts.map +1 -0
  40. package/dist/unified/evm/index.js +2 -0
  41. package/dist/unified/evm/index.js.map +1 -0
  42. package/dist/unified/solana/index.d.ts +3 -0
  43. package/dist/unified/solana/index.d.ts.map +1 -0
  44. package/dist/unified/solana/index.js +3 -0
  45. package/dist/unified/solana/index.js.map +1 -0
  46. package/dist/unified/solana/solana-auction-client.d.ts +118 -0
  47. package/dist/unified/solana/solana-auction-client.d.ts.map +1 -0
  48. package/dist/unified/solana/solana-auction-client.js +604 -0
  49. package/dist/unified/solana/solana-auction-client.js.map +1 -0
  50. package/dist/unified/solana/types.d.ts +19 -0
  51. package/dist/unified/solana/types.d.ts.map +1 -0
  52. package/dist/unified/solana/types.js +7 -0
  53. package/dist/unified/solana/types.js.map +1 -0
  54. package/dist/unified/types/common.d.ts +181 -0
  55. package/dist/unified/types/common.d.ts.map +1 -0
  56. package/dist/unified/types/common.js +222 -0
  57. package/dist/unified/types/common.js.map +1 -0
  58. package/dist/unified/unified/index.d.ts +3 -0
  59. package/dist/unified/unified/index.d.ts.map +1 -0
  60. package/dist/unified/unified/index.js +3 -0
  61. package/dist/unified/unified/index.js.map +1 -0
  62. package/dist/unified/unified/onchain-auction-client.d.ts +90 -0
  63. package/dist/unified/unified/onchain-auction-client.d.ts.map +1 -0
  64. package/dist/unified/unified/onchain-auction-client.js +205 -0
  65. package/dist/unified/unified/onchain-auction-client.js.map +1 -0
  66. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Solana-specific types for the auction program
3
+ */
4
+ import type { PublicKey } from '@solana/web3.js';
5
+ export interface SolanaWallet {
6
+ publicKey: PublicKey;
7
+ signTransaction: (tx: any) => Promise<any>;
8
+ signAllTransactions: (txs: any[]) => Promise<any[]>;
9
+ }
10
+ export interface SolanaChainInfo {
11
+ rpcUrl: string;
12
+ programId: string;
13
+ }
14
+ export interface SolanaAuctionItem {
15
+ mint: PublicKey;
16
+ isNft: boolean;
17
+ amount: bigint;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/solana/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Solana-specific types for the auction program
3
+ */
4
+ export {};
5
+ // Placeholder for Solana auction client implementation
6
+ // This would be implemented when the Solana program is built
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/solana/types.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAqBH,uDAAuD;AACvD,6DAA6D"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Common types shared across EVM and Solana clients
3
+ */
4
+ export declare enum AuctionType {
5
+ Traditional = 0,
6
+ Dutch = 1,
7
+ Penny = 2
8
+ }
9
+ export declare enum AuctionStatus {
10
+ Active = 0,
11
+ Expired = 1,
12
+ Finalized = 2,
13
+ Refunded = 3
14
+ }
15
+ export declare enum ItemType {
16
+ ERC20 = 0,
17
+ ERC721 = 1,
18
+ ERC1155 = 2
19
+ }
20
+ export interface AuctionItem {
21
+ tokenAddress: string;
22
+ itemType: ItemType;
23
+ tokenId: bigint;
24
+ amount: bigint;
25
+ }
26
+ export interface AuctionCore {
27
+ dealer: string;
28
+ auctionType: AuctionType;
29
+ status: AuctionStatus;
30
+ paymentToken: string;
31
+ deadline: bigint;
32
+ highBidder: string;
33
+ currentBid: bigint;
34
+ createdAt: bigint;
35
+ }
36
+ export interface TraditionalParams {
37
+ startAmount: bigint;
38
+ increment: bigint;
39
+ reservePrice: bigint;
40
+ acceptanceDeadline: bigint;
41
+ reserveMet: boolean;
42
+ }
43
+ export interface DutchParams {
44
+ startPrice: bigint;
45
+ decreaseAmount: bigint;
46
+ decreaseInterval: bigint;
47
+ minimumPrice: bigint;
48
+ startTime: bigint;
49
+ }
50
+ export interface PennyParams {
51
+ incrementAmount: bigint;
52
+ totalPaid: bigint;
53
+ lastBidTime: bigint;
54
+ timerDuration: bigint;
55
+ }
56
+ export interface Auction {
57
+ id: bigint;
58
+ core: AuctionCore;
59
+ items: AuctionItem[];
60
+ params: TraditionalParams | DutchParams | PennyParams;
61
+ }
62
+ export interface CreateTraditionalAuctionParams {
63
+ items: AuctionItem[];
64
+ paymentToken: string;
65
+ startAmount: bigint;
66
+ increment: bigint;
67
+ reservePrice: bigint;
68
+ deadline: bigint;
69
+ }
70
+ export interface CreateDutchAuctionParams {
71
+ items: AuctionItem[];
72
+ paymentToken: string;
73
+ startPrice: bigint;
74
+ decreaseAmount: bigint;
75
+ decreaseInterval: bigint;
76
+ minimumPrice: bigint;
77
+ deadline: bigint;
78
+ }
79
+ export interface CreatePennyAuctionParams {
80
+ items: AuctionItem[];
81
+ paymentToken: string;
82
+ incrementAmount: bigint;
83
+ }
84
+ export interface TransactionResult {
85
+ txHash: string;
86
+ auctionId?: bigint;
87
+ }
88
+ export declare enum ChainType {
89
+ EVM = "evm",
90
+ Solana = "solana"
91
+ }
92
+ export interface ChainInfo {
93
+ chainType: ChainType;
94
+ chainId?: number;
95
+ rpcUrl: string;
96
+ contractAddress: string;
97
+ }
98
+ export declare const PROTOCOL_CONSTANTS: {
99
+ FEE_RATE: bigint;
100
+ FEE_DENOMINATOR: bigint;
101
+ ACCEPTANCE_PERIOD: bigint;
102
+ PENNY_TIMER_DURATION: bigint;
103
+ MAX_FEE_RATE: bigint;
104
+ };
105
+ export declare function calculateFee(amount: bigint, feeRate?: bigint): {
106
+ fee: bigint;
107
+ netAmount: bigint;
108
+ };
109
+ export declare function formatAuctionType(type: AuctionType): string;
110
+ export declare function formatAuctionStatus(status: AuctionStatus): string;
111
+ export declare function formatItemType(type: ItemType): string;
112
+ export interface ValidationResult {
113
+ valid: boolean;
114
+ errors: string[];
115
+ }
116
+ /**
117
+ * Validate Traditional auction parameters
118
+ */
119
+ export declare function validateTraditionalParams(params: {
120
+ startAmount: bigint;
121
+ increment: bigint;
122
+ reservePrice: bigint;
123
+ deadline: bigint;
124
+ }): ValidationResult;
125
+ /**
126
+ * Validate Dutch auction parameters
127
+ */
128
+ export declare function validateDutchParams(params: {
129
+ startPrice: bigint;
130
+ decreaseAmount: bigint;
131
+ decreaseInterval: bigint;
132
+ minimumPrice: bigint;
133
+ deadline: bigint;
134
+ }): ValidationResult;
135
+ /**
136
+ * Validate Penny auction parameters
137
+ */
138
+ export declare function validatePennyParams(params: {
139
+ incrementAmount: bigint;
140
+ timerDuration?: bigint;
141
+ }): ValidationResult;
142
+ /**
143
+ * Validate bid amount for Traditional auction
144
+ */
145
+ export declare function validateTraditionalBid(currentBid: bigint, newBid: bigint, params: TraditionalParams): ValidationResult;
146
+ /**
147
+ * Check if Traditional auction is active
148
+ */
149
+ export declare function isTraditionalAuctionActive(status: AuctionStatus, deadline: bigint): boolean;
150
+ /**
151
+ * Check if Dutch auction is active
152
+ */
153
+ export declare function isDutchAuctionActive(status: AuctionStatus, deadline: bigint): boolean;
154
+ /**
155
+ * Check if Penny auction is active
156
+ */
157
+ export declare function isPennyAuctionActive(status: AuctionStatus, currentDeadline: bigint): boolean;
158
+ /**
159
+ * Calculate current Dutch auction price
160
+ */
161
+ export declare function calculateDutchPrice(params: DutchParams, currentTime?: bigint): bigint;
162
+ /**
163
+ * Calculate time remaining for auction
164
+ */
165
+ export declare function calculateTimeRemaining(deadline: bigint): {
166
+ total: bigint;
167
+ days: bigint;
168
+ hours: bigint;
169
+ minutes: bigint;
170
+ seconds: bigint;
171
+ expired: boolean;
172
+ };
173
+ /**
174
+ * Format amount with decimals
175
+ */
176
+ export declare function formatAmount(amount: bigint, decimals: number): string;
177
+ /**
178
+ * Parse amount string to bigint
179
+ */
180
+ export declare function parseAmount(amount: string, decimals: number): bigint;
181
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Common types shared across EVM and Solana clients
3
+ */
4
+ // ============ Enums ============
5
+ export var AuctionType;
6
+ (function (AuctionType) {
7
+ AuctionType[AuctionType["Traditional"] = 0] = "Traditional";
8
+ AuctionType[AuctionType["Dutch"] = 1] = "Dutch";
9
+ AuctionType[AuctionType["Penny"] = 2] = "Penny";
10
+ })(AuctionType || (AuctionType = {}));
11
+ export var AuctionStatus;
12
+ (function (AuctionStatus) {
13
+ AuctionStatus[AuctionStatus["Active"] = 0] = "Active";
14
+ AuctionStatus[AuctionStatus["Expired"] = 1] = "Expired";
15
+ AuctionStatus[AuctionStatus["Finalized"] = 2] = "Finalized";
16
+ AuctionStatus[AuctionStatus["Refunded"] = 3] = "Refunded";
17
+ })(AuctionStatus || (AuctionStatus = {}));
18
+ export var ItemType;
19
+ (function (ItemType) {
20
+ ItemType[ItemType["ERC20"] = 0] = "ERC20";
21
+ ItemType[ItemType["ERC721"] = 1] = "ERC721";
22
+ ItemType[ItemType["ERC1155"] = 2] = "ERC1155";
23
+ })(ItemType || (ItemType = {}));
24
+ // ============ Chain Info ============
25
+ export var ChainType;
26
+ (function (ChainType) {
27
+ ChainType["EVM"] = "evm";
28
+ ChainType["Solana"] = "solana";
29
+ })(ChainType || (ChainType = {}));
30
+ // ============ Constants ============
31
+ export const PROTOCOL_CONSTANTS = {
32
+ FEE_RATE: 50n, // 0.5% in basis points
33
+ FEE_DENOMINATOR: 10000n,
34
+ ACCEPTANCE_PERIOD: 24n * 60n * 60n, // 24 hours in seconds
35
+ PENNY_TIMER_DURATION: 5n * 60n, // 5 minutes in seconds
36
+ MAX_FEE_RATE: 1000n, // 10% max
37
+ };
38
+ // ============ Utility Functions ============
39
+ export function calculateFee(amount, feeRate = PROTOCOL_CONSTANTS.FEE_RATE) {
40
+ const fee = (amount * feeRate) / PROTOCOL_CONSTANTS.FEE_DENOMINATOR;
41
+ const netAmount = amount - fee;
42
+ return { fee, netAmount };
43
+ }
44
+ export function formatAuctionType(type) {
45
+ switch (type) {
46
+ case AuctionType.Traditional:
47
+ return 'Traditional';
48
+ case AuctionType.Dutch:
49
+ return 'Dutch';
50
+ case AuctionType.Penny:
51
+ return 'Penny';
52
+ default:
53
+ return 'Unknown';
54
+ }
55
+ }
56
+ export function formatAuctionStatus(status) {
57
+ switch (status) {
58
+ case AuctionStatus.Active:
59
+ return 'Active';
60
+ case AuctionStatus.Expired:
61
+ return 'Expired';
62
+ case AuctionStatus.Finalized:
63
+ return 'Finalized';
64
+ case AuctionStatus.Refunded:
65
+ return 'Refunded';
66
+ default:
67
+ return 'Unknown';
68
+ }
69
+ }
70
+ export function formatItemType(type) {
71
+ switch (type) {
72
+ case ItemType.ERC20:
73
+ return 'ERC-20';
74
+ case ItemType.ERC721:
75
+ return 'ERC-721';
76
+ case ItemType.ERC1155:
77
+ return 'ERC-1155';
78
+ default:
79
+ return 'Unknown';
80
+ }
81
+ }
82
+ /**
83
+ * Validate Traditional auction parameters
84
+ */
85
+ export function validateTraditionalParams(params) {
86
+ const errors = [];
87
+ const now = BigInt(Math.floor(Date.now() / 1000));
88
+ if (params.startAmount <= 0n) {
89
+ errors.push('Start amount must be greater than 0');
90
+ }
91
+ if (params.increment <= 0n) {
92
+ errors.push('Increment must be greater than 0');
93
+ }
94
+ if (params.reservePrice < params.startAmount) {
95
+ errors.push('Reserve price must be >= start amount');
96
+ }
97
+ if (params.deadline <= now) {
98
+ errors.push('Deadline must be in the future');
99
+ }
100
+ return { valid: errors.length === 0, errors };
101
+ }
102
+ /**
103
+ * Validate Dutch auction parameters
104
+ */
105
+ export function validateDutchParams(params) {
106
+ const errors = [];
107
+ const now = BigInt(Math.floor(Date.now() / 1000));
108
+ if (params.startPrice <= 0n) {
109
+ errors.push('Start price must be greater than 0');
110
+ }
111
+ if (params.decreaseAmount <= 0n) {
112
+ errors.push('Decrease amount must be greater than 0');
113
+ }
114
+ if (params.decreaseInterval <= 0n) {
115
+ errors.push('Decrease interval must be greater than 0');
116
+ }
117
+ if (params.minimumPrice >= params.startPrice) {
118
+ errors.push('Minimum price must be less than start price');
119
+ }
120
+ if (params.deadline <= now) {
121
+ errors.push('Deadline must be in the future');
122
+ }
123
+ return { valid: errors.length === 0, errors };
124
+ }
125
+ /**
126
+ * Validate Penny auction parameters
127
+ */
128
+ export function validatePennyParams(params) {
129
+ const errors = [];
130
+ if (params.incrementAmount <= 0n) {
131
+ errors.push('Increment amount must be greater than 0');
132
+ }
133
+ if (params.timerDuration !== undefined && params.timerDuration <= 0n) {
134
+ errors.push('Timer duration must be greater than 0');
135
+ }
136
+ return { valid: errors.length === 0, errors };
137
+ }
138
+ /**
139
+ * Validate bid amount for Traditional auction
140
+ */
141
+ export function validateTraditionalBid(currentBid, newBid, params) {
142
+ const errors = [];
143
+ const minBid = currentBid === 0n ? params.startAmount : currentBid + params.increment;
144
+ if (newBid < minBid) {
145
+ errors.push(`Bid must be at least ${minBid.toString()}`);
146
+ }
147
+ return { valid: errors.length === 0, errors };
148
+ }
149
+ /**
150
+ * Check if Traditional auction is active
151
+ */
152
+ export function isTraditionalAuctionActive(status, deadline) {
153
+ const now = BigInt(Math.floor(Date.now() / 1000));
154
+ return status === AuctionStatus.Active && deadline > now;
155
+ }
156
+ /**
157
+ * Check if Dutch auction is active
158
+ */
159
+ export function isDutchAuctionActive(status, deadline) {
160
+ const now = BigInt(Math.floor(Date.now() / 1000));
161
+ return status === AuctionStatus.Active && deadline > now;
162
+ }
163
+ /**
164
+ * Check if Penny auction is active
165
+ */
166
+ export function isPennyAuctionActive(status, currentDeadline) {
167
+ const now = BigInt(Math.floor(Date.now() / 1000));
168
+ // Penny auction is active if no deadline set yet, or deadline not passed
169
+ return status === AuctionStatus.Active && (currentDeadline === 0n || currentDeadline > now);
170
+ }
171
+ /**
172
+ * Calculate current Dutch auction price
173
+ */
174
+ export function calculateDutchPrice(params, currentTime) {
175
+ const now = currentTime ?? BigInt(Math.floor(Date.now() / 1000));
176
+ const elapsed = now - params.startTime;
177
+ if (elapsed <= 0n) {
178
+ return params.startPrice;
179
+ }
180
+ const intervals = elapsed / params.decreaseInterval;
181
+ const decrease = intervals * params.decreaseAmount;
182
+ const currentPrice = params.startPrice - decrease;
183
+ return currentPrice > params.minimumPrice ? currentPrice : params.minimumPrice;
184
+ }
185
+ /**
186
+ * Calculate time remaining for auction
187
+ */
188
+ export function calculateTimeRemaining(deadline) {
189
+ const now = BigInt(Math.floor(Date.now() / 1000));
190
+ const remaining = deadline - now;
191
+ if (remaining <= 0n) {
192
+ return { total: 0n, days: 0n, hours: 0n, minutes: 0n, seconds: 0n, expired: true };
193
+ }
194
+ const days = remaining / 86400n;
195
+ const hours = (remaining % 86400n) / 3600n;
196
+ const minutes = (remaining % 3600n) / 60n;
197
+ const seconds = remaining % 60n;
198
+ return { total: remaining, days, hours, minutes, seconds, expired: false };
199
+ }
200
+ /**
201
+ * Format amount with decimals
202
+ */
203
+ export function formatAmount(amount, decimals) {
204
+ const divisor = BigInt(10 ** decimals);
205
+ const wholePart = amount / divisor;
206
+ const fractionalPart = amount % divisor;
207
+ if (fractionalPart === 0n) {
208
+ return wholePart.toString();
209
+ }
210
+ const fractionalStr = fractionalPart.toString().padStart(decimals, '0');
211
+ const trimmedFractional = fractionalStr.replace(/0+$/, '');
212
+ return `${wholePart}.${trimmedFractional}`;
213
+ }
214
+ /**
215
+ * Parse amount string to bigint
216
+ */
217
+ export function parseAmount(amount, decimals) {
218
+ const [whole, fraction = ''] = amount.split('.');
219
+ const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);
220
+ return BigInt(whole + paddedFraction);
221
+ }
222
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './onchain-auction-client.js';
2
+ export * from '../types/common.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unified/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './onchain-auction-client.js';
2
+ export * from '../types/common.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/unified/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Unified Onchain Auction Client
3
+ * Stateless client that detects chain type and routes to appropriate platform client
4
+ */
5
+ import type { PublicClient } from 'viem';
6
+ import type { Connection } from '@solana/web3.js';
7
+ import { type ChainInfo, type AuctionCore, type AuctionItem, type TraditionalParams, type DutchParams, type PennyParams, type CreateTraditionalAuctionParams, type CreateDutchAuctionParams, type CreatePennyAuctionParams, type TransactionResult } from '../types/common.js';
8
+ import type { EVMWallet } from '../evm/evm-auction-client.js';
9
+ import type { SolanaWallet, SolanaChainInfo } from '../solana/types.js';
10
+ export type UnifiedWallet = EVMWallet | SolanaWallet;
11
+ /**
12
+ * Unified Onchain Auction Client
13
+ * Lazy-loads platform-specific clients to optimize bundle size
14
+ */
15
+ export declare class OnchainAuctionClient {
16
+ private static evmClient;
17
+ private static solanaClient;
18
+ /**
19
+ * Lazy-load EVM client
20
+ */
21
+ private getEVMClient;
22
+ /**
23
+ * Lazy-load Solana client
24
+ */
25
+ private getSolanaClient;
26
+ /**
27
+ * Detect wallet type
28
+ */
29
+ private isEVMWallet;
30
+ /**
31
+ * Detect chain type from ChainInfo
32
+ */
33
+ private isEVMChain;
34
+ /**
35
+ * Get auction details
36
+ */
37
+ getAuction(chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, publicClientOrConnection?: PublicClient | Connection): Promise<{
38
+ core: AuctionCore;
39
+ items: AuctionItem[];
40
+ }>;
41
+ /**
42
+ * Get Traditional auction parameters
43
+ */
44
+ getTraditionalParams(chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, publicClientOrConnection?: PublicClient | Connection): Promise<TraditionalParams>;
45
+ /**
46
+ * Get Dutch auction parameters
47
+ */
48
+ getDutchParams(chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, publicClientOrConnection?: PublicClient | Connection): Promise<DutchParams>;
49
+ /**
50
+ * Get current Dutch auction price
51
+ */
52
+ getDutchCurrentPrice(chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, publicClientOrConnection?: PublicClient | Connection): Promise<bigint>;
53
+ /**
54
+ * Get Penny auction parameters
55
+ */
56
+ getPennyParams(chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, publicClientOrConnection?: PublicClient | Connection): Promise<PennyParams>;
57
+ /**
58
+ * Create a Traditional auction
59
+ */
60
+ createTraditionalAuction(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, params: CreateTraditionalAuctionParams): Promise<TransactionResult>;
61
+ /**
62
+ * Create a Dutch auction
63
+ */
64
+ createDutchAuction(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, params: CreateDutchAuctionParams): Promise<TransactionResult>;
65
+ /**
66
+ * Create a Penny auction
67
+ */
68
+ createPennyAuction(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, params: CreatePennyAuctionParams): Promise<TransactionResult>;
69
+ /**
70
+ * Place a bid on a Traditional auction
71
+ */
72
+ bidTraditional(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array, amount: bigint): Promise<TransactionResult>;
73
+ /**
74
+ * Buy at current price in a Dutch auction
75
+ */
76
+ buyDutch(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array): Promise<TransactionResult>;
77
+ /**
78
+ * Place a bid on a Penny auction
79
+ */
80
+ bidPenny(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array): Promise<TransactionResult>;
81
+ /**
82
+ * Finalize an auction
83
+ */
84
+ finalizeAuction(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array): Promise<TransactionResult>;
85
+ /**
86
+ * Dealer accepts bid below reserve (Traditional only)
87
+ */
88
+ dealerAcceptBid(wallet: UnifiedWallet, chainInfo: ChainInfo | SolanaChainInfo, auctionId: bigint | Uint8Array): Promise<TransactionResult>;
89
+ }
90
+ //# sourceMappingURL=onchain-auction-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onchain-auction-client.d.ts","sourceRoot":"","sources":["../../../src/unified/onchain-auction-client.ts"],"names":[],"mappings":"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"}