@wuwei-labs/srsly 2.0.0-beta.5 → 2.0.0-beta.7
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/README.md +229 -5
- package/dist/cjs/codama/devnet/accounts/contractState.js +2 -7
- package/dist/cjs/codama/devnet/accounts/contractState.js.map +1 -1
- package/dist/cjs/codama/devnet/accounts/rentalState.js +3 -1
- package/dist/cjs/codama/devnet/accounts/rentalState.js.map +1 -1
- package/dist/cjs/codama/devnet/constants.js +1 -1
- package/dist/cjs/codama/devnet/errors/srsly.js +4 -1
- package/dist/cjs/codama/devnet/errors/srsly.js.map +1 -1
- package/dist/cjs/codama/devnet/instructions/acceptRental.js +17 -23
- package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/codama/devnet/instructions/closeContract.js +28 -1
- package/dist/cjs/codama/devnet/instructions/closeContract.js.map +1 -1
- package/dist/cjs/codama/devnet/instructions/closeRental.js +28 -1
- package/dist/cjs/codama/devnet/instructions/closeRental.js.map +1 -1
- package/dist/cjs/codama/devnet/instructions/index.js +0 -1
- package/dist/cjs/codama/devnet/instructions/index.js.map +1 -1
- package/dist/cjs/codama/devnet/instructions/payRental.js +45 -1
- package/dist/cjs/codama/devnet/instructions/payRental.js.map +1 -1
- package/dist/cjs/codama/devnet/programs/srsly.js +2 -6
- package/dist/cjs/codama/devnet/programs/srsly.js.map +1 -1
- package/dist/cjs/codama/devnet/types/index.js +0 -1
- package/dist/cjs/codama/devnet/types/index.js.map +1 -1
- package/dist/cjs/codama/mainnet/accounts/contractState.js +2 -7
- package/dist/cjs/codama/mainnet/accounts/contractState.js.map +1 -1
- package/dist/cjs/codama/mainnet/accounts/rentalState.js +3 -1
- package/dist/cjs/codama/mainnet/accounts/rentalState.js.map +1 -1
- package/dist/cjs/codama/mainnet/constants.js +1 -1
- package/dist/cjs/codama/mainnet/errors/srsly.js +4 -1
- package/dist/cjs/codama/mainnet/errors/srsly.js.map +1 -1
- package/dist/cjs/codama/mainnet/instructions/acceptRental.js +17 -23
- package/dist/cjs/codama/mainnet/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/codama/mainnet/instructions/closeContract.js +28 -1
- package/dist/cjs/codama/mainnet/instructions/closeContract.js.map +1 -1
- package/dist/cjs/codama/mainnet/instructions/closeRental.js +28 -1
- package/dist/cjs/codama/mainnet/instructions/closeRental.js.map +1 -1
- package/dist/cjs/codama/mainnet/instructions/index.js +0 -1
- package/dist/cjs/codama/mainnet/instructions/index.js.map +1 -1
- package/dist/cjs/codama/mainnet/instructions/payRental.js +45 -1
- package/dist/cjs/codama/mainnet/instructions/payRental.js.map +1 -1
- package/dist/cjs/codama/mainnet/programs/srsly.js +2 -6
- package/dist/cjs/codama/mainnet/programs/srsly.js.map +1 -1
- package/dist/cjs/codama/mainnet/types/index.js +0 -1
- package/dist/cjs/codama/mainnet/types/index.js.map +1 -1
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/rental/accept.js +14 -1
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/utils/constants.js +13 -1
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/esm/codama/devnet/accounts/contractState.js +3 -7
- package/dist/esm/codama/devnet/accounts/contractState.js.map +1 -1
- package/dist/esm/codama/devnet/accounts/rentalState.js +3 -1
- package/dist/esm/codama/devnet/accounts/rentalState.js.map +1 -1
- package/dist/esm/codama/devnet/constants.js +1 -1
- package/dist/esm/codama/devnet/errors/srsly.js +3 -0
- package/dist/esm/codama/devnet/errors/srsly.js.map +1 -1
- package/dist/esm/codama/devnet/instructions/acceptRental.js +17 -23
- package/dist/esm/codama/devnet/instructions/acceptRental.js.map +1 -1
- package/dist/esm/codama/devnet/instructions/closeContract.js +28 -1
- package/dist/esm/codama/devnet/instructions/closeContract.js.map +1 -1
- package/dist/esm/codama/devnet/instructions/closeRental.js +28 -1
- package/dist/esm/codama/devnet/instructions/closeRental.js.map +1 -1
- package/dist/esm/codama/devnet/instructions/index.js +0 -1
- package/dist/esm/codama/devnet/instructions/index.js.map +1 -1
- package/dist/esm/codama/devnet/instructions/payRental.js +45 -1
- package/dist/esm/codama/devnet/instructions/payRental.js.map +1 -1
- package/dist/esm/codama/devnet/programs/srsly.js +2 -6
- package/dist/esm/codama/devnet/programs/srsly.js.map +1 -1
- package/dist/esm/codama/devnet/types/index.js +0 -1
- package/dist/esm/codama/devnet/types/index.js.map +1 -1
- package/dist/esm/codama/mainnet/accounts/contractState.js +3 -7
- package/dist/esm/codama/mainnet/accounts/contractState.js.map +1 -1
- package/dist/esm/codama/mainnet/accounts/rentalState.js +3 -1
- package/dist/esm/codama/mainnet/accounts/rentalState.js.map +1 -1
- package/dist/esm/codama/mainnet/constants.js +1 -1
- package/dist/esm/codama/mainnet/errors/srsly.js +3 -0
- package/dist/esm/codama/mainnet/errors/srsly.js.map +1 -1
- package/dist/esm/codama/mainnet/instructions/acceptRental.js +17 -23
- package/dist/esm/codama/mainnet/instructions/acceptRental.js.map +1 -1
- package/dist/esm/codama/mainnet/instructions/closeContract.js +28 -1
- package/dist/esm/codama/mainnet/instructions/closeContract.js.map +1 -1
- package/dist/esm/codama/mainnet/instructions/closeRental.js +28 -1
- package/dist/esm/codama/mainnet/instructions/closeRental.js.map +1 -1
- package/dist/esm/codama/mainnet/instructions/index.js +0 -1
- package/dist/esm/codama/mainnet/instructions/index.js.map +1 -1
- package/dist/esm/codama/mainnet/instructions/payRental.js +45 -1
- package/dist/esm/codama/mainnet/instructions/payRental.js.map +1 -1
- package/dist/esm/codama/mainnet/programs/srsly.js +2 -6
- package/dist/esm/codama/mainnet/programs/srsly.js.map +1 -1
- package/dist/esm/codama/mainnet/types/index.js +0 -1
- package/dist/esm/codama/mainnet/types/index.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/rental/accept.js +14 -1
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/utils/constants.js +12 -0
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/types/codama/devnet/accounts/contractState.d.ts +2 -4
- package/dist/types/codama/devnet/accounts/contractState.d.ts.map +1 -1
- package/dist/types/codama/devnet/accounts/rentalState.d.ts +2 -0
- package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/codama/devnet/constants.d.ts +1 -1
- package/dist/types/codama/devnet/errors/srsly.d.ts +3 -1
- package/dist/types/codama/devnet/errors/srsly.d.ts.map +1 -1
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts +14 -11
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/codama/devnet/instructions/closeContract.d.ts +12 -8
- package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/codama/devnet/instructions/closeRental.d.ts +15 -11
- package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/codama/devnet/instructions/index.d.ts +0 -1
- package/dist/types/codama/devnet/instructions/index.d.ts.map +1 -1
- package/dist/types/codama/devnet/instructions/payRental.d.ts +21 -10
- package/dist/types/codama/devnet/instructions/payRental.d.ts.map +1 -1
- package/dist/types/codama/devnet/programs/srsly.d.ts +3 -6
- package/dist/types/codama/devnet/programs/srsly.d.ts.map +1 -1
- package/dist/types/codama/devnet/types/index.d.ts +0 -1
- package/dist/types/codama/devnet/types/index.d.ts.map +1 -1
- package/dist/types/codama/mainnet/accounts/contractState.d.ts +2 -4
- package/dist/types/codama/mainnet/accounts/contractState.d.ts.map +1 -1
- package/dist/types/codama/mainnet/accounts/rentalState.d.ts +2 -0
- package/dist/types/codama/mainnet/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/codama/mainnet/constants.d.ts +1 -1
- package/dist/types/codama/mainnet/errors/srsly.d.ts +3 -1
- package/dist/types/codama/mainnet/errors/srsly.d.ts.map +1 -1
- package/dist/types/codama/mainnet/instructions/acceptRental.d.ts +14 -11
- package/dist/types/codama/mainnet/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/codama/mainnet/instructions/closeContract.d.ts +12 -8
- package/dist/types/codama/mainnet/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/codama/mainnet/instructions/closeRental.d.ts +15 -11
- package/dist/types/codama/mainnet/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/codama/mainnet/instructions/index.d.ts +0 -1
- package/dist/types/codama/mainnet/instructions/index.d.ts.map +1 -1
- package/dist/types/codama/mainnet/instructions/payRental.d.ts +21 -10
- package/dist/types/codama/mainnet/instructions/payRental.d.ts.map +1 -1
- package/dist/types/codama/mainnet/programs/srsly.d.ts +3 -6
- package/dist/types/codama/mainnet/programs/srsly.d.ts.map +1 -1
- package/dist/types/codama/mainnet/types/index.d.ts +0 -1
- package/dist/types/codama/mainnet/types/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +17 -0
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +9 -0
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/package.json +1 -1
- package/target/idl/srsly-devnet.json +649 -391
- package/target/idl/srsly-mainnet.json +493 -229
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js +0 -152
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/cjs/codama/devnet/types/paymentFrequency.js +0 -34
- package/dist/cjs/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/cjs/codama/mainnet/instructions/normalizeAdmin.js +0 -152
- package/dist/cjs/codama/mainnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/cjs/codama/mainnet/types/paymentFrequency.js +0 -32
- package/dist/cjs/codama/mainnet/types/paymentFrequency.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js +0 -142
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/esm/codama/devnet/types/paymentFrequency.js +0 -28
- package/dist/esm/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/esm/codama/mainnet/instructions/normalizeAdmin.js +0 -142
- package/dist/esm/codama/mainnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/esm/codama/mainnet/types/paymentFrequency.js +0 -26
- package/dist/esm/codama/mainnet/types/paymentFrequency.js.map +0 -1
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts +0 -67
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/paymentFrequency.d.ts +0 -22
- package/dist/types/codama/devnet/types/paymentFrequency.d.ts.map +0 -1
- package/dist/types/codama/mainnet/instructions/normalizeAdmin.d.ts +0 -67
- package/dist/types/codama/mainnet/instructions/normalizeAdmin.d.ts.map +0 -1
- package/dist/types/codama/mainnet/types/paymentFrequency.d.ts +0 -20
- package/dist/types/codama/mainnet/types/paymentFrequency.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -49,8 +49,7 @@ const contractInstruction = await createContract({
|
|
|
49
49
|
rate: 1000000, // Rate in ATLAS tokens
|
|
50
50
|
durationMin: 86400, // 1 day in seconds
|
|
51
51
|
durationMax: 604800, // 1 week in seconds
|
|
52
|
-
paymentsFreq: 'daily'
|
|
53
|
-
ownerKeyIndex: 0
|
|
52
|
+
paymentsFreq: 'daily'
|
|
54
53
|
}); // Uses mainnet from global config
|
|
55
54
|
|
|
56
55
|
// Accept a rental with automatic ATLAS to stardust conversion
|
|
@@ -199,13 +198,238 @@ console.log('Conversion rate:', ATLAS_TO_STARDUST);
|
|
|
199
198
|
- **Network**: Solana Mainnet or Atlasnet
|
|
200
199
|
- **Built with**: Anchor Framework
|
|
201
200
|
|
|
201
|
+
## Payment Structure
|
|
202
|
+
|
|
203
|
+
The SRSLY program implements a comprehensive payment system with escrow deposits, periodic payments, fees, and refunds. Understanding this structure is crucial for integrating rental functionality.
|
|
204
|
+
|
|
205
|
+
### Overview
|
|
206
|
+
|
|
207
|
+
```text
|
|
208
|
+
Rental Lifecycle:
|
|
209
|
+
1. Escrow Deposit (Full Payment Upfront)
|
|
210
|
+
2. Periodic Payments (Based on Payment Frequency)
|
|
211
|
+
3. Fee Collection (Platform + Referral Fees)
|
|
212
|
+
4. Owner Payments (After Fee Deduction)
|
|
213
|
+
5. Refunds (For Early Cancellation)
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 1. Escrow Deposit
|
|
217
|
+
|
|
218
|
+
When a borrower accepts a rental, they deposit the **full rental amount upfront** into an escrow account:
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
// Example: 1000 ATLAS for 10 days = 10,000 ATLAS total
|
|
222
|
+
const acceptIx = await acceptRental({
|
|
223
|
+
borrower: wallet,
|
|
224
|
+
borrowerProfile: profileAddress,
|
|
225
|
+
borrowerFaction: 'mud',
|
|
226
|
+
fleet: fleetAddress,
|
|
227
|
+
contract: contractAddress,
|
|
228
|
+
rate: 1000, // ATLAS tokens per day
|
|
229
|
+
duration: 864000, // 10 days in seconds
|
|
230
|
+
referralTokenAccount: referrerAddress // Optional referral
|
|
231
|
+
});
|
|
232
|
+
// Total escrowed: 1000 * 10 * 100,000,000 = 1,000,000,000,000 stardust
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Key Points:**
|
|
236
|
+
|
|
237
|
+
- Full payment calculated as: `rate × duration × ATLAS_TO_STARDUST`
|
|
238
|
+
- Funds are held in a rental-specific escrow account
|
|
239
|
+
- Escrow is controlled by the rental state PDA
|
|
240
|
+
- No payments to owner until periodic execution
|
|
241
|
+
- **Minimum enforcement**: 24 hours from start time (if no payments) or last payment time
|
|
242
|
+
|
|
243
|
+
### 2. Periodic Payments
|
|
244
|
+
|
|
245
|
+
The system creates an automated thread that executes payments based on the contract's payment frequency:
|
|
246
|
+
|
|
247
|
+
```typescript
|
|
248
|
+
// Contract with daily payments
|
|
249
|
+
const contractIx = await createContract({
|
|
250
|
+
owner: wallet,
|
|
251
|
+
fleet: fleetAddress,
|
|
252
|
+
ownerProfile: profileAddress,
|
|
253
|
+
rate: 1000,
|
|
254
|
+
durationMin: 86400, // 1 day minimum
|
|
255
|
+
durationMax: 2592000, // 30 days maximum
|
|
256
|
+
paymentsFreq: 'daily' // Payments every 24 hours
|
|
257
|
+
});
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Payment Schedule:**
|
|
261
|
+
|
|
262
|
+
- **Daily**: Payments execute daily at 00:00 UTC (not every 24 hours from creation)
|
|
263
|
+
- **Weekly**: Payments execute weekly at specific day/time
|
|
264
|
+
- **Monthly**: Payments execute monthly at specific day/time
|
|
265
|
+
|
|
266
|
+
**Pro-rata Calculation:**
|
|
267
|
+
|
|
268
|
+
Each payment is calculated based on elapsed time since the last payment:
|
|
269
|
+
|
|
270
|
+
```text
|
|
271
|
+
payment_amount = (elapsed_time / frequency_seconds) × rate × ATLAS_TO_STARDUST
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### 3. Fee Structure
|
|
275
|
+
|
|
276
|
+
Each payment is subject to a **10% platform fee** with optional **10% referral sharing**:
|
|
277
|
+
|
|
278
|
+
```typescript
|
|
279
|
+
// Constants from the program
|
|
280
|
+
const SERVICE_FEE_BPS = 1000; // 10% platform fee
|
|
281
|
+
const REFERRAL_BPS = 1000; // 10% of total fee to referral
|
|
282
|
+
const BASE_BPS = 10000; // 100% in basis points
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Fee Calculation:**
|
|
286
|
+
|
|
287
|
+
```typescript
|
|
288
|
+
// For each payment amount
|
|
289
|
+
const totalFee = paymentAmount * SERVICE_FEE_BPS / BASE_BPS; // 10% of payment
|
|
290
|
+
const referralFee = totalFee * REFERRAL_BPS / BASE_BPS; // 10% of total fee
|
|
291
|
+
const platformFee = totalFee - referralFee; // 90% of total fee
|
|
292
|
+
const ownerPayment = paymentAmount - totalFee; // 90% of payment
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
**Example Payment Breakdown:**
|
|
296
|
+
|
|
297
|
+
```text
|
|
298
|
+
Payment Amount: 1000 ATLAS
|
|
299
|
+
├── Total Fee (10%): 100 ATLAS
|
|
300
|
+
│ ├── Referral Fee (10% of total fee): 10 ATLAS → Referrer
|
|
301
|
+
│ └── Platform Fee (90% of total fee): 90 ATLAS → Platform
|
|
302
|
+
└── Owner Payment (90%): 900 ATLAS → Fleet Owner
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### 4. Payment Distribution
|
|
306
|
+
|
|
307
|
+
Each periodic payment is distributed in this order:
|
|
308
|
+
|
|
309
|
+
1. **Referral Payment** (if referrer exists and ≠ system_program::ID)
|
|
310
|
+
- Amount: `total_fee × REFERRAL_BPS ÷ BASE_BPS`
|
|
311
|
+
- Destination: Referrer's token account
|
|
312
|
+
|
|
313
|
+
2. **Platform Fee Payment**
|
|
314
|
+
- Amount: `total_fee - referral_payment`
|
|
315
|
+
- Destination: Platform fee account
|
|
316
|
+
|
|
317
|
+
3. **Owner Payment**
|
|
318
|
+
- Amount: `payment_amount - total_fee`
|
|
319
|
+
- Destination: Fleet owner's token account
|
|
320
|
+
|
|
321
|
+
**Code Example:**
|
|
322
|
+
|
|
323
|
+
```typescript
|
|
324
|
+
// Accept rental with referral
|
|
325
|
+
const acceptIx = await acceptRental({
|
|
326
|
+
borrower: wallet,
|
|
327
|
+
borrowerProfile: profileAddress,
|
|
328
|
+
borrowerFaction: 'mud',
|
|
329
|
+
fleet: fleetAddress,
|
|
330
|
+
contract: contractAddress,
|
|
331
|
+
rate: 1000,
|
|
332
|
+
duration: 86400,
|
|
333
|
+
referralTokenAccount: referrerTokenAccount // 10% of fees
|
|
334
|
+
});
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### 5. Refund Mechanism
|
|
338
|
+
|
|
339
|
+
Refunds occur when rentals are cancelled early or when contracts are closed. **Important: All rentals enforce a minimum 24-hour active period from either the start time (if no payments made) or the last payment time.**
|
|
340
|
+
|
|
341
|
+
**Early Cancellation:**
|
|
342
|
+
|
|
343
|
+
```typescript
|
|
344
|
+
const cancelIx = await cancelRental({
|
|
345
|
+
borrower: wallet,
|
|
346
|
+
contract: contractAddress,
|
|
347
|
+
rentalState: rentalStateAddress
|
|
348
|
+
});
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
**Refund Scenarios:**
|
|
352
|
+
|
|
353
|
+
- **Before First Payment**: Rental remains active for 24 hours from start time, pro-rata refund for remaining time
|
|
354
|
+
- **After Payment(s) Made**: Rental remains active for 24 hours from last payment time, pro-rata refund for remaining time
|
|
355
|
+
- **Contract Closure**: Any remaining escrow returned to borrower
|
|
356
|
+
|
|
357
|
+
### 6. Payment Timeline Example
|
|
358
|
+
|
|
359
|
+
**Scenario**: 10-day rental with daily payments, 1000 ATLAS/day rate
|
|
360
|
+
|
|
361
|
+
```text
|
|
362
|
+
Day 0: Rental Accepted
|
|
363
|
+
├── Escrow: 10,000 ATLAS deposited
|
|
364
|
+
├── Thread: Created for daily execution at 00:00 UTC
|
|
365
|
+
├── Fleet: Transferred to borrower
|
|
366
|
+
└── Minimum 24-hour commitment begins (from start time)
|
|
367
|
+
|
|
368
|
+
00:00 UTC Next Day: First Payment
|
|
369
|
+
├── Amount: 1,000 ATLAS from escrow
|
|
370
|
+
├── Total Fee (10%): 100 ATLAS
|
|
371
|
+
│ ├── Referrer: 10 ATLAS (10% of total fee)
|
|
372
|
+
│ └── Platform: 90 ATLAS (90% of total fee)
|
|
373
|
+
├── Owner: 900 ATLAS (90% of payment)
|
|
374
|
+
├── Escrow: 9,000 ATLAS remaining
|
|
375
|
+
└── New 24-hour minimum period begins (from payment time)
|
|
376
|
+
|
|
377
|
+
Daily at 00:00 UTC: Subsequent Payments
|
|
378
|
+
├── Same distribution pattern
|
|
379
|
+
├── Escrow decreases by 1,000 ATLAS each day
|
|
380
|
+
└── Each payment resets 24-hour minimum period
|
|
381
|
+
|
|
382
|
+
Final Day at 00:00 UTC: Final Payment & Cleanup
|
|
383
|
+
├── Final payment processed
|
|
384
|
+
├── Thread: Automatically closed
|
|
385
|
+
├── Rental State: Closed, lamports to borrower
|
|
386
|
+
└── Fleet: Returned to owner or contract
|
|
387
|
+
|
|
388
|
+
Early Cancellation Examples:
|
|
389
|
+
|
|
390
|
+
Scenario A - Cancel before first payment (Day 0 at 6 PM):
|
|
391
|
+
├── Cancelled 6 hours after start
|
|
392
|
+
├── Rental extends until 24 hours from start time (Day 1 at start time)
|
|
393
|
+
├── Pro-rata refund calculated from Day 1 extended end onwards
|
|
394
|
+
└── Borrower receives refund for Days 1-10
|
|
395
|
+
|
|
396
|
+
Scenario B - Cancel after payments made (Day 3 at 6 PM):
|
|
397
|
+
├── Cancelled 18 hours after Day 3 payment (00:00 UTC)
|
|
398
|
+
├── Rental extends until 24 hours from last payment (Day 4 at 00:00 UTC)
|
|
399
|
+
├── Pro-rata refund calculated from Day 4 onwards
|
|
400
|
+
└── Borrower receives refund for Days 4-10
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### 7. Edge Cases
|
|
404
|
+
|
|
405
|
+
**Insufficient Escrow Balance:**
|
|
406
|
+
|
|
407
|
+
- Payment amount is limited to available escrow balance
|
|
408
|
+
- Remaining balance distributed proportionally
|
|
409
|
+
|
|
410
|
+
**Early Termination:**
|
|
411
|
+
|
|
412
|
+
- **Cancellation Notice**: Must have more than one payment period remaining to cancel
|
|
413
|
+
- **Minimum Period Enforcement**:
|
|
414
|
+
- Before first payment: Active for 24 hours from start time
|
|
415
|
+
- After payment(s): Active for 24 hours from last payment time
|
|
416
|
+
- **Pro-rata Refund**: Refund calculated from the enforced minimum end time
|
|
417
|
+
- Fleet returned to owner when minimum period expires
|
|
418
|
+
- Payment thread continues until minimum period ends
|
|
419
|
+
|
|
420
|
+
**Contract Closure:**
|
|
421
|
+
|
|
422
|
+
- Final payment processed if rental active
|
|
423
|
+
- All remaining resources cleaned up
|
|
424
|
+
- Fleet rental capability removed
|
|
425
|
+
|
|
202
426
|
## Payment Frequencies
|
|
203
427
|
|
|
204
428
|
The SDK supports multiple payment frequencies:
|
|
205
429
|
|
|
206
|
-
- `daily` - Daily payments
|
|
207
|
-
- `weekly` - Weekly payments
|
|
208
|
-
- `monthly` - Monthly payments
|
|
430
|
+
- `daily` - Daily payments at 00:00 UTC
|
|
431
|
+
- `weekly` - Weekly payments at specific day/time
|
|
432
|
+
- `monthly` - Monthly payments at specific day/time
|
|
209
433
|
|
|
210
434
|
## Error Handling
|
|
211
435
|
|
|
@@ -17,9 +17,7 @@ exports.fetchContractState = fetchContractState;
|
|
|
17
17
|
exports.fetchMaybeContractState = fetchMaybeContractState;
|
|
18
18
|
exports.fetchAllContractState = fetchAllContractState;
|
|
19
19
|
exports.fetchAllMaybeContractState = fetchAllMaybeContractState;
|
|
20
|
-
exports.getContractStateSize = getContractStateSize;
|
|
21
20
|
const kit_1 = require("@solana/kit");
|
|
22
|
-
const types_1 = require("../types");
|
|
23
21
|
exports.CONTRACT_STATE_DISCRIMINATOR = new Uint8Array([
|
|
24
22
|
190, 138, 10, 223, 189, 116, 222, 115,
|
|
25
23
|
]);
|
|
@@ -34,7 +32,7 @@ function getContractStateEncoder() {
|
|
|
34
32
|
['rate', (0, kit_1.getU64Encoder)()],
|
|
35
33
|
['durationMin', (0, kit_1.getU64Encoder)()],
|
|
36
34
|
['durationMax', (0, kit_1.getU64Encoder)()],
|
|
37
|
-
['paymentsFeq', (0,
|
|
35
|
+
['paymentsFeq', (0, kit_1.addEncoderSizePrefix)((0, kit_1.getUtf8Encoder)(), (0, kit_1.getU32Encoder)())],
|
|
38
36
|
['fleet', (0, kit_1.getAddressEncoder)()],
|
|
39
37
|
['gameId', (0, kit_1.getAddressEncoder)()],
|
|
40
38
|
['currentRentalState', (0, kit_1.getAddressEncoder)()],
|
|
@@ -52,7 +50,7 @@ function getContractStateDecoder() {
|
|
|
52
50
|
['rate', (0, kit_1.getU64Decoder)()],
|
|
53
51
|
['durationMin', (0, kit_1.getU64Decoder)()],
|
|
54
52
|
['durationMax', (0, kit_1.getU64Decoder)()],
|
|
55
|
-
['paymentsFeq', (0,
|
|
53
|
+
['paymentsFeq', (0, kit_1.addDecoderSizePrefix)((0, kit_1.getUtf8Decoder)(), (0, kit_1.getU32Decoder)())],
|
|
56
54
|
['fleet', (0, kit_1.getAddressDecoder)()],
|
|
57
55
|
['gameId', (0, kit_1.getAddressDecoder)()],
|
|
58
56
|
['currentRentalState', (0, kit_1.getAddressDecoder)()],
|
|
@@ -86,7 +84,4 @@ async function fetchAllMaybeContractState(rpc, addresses, config) {
|
|
|
86
84
|
const maybeAccounts = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses, config);
|
|
87
85
|
return maybeAccounts.map((maybeAccount) => decodeContractState(maybeAccount));
|
|
88
86
|
}
|
|
89
|
-
function getContractStateSize() {
|
|
90
|
-
return 228;
|
|
91
|
-
}
|
|
92
87
|
//# sourceMappingURL=contractState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractState.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/accounts/contractState.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA+CH,gFAIC;AAmCD,0DAoBC;AAED,0DAiBC;AAED,sDAKC;AAQD,kDAOC;AAED,gDAQC;AAED,0DAOC;AAED,sDAYC;AAED,gEAOC;
|
|
1
|
+
{"version":3,"file":"contractState.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/accounts/contractState.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ function getRentalStateEncoder() {
|
|
|
33
33
|
['thread', (0, kit_1.getAddressEncoder)()],
|
|
34
34
|
['contract', (0, kit_1.getAddressEncoder)()],
|
|
35
35
|
['ownerTokenAccount', (0, kit_1.getAddressEncoder)()],
|
|
36
|
+
['referralTokenAccount', (0, kit_1.getAddressEncoder)()],
|
|
36
37
|
['rate', (0, kit_1.getF64Encoder)()],
|
|
37
38
|
['startTime', (0, kit_1.getI64Encoder)()],
|
|
38
39
|
['endTime', (0, kit_1.getI64Encoder)()],
|
|
@@ -48,6 +49,7 @@ function getRentalStateDecoder() {
|
|
|
48
49
|
['thread', (0, kit_1.getAddressDecoder)()],
|
|
49
50
|
['contract', (0, kit_1.getAddressDecoder)()],
|
|
50
51
|
['ownerTokenAccount', (0, kit_1.getAddressDecoder)()],
|
|
52
|
+
['referralTokenAccount', (0, kit_1.getAddressDecoder)()],
|
|
51
53
|
['rate', (0, kit_1.getF64Decoder)()],
|
|
52
54
|
['startTime', (0, kit_1.getI64Decoder)()],
|
|
53
55
|
['endTime', (0, kit_1.getI64Decoder)()],
|
|
@@ -80,6 +82,6 @@ async function fetchAllMaybeRentalState(rpc, addresses, config) {
|
|
|
80
82
|
return maybeAccounts.map((maybeAccount) => decodeRentalState(maybeAccount));
|
|
81
83
|
}
|
|
82
84
|
function getRentalStateSize() {
|
|
83
|
-
return
|
|
85
|
+
return 195;
|
|
84
86
|
}
|
|
85
87
|
//# sourceMappingURL=rentalState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rentalState.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/accounts/rentalState.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA2CH,4EAIC;
|
|
1
|
+
{"version":3,"file":"rentalState.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/accounts/rentalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 1. Edit network-configs.mjs
|
|
10
10
|
* 2. Run `pnpm build` to regenerate
|
|
11
11
|
*
|
|
12
|
-
* Generated on: 2025-06-
|
|
12
|
+
* Generated on: 2025-06-22T17:28:17.877Z
|
|
13
13
|
*/
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.NETWORK_CONFIG = exports.ATLAS_TOKEN_MINT = exports.SRSLY_PROGRAM_ADDRESS = exports.SAGE_GAME_ID = exports.PROFILE_FACTION_PROGRAM_ADDRESS = exports.SAGE_PROGRAM_ADDRESS = void 0;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @see https://github.com/codama-idl/codama
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.SRSLY_ERROR__RENTAL_STATE_EXISTS = exports.SRSLY_ERROR__RENTAL_IS_ACTIVE = exports.SRSLY_ERROR__INVALID_THREAD_CONTEXT = exports.SRSLY_ERROR__EXPECTED_DAILY_FREQUENCY = exports.SRSLY_ERROR__DEV_ONLY_FREQUENCY = exports.SRSLY_ERROR__CONTRACT_CLOSED = exports.SRSLY_ERROR__INSUFFICIENT_CANCELLATION_NOTICE = exports.SRSLY_ERROR__INVALID_SUB_PROFILE_INVALIDATOR = exports.SRSLY_ERROR__INVALID_PAYMENT_FREQUENCY = exports.SRSLY_ERROR__INVALID_RATE = exports.SRSLY_ERROR__FLEET_ALREADY_RENTED = exports.SRSLY_ERROR__INVALID_RATE_CALCULATION = exports.SRSLY_ERROR__INVALID_DURATION_MAXIMUM = exports.SRSLY_ERROR__INVALID_DURATION_MINIMUM = void 0;
|
|
10
|
+
exports.SRSLY_ERROR__UNSUPPORTED_MIGRATION_VERSION = exports.SRSLY_ERROR__RENTAL_STATE_EXISTS = exports.SRSLY_ERROR__RENTAL_IS_ACTIVE = exports.SRSLY_ERROR__INVALID_THREAD_CONTEXT = exports.SRSLY_ERROR__EXPECTED_DAILY_FREQUENCY = exports.SRSLY_ERROR__DEV_ONLY_FREQUENCY = exports.SRSLY_ERROR__CONTRACT_CLOSED = exports.SRSLY_ERROR__INSUFFICIENT_CANCELLATION_NOTICE = exports.SRSLY_ERROR__INVALID_SUB_PROFILE_INVALIDATOR = exports.SRSLY_ERROR__INVALID_PAYMENT_FREQUENCY = exports.SRSLY_ERROR__INVALID_RATE = exports.SRSLY_ERROR__FLEET_ALREADY_RENTED = exports.SRSLY_ERROR__INVALID_RATE_CALCULATION = exports.SRSLY_ERROR__INVALID_DURATION_MAXIMUM = exports.SRSLY_ERROR__INVALID_DURATION_MINIMUM = void 0;
|
|
11
11
|
exports.getSrslyErrorMessage = getSrslyErrorMessage;
|
|
12
12
|
exports.isSrslyError = isSrslyError;
|
|
13
13
|
const kit_1 = require("@solana/kit");
|
|
@@ -40,6 +40,8 @@ exports.SRSLY_ERROR__INVALID_THREAD_CONTEXT = 0x177b; // 6011
|
|
|
40
40
|
exports.SRSLY_ERROR__RENTAL_IS_ACTIVE = 0x177c; // 6012
|
|
41
41
|
/** RentalStateExists: Rental reset requires rental state to not exist. */
|
|
42
42
|
exports.SRSLY_ERROR__RENTAL_STATE_EXISTS = 0x177d; // 6013
|
|
43
|
+
/** UnsupportedMigrationVersion: Unsupported migration version encountered. */
|
|
44
|
+
exports.SRSLY_ERROR__UNSUPPORTED_MIGRATION_VERSION = 0x177e; // 6014
|
|
43
45
|
let srslyErrorMessages;
|
|
44
46
|
if (process.env.NODE_ENV !== 'production') {
|
|
45
47
|
srslyErrorMessages = {
|
|
@@ -57,6 +59,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
57
59
|
[exports.SRSLY_ERROR__INVALID_THREAD_CONTEXT]: `Thread has invalid context set.`,
|
|
58
60
|
[exports.SRSLY_ERROR__RENTAL_IS_ACTIVE]: `Rental is still active.`,
|
|
59
61
|
[exports.SRSLY_ERROR__RENTAL_STATE_EXISTS]: `Rental reset requires rental state to not exist.`,
|
|
62
|
+
[exports.SRSLY_ERROR__UNSUPPORTED_MIGRATION_VERSION]: `Unsupported migration version encountered.`,
|
|
60
63
|
};
|
|
61
64
|
}
|
|
62
65
|
function getSrslyErrorMessage(code) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/errors/srsly.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/errors/srsly.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA+EH,oDAMC;AAED,oCAcC;AAnGD,qCAKqB;AACrB,0CAAoD;AAEpD,oGAAoG;AACvF,QAAA,qCAAqC,GAAG,MAAM,CAAC,CAAC,OAAO;AACpE,+GAA+G;AAClG,QAAA,qCAAqC,GAAG,MAAM,CAAC,CAAC,OAAO;AACpE,mGAAmG;AACtF,QAAA,qCAAqC,GAAG,MAAM,CAAC,CAAC,OAAO;AACpE,8EAA8E;AACjE,QAAA,iCAAiC,GAAG,MAAM,CAAC,CAAC,OAAO;AAChE,qEAAqE;AACxD,QAAA,yBAAyB,GAAG,MAAM,CAAC,CAAC,OAAO;AACxD,8GAA8G;AACjG,QAAA,sCAAsC,GAAG,MAAM,CAAC,CAAC,OAAO;AACrE,qEAAqE;AACxD,QAAA,4CAA4C,GAAG,MAAM,CAAC,CAAC,OAAO;AAC3E,+GAA+G;AAClG,QAAA,6CAA6C,GAAG,MAAM,CAAC,CAAC,OAAO;AAC5E,8CAA8C;AACjC,QAAA,4BAA4B,GAAG,MAAM,CAAC,CAAC,OAAO;AAC3D,uEAAuE;AAC1D,QAAA,+BAA+B,GAAG,MAAM,CAAC,CAAC,OAAO;AAC9D,wFAAwF;AAC3E,QAAA,qCAAqC,GAAG,MAAM,CAAC,CAAC,OAAO;AACpE,4DAA4D;AAC/C,QAAA,mCAAmC,GAAG,MAAM,CAAC,CAAC,OAAO;AAClE,8CAA8C;AACjC,QAAA,6BAA6B,GAAG,MAAM,CAAC,CAAC,OAAO;AAC5D,0EAA0E;AAC7D,QAAA,gCAAgC,GAAG,MAAM,CAAC,CAAC,OAAO;AAC/D,8EAA8E;AACjE,QAAA,0CAA0C,GAAG,MAAM,CAAC,CAAC,OAAO;AAmBzE,IAAI,kBAA0D,CAAC;AAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,kBAAkB,GAAG;QACnB,CAAC,oCAA4B,CAAC,EAAE,yBAAyB;QACzD,CAAC,uCAA+B,CAAC,EAAE,gDAAgD;QACnF,CAAC,6CAAqC,CAAC,EAAE,2DAA2D;QACpG,CAAC,yCAAiC,CAAC,EAAE,qDAAqD;QAC1F,CAAC,qDAA6C,CAAC,EAAE,0EAA0E;QAC3H,CAAC,6CAAqC,CAAC,EAAE,kFAAkF;QAC3H,CAAC,6CAAqC,CAAC,EAAE,uEAAuE;QAChH,CAAC,8CAAsC,CAAC,EAAE,gFAAgF;QAC1H,CAAC,iCAAyB,CAAC,EAAE,mDAAmD;QAChF,CAAC,6CAAqC,CAAC,EAAE,sEAAsE;QAC/G,CAAC,oDAA4C,CAAC,EAAE,kCAAkC;QAClF,CAAC,2CAAmC,CAAC,EAAE,iCAAiC;QACxE,CAAC,qCAA6B,CAAC,EAAE,yBAAyB;QAC1D,CAAC,wCAAgC,CAAC,EAAE,kDAAkD;QACtF,CAAC,kDAA0C,CAAC,EAAE,4CAA4C;KAC3F,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAgB;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAQ,kBAAiD,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,oDAAoD,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY,CAC1B,KAAc,EACd,kBAEC,EACD,IAAwB;IAGxB,OAAO,IAAA,oBAAc,EACnB,KAAK,EACL,kBAAkB,EAClB,gCAAqB,EACrB,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -75,7 +75,10 @@ async function getAcceptRentalInstructionAsync(input, config) {
|
|
|
75
75
|
isWritable: true,
|
|
76
76
|
},
|
|
77
77
|
rentalThread: { value: input.rentalThread ?? null, isWritable: true },
|
|
78
|
-
|
|
78
|
+
referralTokenAccount: {
|
|
79
|
+
value: input.referralTokenAccount ?? null,
|
|
80
|
+
isWritable: false,
|
|
81
|
+
},
|
|
79
82
|
sageProgram: { value: input.sageProgram ?? null, isWritable: false },
|
|
80
83
|
antegenProgram: { value: input.antegenProgram ?? null, isWritable: false },
|
|
81
84
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
@@ -154,24 +157,6 @@ async function getAcceptRentalInstructionAsync(input, config) {
|
|
|
154
157
|
],
|
|
155
158
|
});
|
|
156
159
|
}
|
|
157
|
-
if (!accounts.feeTokenAccount.value) {
|
|
158
|
-
accounts.feeTokenAccount.value = await (0, kit_1.getProgramDerivedAddress)({
|
|
159
|
-
programAddress: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
|
|
160
|
-
seeds: [
|
|
161
|
-
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([
|
|
162
|
-
200, 182, 122, 108, 74, 122, 176, 202, 84, 111, 116, 161, 175, 85,
|
|
163
|
-
111, 229, 188, 105, 205, 151, 154, 187, 178, 50, 133, 209, 48, 56,
|
|
164
|
-
107, 39, 184, 43,
|
|
165
|
-
])),
|
|
166
|
-
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([
|
|
167
|
-
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235,
|
|
168
|
-
121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133,
|
|
169
|
-
126, 255, 0, 169,
|
|
170
|
-
])),
|
|
171
|
-
(0, kit_1.getAddressEncoder)().encode((0, shared_1.expectAddress)(accounts.mint.value)),
|
|
172
|
-
],
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
160
|
if (!accounts.sageProgram.value) {
|
|
176
161
|
accounts.sageProgram.value =
|
|
177
162
|
'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
|
|
@@ -209,7 +194,7 @@ async function getAcceptRentalInstructionAsync(input, config) {
|
|
|
209
194
|
getAccountMeta(accounts.rentalAuthority),
|
|
210
195
|
getAccountMeta(accounts.rentalTokenAccount),
|
|
211
196
|
getAccountMeta(accounts.rentalThread),
|
|
212
|
-
getAccountMeta(accounts.
|
|
197
|
+
getAccountMeta(accounts.referralTokenAccount),
|
|
213
198
|
getAccountMeta(accounts.sageProgram),
|
|
214
199
|
getAccountMeta(accounts.antegenProgram),
|
|
215
200
|
getAccountMeta(accounts.tokenProgram),
|
|
@@ -255,7 +240,10 @@ function getAcceptRentalInstruction(input, config) {
|
|
|
255
240
|
isWritable: true,
|
|
256
241
|
},
|
|
257
242
|
rentalThread: { value: input.rentalThread ?? null, isWritable: true },
|
|
258
|
-
|
|
243
|
+
referralTokenAccount: {
|
|
244
|
+
value: input.referralTokenAccount ?? null,
|
|
245
|
+
isWritable: false,
|
|
246
|
+
},
|
|
259
247
|
sageProgram: { value: input.sageProgram ?? null, isWritable: false },
|
|
260
248
|
antegenProgram: { value: input.antegenProgram ?? null, isWritable: false },
|
|
261
249
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
@@ -310,7 +298,7 @@ function getAcceptRentalInstruction(input, config) {
|
|
|
310
298
|
getAccountMeta(accounts.rentalAuthority),
|
|
311
299
|
getAccountMeta(accounts.rentalTokenAccount),
|
|
312
300
|
getAccountMeta(accounts.rentalThread),
|
|
313
|
-
getAccountMeta(accounts.
|
|
301
|
+
getAccountMeta(accounts.referralTokenAccount),
|
|
314
302
|
getAccountMeta(accounts.sageProgram),
|
|
315
303
|
getAccountMeta(accounts.antegenProgram),
|
|
316
304
|
getAccountMeta(accounts.tokenProgram),
|
|
@@ -333,6 +321,12 @@ function parseAcceptRentalInstruction(instruction) {
|
|
|
333
321
|
accountIndex += 1;
|
|
334
322
|
return accountMeta;
|
|
335
323
|
};
|
|
324
|
+
const getNextOptionalAccount = () => {
|
|
325
|
+
const accountMeta = getNextAccount();
|
|
326
|
+
return accountMeta.address === programs_1.SRSLY_PROGRAM_ADDRESS
|
|
327
|
+
? undefined
|
|
328
|
+
: accountMeta;
|
|
329
|
+
};
|
|
336
330
|
return {
|
|
337
331
|
programAddress: instruction.programAddress,
|
|
338
332
|
accounts: {
|
|
@@ -350,7 +344,7 @@ function parseAcceptRentalInstruction(instruction) {
|
|
|
350
344
|
rentalAuthority: getNextAccount(),
|
|
351
345
|
rentalTokenAccount: getNextAccount(),
|
|
352
346
|
rentalThread: getNextAccount(),
|
|
353
|
-
|
|
347
|
+
referralTokenAccount: getNextOptionalAccount(),
|
|
354
348
|
sageProgram: getNextAccount(),
|
|
355
349
|
antegenProgram: getNextAccount(),
|
|
356
350
|
tokenProgram: getNextAccount(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../../../src/codama/devnet/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,7 @@ async function getCloseContractInstructionAsync(input, config) {
|
|
|
60
60
|
isWritable: false,
|
|
61
61
|
},
|
|
62
62
|
sageProgram: { value: input.sageProgram ?? null, isWritable: false },
|
|
63
|
+
feeTokenAccount: { value: input.feeTokenAccount ?? null, isWritable: true },
|
|
63
64
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
64
65
|
};
|
|
65
66
|
const accounts = originalAccounts;
|
|
@@ -97,6 +98,28 @@ async function getCloseContractInstructionAsync(input, config) {
|
|
|
97
98
|
accounts.sageProgram.value =
|
|
98
99
|
'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
|
|
99
100
|
}
|
|
101
|
+
if (!accounts.feeTokenAccount.value) {
|
|
102
|
+
accounts.feeTokenAccount.value = await (0, kit_1.getProgramDerivedAddress)({
|
|
103
|
+
programAddress: 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
|
|
104
|
+
seeds: [
|
|
105
|
+
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([
|
|
106
|
+
200, 182, 122, 108, 74, 122, 176, 202, 84, 111, 116, 161, 175, 85,
|
|
107
|
+
111, 229, 188, 105, 205, 151, 154, 187, 178, 50, 133, 209, 48, 56,
|
|
108
|
+
107, 39, 184, 43,
|
|
109
|
+
])),
|
|
110
|
+
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([
|
|
111
|
+
6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235,
|
|
112
|
+
121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133,
|
|
113
|
+
126, 255, 0, 169,
|
|
114
|
+
])),
|
|
115
|
+
(0, kit_1.getBytesEncoder)().encode(new Uint8Array([
|
|
116
|
+
140, 119, 241, 156, 255, 59, 87, 34, 56, 120, 33, 198, 221, 208,
|
|
117
|
+
211, 20, 190, 93, 159, 12, 154, 136, 45, 46, 161, 10, 152, 60, 85,
|
|
118
|
+
252, 217, 191,
|
|
119
|
+
])),
|
|
120
|
+
],
|
|
121
|
+
});
|
|
122
|
+
}
|
|
100
123
|
if (!accounts.tokenProgram.value) {
|
|
101
124
|
accounts.tokenProgram.value =
|
|
102
125
|
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
@@ -115,6 +138,7 @@ async function getCloseContractInstructionAsync(input, config) {
|
|
|
115
138
|
getAccountMeta(accounts.contract),
|
|
116
139
|
getAccountMeta(accounts.rentalAuthority),
|
|
117
140
|
getAccountMeta(accounts.sageProgram),
|
|
141
|
+
getAccountMeta(accounts.feeTokenAccount),
|
|
118
142
|
getAccountMeta(accounts.tokenProgram),
|
|
119
143
|
],
|
|
120
144
|
programAddress,
|
|
@@ -147,6 +171,7 @@ function getCloseContractInstruction(input, config) {
|
|
|
147
171
|
isWritable: false,
|
|
148
172
|
},
|
|
149
173
|
sageProgram: { value: input.sageProgram ?? null, isWritable: false },
|
|
174
|
+
feeTokenAccount: { value: input.feeTokenAccount ?? null, isWritable: true },
|
|
150
175
|
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
151
176
|
};
|
|
152
177
|
const accounts = originalAccounts;
|
|
@@ -173,6 +198,7 @@ function getCloseContractInstruction(input, config) {
|
|
|
173
198
|
getAccountMeta(accounts.contract),
|
|
174
199
|
getAccountMeta(accounts.rentalAuthority),
|
|
175
200
|
getAccountMeta(accounts.sageProgram),
|
|
201
|
+
getAccountMeta(accounts.feeTokenAccount),
|
|
176
202
|
getAccountMeta(accounts.tokenProgram),
|
|
177
203
|
],
|
|
178
204
|
programAddress,
|
|
@@ -181,7 +207,7 @@ function getCloseContractInstruction(input, config) {
|
|
|
181
207
|
return instruction;
|
|
182
208
|
}
|
|
183
209
|
function parseCloseContractInstruction(instruction) {
|
|
184
|
-
if (instruction.accounts.length <
|
|
210
|
+
if (instruction.accounts.length < 13) {
|
|
185
211
|
// TODO: Coded error.
|
|
186
212
|
throw new Error('Not enough accounts');
|
|
187
213
|
}
|
|
@@ -211,6 +237,7 @@ function parseCloseContractInstruction(instruction) {
|
|
|
211
237
|
contract: getNextAccount(),
|
|
212
238
|
rentalAuthority: getNextAccount(),
|
|
213
239
|
sageProgram: getNextAccount(),
|
|
240
|
+
feeTokenAccount: getNextOptionalAccount(),
|
|
214
241
|
tokenProgram: getNextOptionalAccount(),
|
|
215
242
|
},
|
|
216
243
|
data: getCloseContractInstructionDataDecoder().decode(instruction.data),
|