@sudobility/auctions_contracts 0.1.12 → 0.1.14

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 (84) hide show
  1. package/README.md +86 -0
  2. package/dist/evm/src/evm/evm-auction-client.js +3 -3
  3. package/dist/evm/src/evm/evm-auction-client.js.map +1 -1
  4. package/dist/react-native/evm/evm-auction-client.d.ts +475 -0
  5. package/dist/react-native/evm/evm-auction-client.d.ts.map +1 -0
  6. package/dist/react-native/evm/evm-auction-client.js +606 -0
  7. package/dist/react-native/evm/evm-auction-client.js.map +1 -0
  8. package/dist/react-native/evm/index.d.ts +2 -0
  9. package/dist/react-native/evm/index.d.ts.map +1 -0
  10. package/dist/react-native/evm/index.js +2 -0
  11. package/dist/react-native/evm/index.js.map +1 -0
  12. package/dist/react-native/solana/index.d.ts +3 -0
  13. package/dist/react-native/solana/index.d.ts.map +1 -0
  14. package/dist/react-native/solana/index.js +3 -0
  15. package/dist/react-native/solana/index.js.map +1 -0
  16. package/dist/react-native/solana/solana-auction-client.d.ts +118 -0
  17. package/dist/react-native/solana/solana-auction-client.d.ts.map +1 -0
  18. package/dist/react-native/solana/solana-auction-client.js +604 -0
  19. package/dist/react-native/solana/solana-auction-client.js.map +1 -0
  20. package/dist/react-native/solana/types.d.ts +19 -0
  21. package/dist/react-native/solana/types.d.ts.map +1 -0
  22. package/dist/react-native/solana/types.js +7 -0
  23. package/dist/react-native/solana/types.js.map +1 -0
  24. package/dist/react-native/src/evm/evm-auction-client.js +3 -3
  25. package/dist/react-native/src/evm/evm-auction-client.js.map +1 -1
  26. package/dist/react-native/src/solana/solana-auction-client.d.ts.map +1 -1
  27. package/dist/react-native/src/solana/solana-auction-client.js.map +1 -1
  28. package/dist/react-native/src/unified/onchain-auction-client.d.ts.map +1 -1
  29. package/dist/react-native/src/unified/onchain-auction-client.js +2 -1
  30. package/dist/react-native/src/unified/onchain-auction-client.js.map +1 -1
  31. package/dist/react-native/types/common.d.ts +181 -0
  32. package/dist/react-native/types/common.d.ts.map +1 -0
  33. package/dist/react-native/types/common.js +222 -0
  34. package/dist/react-native/types/common.js.map +1 -0
  35. package/dist/react-native/unified/index.d.ts +3 -0
  36. package/dist/react-native/unified/index.d.ts.map +1 -0
  37. package/dist/react-native/unified/index.js +3 -0
  38. package/dist/react-native/unified/index.js.map +1 -0
  39. package/dist/react-native/unified/onchain-auction-client.d.ts +90 -0
  40. package/dist/react-native/unified/onchain-auction-client.d.ts.map +1 -0
  41. package/dist/react-native/unified/onchain-auction-client.js +206 -0
  42. package/dist/react-native/unified/onchain-auction-client.js.map +1 -0
  43. package/dist/solana/solana/solana-auction-client.d.ts.map +1 -1
  44. package/dist/solana/solana/solana-auction-client.js.map +1 -1
  45. package/dist/unified/evm/evm-auction-client.d.ts +475 -0
  46. package/dist/unified/evm/evm-auction-client.d.ts.map +1 -0
  47. package/dist/unified/evm/evm-auction-client.js +606 -0
  48. package/dist/unified/evm/evm-auction-client.js.map +1 -0
  49. package/dist/unified/evm/index.d.ts +2 -0
  50. package/dist/unified/evm/index.d.ts.map +1 -0
  51. package/dist/unified/evm/index.js +2 -0
  52. package/dist/unified/evm/index.js.map +1 -0
  53. package/dist/unified/solana/index.d.ts +3 -0
  54. package/dist/unified/solana/index.d.ts.map +1 -0
  55. package/dist/unified/solana/index.js +3 -0
  56. package/dist/unified/solana/index.js.map +1 -0
  57. package/dist/unified/solana/solana-auction-client.d.ts +118 -0
  58. package/dist/unified/solana/solana-auction-client.d.ts.map +1 -0
  59. package/dist/unified/solana/solana-auction-client.js +604 -0
  60. package/dist/unified/solana/solana-auction-client.js.map +1 -0
  61. package/dist/unified/solana/types.d.ts +19 -0
  62. package/dist/unified/solana/types.d.ts.map +1 -0
  63. package/dist/unified/solana/types.js +7 -0
  64. package/dist/unified/solana/types.js.map +1 -0
  65. package/dist/unified/src/evm/evm-auction-client.js +3 -3
  66. package/dist/unified/src/evm/evm-auction-client.js.map +1 -1
  67. package/dist/unified/src/solana/solana-auction-client.d.ts.map +1 -1
  68. package/dist/unified/src/solana/solana-auction-client.js.map +1 -1
  69. package/dist/unified/src/unified/onchain-auction-client.d.ts.map +1 -1
  70. package/dist/unified/src/unified/onchain-auction-client.js +2 -1
  71. package/dist/unified/src/unified/onchain-auction-client.js.map +1 -1
  72. package/dist/unified/types/common.d.ts +181 -0
  73. package/dist/unified/types/common.d.ts.map +1 -0
  74. package/dist/unified/types/common.js +222 -0
  75. package/dist/unified/types/common.js.map +1 -0
  76. package/dist/unified/unified/index.d.ts +3 -0
  77. package/dist/unified/unified/index.d.ts.map +1 -0
  78. package/dist/unified/unified/index.js +3 -0
  79. package/dist/unified/unified/index.js.map +1 -0
  80. package/dist/unified/unified/onchain-auction-client.d.ts +90 -0
  81. package/dist/unified/unified/onchain-auction-client.d.ts.map +1 -0
  82. package/dist/unified/unified/onchain-auction-client.js +206 -0
  83. package/dist/unified/unified/onchain-auction-client.js.map +1 -0
  84. package/package.json +3 -1
@@ -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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"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Unified Onchain Auction Client
3
+ * Stateless client that detects chain type and routes to appropriate platform client
4
+ */
5
+ import { ChainType, } from '../types/common.js';
6
+ /**
7
+ * Unified Onchain Auction Client
8
+ * Lazy-loads platform-specific clients to optimize bundle size
9
+ */
10
+ export class OnchainAuctionClient {
11
+ /**
12
+ * Lazy-load EVM client
13
+ */
14
+ async getEVMClient() {
15
+ if (!OnchainAuctionClient.evmClient) {
16
+ const { EVMAuctionClient } = await import('../evm/evm-auction-client.js');
17
+ OnchainAuctionClient.evmClient = new EVMAuctionClient();
18
+ }
19
+ return OnchainAuctionClient.evmClient;
20
+ }
21
+ /**
22
+ * Lazy-load Solana client
23
+ */
24
+ async getSolanaClient() {
25
+ if (!OnchainAuctionClient.solanaClient) {
26
+ const { SolanaAuctionClient } = await import('../solana/solana-auction-client.js');
27
+ OnchainAuctionClient.solanaClient = new SolanaAuctionClient();
28
+ }
29
+ return OnchainAuctionClient.solanaClient;
30
+ }
31
+ /**
32
+ * Detect wallet type
33
+ */
34
+ isEVMWallet(wallet) {
35
+ return 'walletClient' in wallet && 'publicClient' in wallet;
36
+ }
37
+ /**
38
+ * Detect chain type from ChainInfo
39
+ */
40
+ isEVMChain(chainInfo) {
41
+ return ('chainType' in chainInfo &&
42
+ chainInfo.chainType === ChainType.EVM);
43
+ }
44
+ // ============ Read Methods ============
45
+ /**
46
+ * Get auction details
47
+ */
48
+ async getAuction(chainInfo, auctionId, publicClientOrConnection) {
49
+ if (this.isEVMChain(chainInfo)) {
50
+ const client = await this.getEVMClient();
51
+ return client.getAuction(publicClientOrConnection, chainInfo, auctionId);
52
+ }
53
+ else {
54
+ const client = await this.getSolanaClient();
55
+ return client.getAuction(publicClientOrConnection, chainInfo, auctionId);
56
+ }
57
+ }
58
+ /**
59
+ * Get Traditional auction parameters
60
+ */
61
+ async getTraditionalParams(chainInfo, auctionId, publicClientOrConnection) {
62
+ if (this.isEVMChain(chainInfo)) {
63
+ const client = await this.getEVMClient();
64
+ return client.getTraditionalParams(publicClientOrConnection, chainInfo, auctionId);
65
+ }
66
+ else {
67
+ throw new Error('Solana not yet implemented');
68
+ }
69
+ }
70
+ /**
71
+ * Get Dutch auction parameters
72
+ */
73
+ async getDutchParams(chainInfo, auctionId, publicClientOrConnection) {
74
+ if (this.isEVMChain(chainInfo)) {
75
+ const client = await this.getEVMClient();
76
+ return client.getDutchParams(publicClientOrConnection, chainInfo, auctionId);
77
+ }
78
+ else {
79
+ throw new Error('Solana not yet implemented');
80
+ }
81
+ }
82
+ /**
83
+ * Get current Dutch auction price
84
+ */
85
+ async getDutchCurrentPrice(chainInfo, auctionId, publicClientOrConnection) {
86
+ if (this.isEVMChain(chainInfo)) {
87
+ const client = await this.getEVMClient();
88
+ return client.getDutchCurrentPrice(publicClientOrConnection, chainInfo, auctionId);
89
+ }
90
+ else {
91
+ throw new Error('Solana not yet implemented');
92
+ }
93
+ }
94
+ /**
95
+ * Get Penny auction parameters
96
+ */
97
+ async getPennyParams(chainInfo, auctionId, publicClientOrConnection) {
98
+ if (this.isEVMChain(chainInfo)) {
99
+ const client = await this.getEVMClient();
100
+ return client.getPennyParams(publicClientOrConnection, chainInfo, auctionId);
101
+ }
102
+ else {
103
+ throw new Error('Solana not yet implemented');
104
+ }
105
+ }
106
+ // ============ Write Methods ============
107
+ /**
108
+ * Create a Traditional auction
109
+ */
110
+ async createTraditionalAuction(wallet, chainInfo, params) {
111
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
112
+ const client = await this.getEVMClient();
113
+ return client.createTraditionalAuction(wallet, chainInfo, params);
114
+ }
115
+ else {
116
+ throw new Error('Solana not yet implemented');
117
+ }
118
+ }
119
+ /**
120
+ * Create a Dutch auction
121
+ */
122
+ async createDutchAuction(wallet, chainInfo, params) {
123
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
124
+ const client = await this.getEVMClient();
125
+ return client.createDutchAuction(wallet, chainInfo, params);
126
+ }
127
+ else {
128
+ throw new Error('Solana not yet implemented');
129
+ }
130
+ }
131
+ /**
132
+ * Create a Penny auction
133
+ */
134
+ async createPennyAuction(wallet, chainInfo, params) {
135
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
136
+ const client = await this.getEVMClient();
137
+ return client.createPennyAuction(wallet, chainInfo, params);
138
+ }
139
+ else {
140
+ throw new Error('Solana not yet implemented');
141
+ }
142
+ }
143
+ /**
144
+ * Place a bid on a Traditional auction
145
+ */
146
+ async bidTraditional(wallet, chainInfo, auctionId, amount) {
147
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
148
+ const client = await this.getEVMClient();
149
+ return client.bidTraditional(wallet, chainInfo, auctionId, amount);
150
+ }
151
+ else {
152
+ throw new Error('Solana not yet implemented');
153
+ }
154
+ }
155
+ /**
156
+ * Buy at current price in a Dutch auction
157
+ */
158
+ async buyDutch(wallet, chainInfo, auctionId) {
159
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
160
+ const client = await this.getEVMClient();
161
+ return client.buyDutch(wallet, chainInfo, auctionId);
162
+ }
163
+ else {
164
+ throw new Error('Solana not yet implemented');
165
+ }
166
+ }
167
+ /**
168
+ * Place a bid on a Penny auction
169
+ */
170
+ async bidPenny(wallet, chainInfo, auctionId) {
171
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
172
+ const client = await this.getEVMClient();
173
+ return client.bidPenny(wallet, chainInfo, auctionId);
174
+ }
175
+ else {
176
+ throw new Error('Solana not yet implemented');
177
+ }
178
+ }
179
+ /**
180
+ * Finalize an auction
181
+ */
182
+ async finalizeAuction(wallet, chainInfo, auctionId) {
183
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
184
+ const client = await this.getEVMClient();
185
+ return client.finalizeAuction(wallet, chainInfo, auctionId);
186
+ }
187
+ else {
188
+ throw new Error('Solana not yet implemented');
189
+ }
190
+ }
191
+ /**
192
+ * Dealer accepts bid below reserve (Traditional only)
193
+ */
194
+ async dealerAcceptBid(wallet, chainInfo, auctionId) {
195
+ if (this.isEVMWallet(wallet) && this.isEVMChain(chainInfo)) {
196
+ const client = await this.getEVMClient();
197
+ return client.dealerAcceptBid(wallet, chainInfo, auctionId);
198
+ }
199
+ else {
200
+ throw new Error('Solana not yet implemented');
201
+ }
202
+ }
203
+ }
204
+ OnchainAuctionClient.evmClient = null;
205
+ OnchainAuctionClient.solanaClient = null;
206
+ //# sourceMappingURL=onchain-auction-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onchain-auction-client.js","sourceRoot":"","sources":["../../../src/unified/onchain-auction-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/auctions_contracts",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "main": "dist/unified/src/unified/index.js",
6
6
  "types": "dist/unified/src/unified/index.d.ts",
@@ -177,6 +177,8 @@
177
177
  "chai": "^4.5.0",
178
178
  "dotenv": "^17.2.3",
179
179
  "eslint": "^9.19.0",
180
+ "eslint-config-prettier": "^10.1.8",
181
+ "eslint-plugin-prettier": "^5.5.5",
180
182
  "ethers": "^6.16.0",
181
183
  "hardhat": "^2.26.3",
182
184
  "hardhat-gas-reporter": "^2.2.0",