@wuwei-labs/srsly 4.1.3 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/demos.js +13 -26
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +3 -1
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/contractState.js +2 -0
- package/dist/cjs/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +4 -2
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +4 -1
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +40 -14
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +1 -75
- package/dist/cjs/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeRental.js +170 -25
- package/dist/cjs/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/createConfig.js +4 -12
- package/dist/cjs/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteConfig.js +4 -4
- package/dist/cjs/generated/codama/instructions/deleteConfig.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteContract.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js +175 -0
- package/dist/cjs/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/index.js +1 -1
- package/dist/cjs/generated/codama/instructions/index.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/reserveRental.js +8 -32
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/programs/srsly.js +19 -19
- package/dist/cjs/generated/codama/programs/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/types/fleet.js +14 -0
- package/dist/cjs/generated/codama/types/fleet.js.map +1 -1
- package/dist/cjs/generated/codama/types/index.js +1 -1
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/rentalClosed.js +2 -0
- package/dist/cjs/generated/codama/types/rentalClosed.js.map +1 -1
- package/dist/cjs/generated/codama/types/reservationCreated.js +2 -0
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/cjs/generated/codama/types/shipStats.js +2 -0
- package/dist/cjs/generated/codama/types/shipStats.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +15 -18
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/activateRental.js +0 -8
- package/dist/cjs/instructions/activateRental.js.map +1 -1
- package/dist/cjs/instructions/closeContract.js +79 -27
- package/dist/cjs/instructions/closeContract.js.map +1 -1
- package/dist/cjs/instructions/closeRental.js +25 -20
- package/dist/cjs/instructions/closeRental.js.map +1 -1
- package/dist/cjs/instructions/createConfig.js +1 -4
- package/dist/cjs/instructions/createConfig.js.map +1 -1
- package/dist/cjs/instructions/deleteContractThread.js +65 -0
- package/dist/cjs/instructions/deleteContractThread.js.map +1 -0
- package/dist/cjs/instructions/index.js +1 -1
- package/dist/cjs/instructions/index.js.map +1 -1
- package/dist/cjs/instructions/invalidateRental.js +10 -7
- package/dist/cjs/instructions/invalidateRental.js.map +1 -1
- package/dist/cjs/instructions/releaseRental.js +10 -7
- package/dist/cjs/instructions/releaseRental.js.map +1 -1
- package/dist/cjs/instructions/reserveRental.js +8 -10
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +1 -0
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/kit/index.js.map +1 -1
- package/dist/cjs/legacy/index.js +1 -2
- package/dist/cjs/legacy/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/utils/index.js +1 -4
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/demos.js +12 -25
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +3 -1
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/contractState.js +2 -0
- package/dist/esm/generated/codama/accounts/contractState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +5 -3
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +3 -0
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/acceptRental.js +41 -15
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +1 -75
- package/dist/esm/generated/codama/instructions/activateRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeRental.js +170 -25
- package/dist/esm/generated/codama/instructions/closeRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/createConfig.js +4 -12
- package/dist/esm/generated/codama/instructions/createConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteBorrower.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteConfig.js +4 -4
- package/dist/esm/generated/codama/instructions/deleteConfig.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteContract.js.map +1 -1
- package/dist/esm/generated/codama/instructions/deleteContractThread.js +165 -0
- package/dist/esm/generated/codama/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/generated/codama/instructions/deleteRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/index.js +1 -1
- package/dist/esm/generated/codama/instructions/index.js.map +1 -1
- package/dist/esm/generated/codama/instructions/reserveRental.js +8 -32
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +2 -0
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/programs/srsly.js +19 -19
- package/dist/esm/generated/codama/programs/srsly.js.map +1 -1
- package/dist/esm/generated/codama/types/fleet.js +15 -1
- package/dist/esm/generated/codama/types/fleet.js.map +1 -1
- package/dist/esm/generated/codama/types/index.js +1 -1
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/rentalClosed.js +3 -1
- package/dist/esm/generated/codama/types/rentalClosed.js.map +1 -1
- package/dist/esm/generated/codama/types/reservationCreated.js +3 -1
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/esm/generated/codama/types/shipStats.js +3 -1
- package/dist/esm/generated/codama/types/shipStats.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +15 -18
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/activateRental.js +0 -8
- package/dist/esm/instructions/activateRental.js.map +1 -1
- package/dist/esm/instructions/closeContract.js +79 -27
- package/dist/esm/instructions/closeContract.js.map +1 -1
- package/dist/esm/instructions/closeRental.js +25 -20
- package/dist/esm/instructions/closeRental.js.map +1 -1
- package/dist/esm/instructions/createConfig.js +1 -4
- package/dist/esm/instructions/createConfig.js.map +1 -1
- package/dist/esm/instructions/deleteContractThread.js +62 -0
- package/dist/esm/instructions/deleteContractThread.js.map +1 -0
- package/dist/esm/instructions/index.js +1 -1
- package/dist/esm/instructions/index.js.map +1 -1
- package/dist/esm/instructions/invalidateRental.js +10 -7
- package/dist/esm/instructions/invalidateRental.js.map +1 -1
- package/dist/esm/instructions/releaseRental.js +10 -7
- package/dist/esm/instructions/releaseRental.js.map +1 -1
- package/dist/esm/instructions/reserveRental.js +8 -10
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +1 -0
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/kit/index.js.map +1 -1
- package/dist/esm/legacy/index.js +0 -1
- package/dist/esm/legacy/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/utils/index.js +0 -2
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +429 -412
- package/dist/types/demos.d.ts +0 -2
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +4 -0
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/contractState.d.ts +4 -0
- package/dist/types/generated/codama/accounts/contractState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +12 -8
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +3 -1
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +49 -30
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +18 -56
- package/dist/types/generated/codama/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeRental.d.ts +83 -28
- package/dist/types/generated/codama/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/createConfig.d.ts +3 -3
- package/dist/types/generated/codama/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteBorrower.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts +1 -1
- package/dist/types/generated/codama/instructions/deleteConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteContract.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteContract.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts +70 -0
- package/dist/types/generated/codama/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts +3 -0
- package/dist/types/generated/codama/instructions/deleteRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts +1 -1
- package/dist/types/generated/codama/instructions/index.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +18 -29
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +6 -0
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/programs/srsly.d.ts +20 -20
- package/dist/types/generated/codama/programs/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/types/fleet.d.ts +14 -0
- package/dist/types/generated/codama/types/fleet.d.ts.map +1 -1
- package/dist/types/generated/codama/types/index.d.ts +1 -1
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/rentalClosed.d.ts +8 -1
- package/dist/types/generated/codama/types/rentalClosed.d.ts.map +1 -1
- package/dist/types/generated/codama/types/reservationCreated.d.ts +2 -0
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
- package/dist/types/generated/codama/types/shipStats.d.ts +3 -1
- package/dist/types/generated/codama/types/shipStats.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +3 -12
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/instructions/activateRental.d.ts.map +1 -1
- package/dist/types/instructions/closeContract.d.ts +5 -0
- package/dist/types/instructions/closeContract.d.ts.map +1 -1
- package/dist/types/instructions/closeRental.d.ts.map +1 -1
- package/dist/types/instructions/createConfig.d.ts +4 -4
- package/dist/types/instructions/createConfig.d.ts.map +1 -1
- package/dist/types/instructions/deleteContractThread.d.ts +42 -0
- package/dist/types/instructions/deleteContractThread.d.ts.map +1 -0
- package/dist/types/instructions/index.d.ts +1 -1
- package/dist/types/instructions/index.d.ts.map +1 -1
- package/dist/types/instructions/invalidateRental.d.ts +4 -3
- package/dist/types/instructions/invalidateRental.d.ts.map +1 -1
- package/dist/types/instructions/releaseRental.d.ts +4 -3
- package/dist/types/instructions/releaseRental.d.ts.map +1 -1
- package/dist/types/instructions/reserveRental.d.ts +0 -7
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts +4 -4
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/kit/index.d.ts +1 -1
- package/dist/types/kit/index.d.ts.map +1 -1
- package/dist/types/legacy/index.d.ts +1 -2
- package/dist/types/legacy/index.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.closeRental = closeRental;
|
|
10
10
|
const kit_1 = require("@solana/kit");
|
|
11
|
+
const kit_2 = require("@solana/kit");
|
|
11
12
|
const instructions_1 = require("../generated/codama/instructions");
|
|
12
13
|
const config_1 = require("../utils/config");
|
|
13
14
|
const signer_1 = require("../utils/signer");
|
|
14
|
-
const contract_1 = require("../accounts/contract");
|
|
15
15
|
const config_2 = require("../accounts/config");
|
|
16
|
+
const contract_1 = require("../accounts/contract");
|
|
16
17
|
const fleet_1 = require("../accounts/fleet");
|
|
17
18
|
const rental_1 = require("../accounts/rental");
|
|
18
19
|
const sage_1 = require("../pda/sage");
|
|
19
20
|
const srsly_1 = require("../pda/srsly");
|
|
21
|
+
const token_1 = require("../pda/token");
|
|
20
22
|
const instructions_2 = require("../utils/instructions");
|
|
21
23
|
/**
|
|
22
24
|
* Close a rental
|
|
@@ -52,7 +54,9 @@ async function closeRental(params, config) {
|
|
|
52
54
|
if (!params.contract) {
|
|
53
55
|
throw new Error('contract is required');
|
|
54
56
|
}
|
|
55
|
-
// Fetch
|
|
57
|
+
// Fetch config and contract
|
|
58
|
+
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
59
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
56
60
|
const contractAccount = await (0, contract_1.fetchContract)(params.contract, finalConfig.rpcUrl);
|
|
57
61
|
const fleet = contractAccount.data.fleet;
|
|
58
62
|
const gameId = contractAccount.data.gameId;
|
|
@@ -60,21 +64,12 @@ async function closeRental(params, config) {
|
|
|
60
64
|
const payerSigner = (0, signer_1.toTransactionSigner)(params.payer);
|
|
61
65
|
// Derive active rental PDA (no more slot logic)
|
|
62
66
|
const rentalState = await (0, srsly_1.deriveActiveRental)(params.contract);
|
|
63
|
-
//
|
|
67
|
+
// Fetch rental state for borrower, referrer
|
|
64
68
|
let borrower;
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
try {
|
|
70
|
-
const rental = await (0, rental_1.fetchRental)(rentalState, finalConfig.rpcUrl);
|
|
71
|
-
borrower = rental.data.borrower;
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
// Rental state doesn't exist, fall back to payer
|
|
75
|
-
borrower = payerSigner.address;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
69
|
+
let referrer;
|
|
70
|
+
const rental = await (0, rental_1.fetchRental)(rentalState, finalConfig.rpcUrl);
|
|
71
|
+
borrower = params.borrower ? (0, kit_1.address)(params.borrower) : rental.data.borrower;
|
|
72
|
+
referrer = (0, kit_2.isOption)(rental.data.referrer) ? (0, kit_2.unwrapOption)(rental.data.referrer) ?? undefined : undefined;
|
|
78
73
|
// Derive borrower state PDA
|
|
79
74
|
const borrowerState = await (0, srsly_1.deriveBorrowerState)(borrower);
|
|
80
75
|
// Fetch fleet to get faction and derive SAGE accounts
|
|
@@ -84,22 +79,32 @@ async function closeRental(params, config) {
|
|
|
84
79
|
const faction = fleetState.faction;
|
|
85
80
|
// Derive SAGE game accounts using borrower's profile
|
|
86
81
|
const gameAccounts = await (0, sage_1.deriveGameAccounts)(borrowerProfile, faction, gameId);
|
|
87
|
-
// Get
|
|
88
|
-
const configAccount = await (0, config_2.fetchConfig)(finalConfig.rpcUrl);
|
|
82
|
+
// Get addresses
|
|
89
83
|
const addresses = (0, config_1.getAddresses)(config);
|
|
90
84
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
91
85
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
86
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
87
|
+
// Derive fee flush accounts
|
|
88
|
+
const vaultAddress = (0, kit_1.address)(configAccount.data.slyvault);
|
|
89
|
+
const vaultTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(vaultAddress, atlasMint);
|
|
90
|
+
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
91
|
+
// Borrower's managed ATA for discount refund
|
|
92
|
+
const borrowerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(borrowerState, atlasMint);
|
|
92
93
|
// Call Codama-generated instruction
|
|
93
94
|
const kitInstruction = await (0, instructions_1.getCloseRentalInstructionAsync)({
|
|
94
95
|
payer: payerSigner,
|
|
95
|
-
borrower,
|
|
96
96
|
borrowerState,
|
|
97
|
-
contract:
|
|
97
|
+
contract: contractAddress,
|
|
98
98
|
rentalState,
|
|
99
99
|
fleet: (0, kit_1.address)(fleet),
|
|
100
100
|
gameId: (0, kit_1.address)(gameId),
|
|
101
101
|
starbase: gameAccounts.starbase,
|
|
102
102
|
starbasePlayer: gameAccounts.starbasePlayer,
|
|
103
|
+
contractTokenAccount,
|
|
104
|
+
vault: vaultAddress,
|
|
105
|
+
vaultTokenAccount,
|
|
106
|
+
referrer,
|
|
107
|
+
borrowerTokenAccount,
|
|
103
108
|
sageProgram,
|
|
104
109
|
}, { programAddress });
|
|
105
110
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,10 +61,7 @@ async function createConfig(params, config) {
|
|
|
61
61
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
62
62
|
const antegenProgram = (0, kit_1.address)(addresses.antegen);
|
|
63
63
|
// Convert authority to TransactionSigner
|
|
64
|
-
|
|
65
|
-
const authoritySigner = params.authority
|
|
66
|
-
? (0, signer_1.toTransactionSigner)(params.authority)
|
|
67
|
-
: undefined;
|
|
64
|
+
const authoritySigner = (0, signer_1.toTransactionSigner)(params.authority);
|
|
68
65
|
// Call Codama-generated instruction
|
|
69
66
|
// srslyProgram is passed automatically as programAddress for vault derivation
|
|
70
67
|
const kitInstruction = await (0, instructions_1.getCreateConfigInstructionAsync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2EH,
|
|
1
|
+
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2EH,oCAoDC;AA7HD,qCAAoD;AACpD,mEAAmF;AACnF,4CAA4E;AAC5E,4CAA4E;AAE5E,wDAA4D;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,MAAM,eAAe,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9D,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,IAAA,8CAA+B,EAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,WAAsB,CAAC;QACnD,WAAW;QACX,cAAc;QACd,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;KACtC,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @purpose Simplified deleteContractThread instruction wrapper
|
|
4
|
+
*
|
|
5
|
+
* Thin convenience wrapper around Codama-generated deleteContractThread instruction.
|
|
6
|
+
* Admin-only instruction to delete a contract's thread for schema migrations.
|
|
7
|
+
* Unlike closeContractThread, does not require the contract account.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.deleteContractThread = deleteContractThread;
|
|
11
|
+
const kit_1 = require("@solana/kit");
|
|
12
|
+
const instructions_1 = require("../generated/codama/instructions");
|
|
13
|
+
const config_1 = require("../utils/config");
|
|
14
|
+
const signer_1 = require("../utils/signer");
|
|
15
|
+
const instructions_2 = require("../utils/instructions");
|
|
16
|
+
const thread_1 = require("../accounts/thread");
|
|
17
|
+
const thread_2 = require("../pda/thread");
|
|
18
|
+
const srsly_1 = require("../pda/srsly");
|
|
19
|
+
/**
|
|
20
|
+
* Admin-delete a per-contract automation thread
|
|
21
|
+
*
|
|
22
|
+
* Like closeContractThread but uses admin auth and does not require the
|
|
23
|
+
* contract account on-chain (for when contracts are already deleted or
|
|
24
|
+
* undeserializable). Fetches the thread account to read `fiberIds`, then
|
|
25
|
+
* derives and passes fiber PDAs as remaining accounts.
|
|
26
|
+
*
|
|
27
|
+
* @param params - Thread deletion parameters
|
|
28
|
+
* @param config - Optional SDK configuration overrides
|
|
29
|
+
* @returns Kit instruction (or web3.js if PublicKey in config)
|
|
30
|
+
*/
|
|
31
|
+
async function deleteContractThread(params, config) {
|
|
32
|
+
const finalConfig = (0, config_1.mergeConfig)(config);
|
|
33
|
+
if (!params.admin) {
|
|
34
|
+
throw new Error('admin is required');
|
|
35
|
+
}
|
|
36
|
+
if (!params.contract) {
|
|
37
|
+
throw new Error('contract is required');
|
|
38
|
+
}
|
|
39
|
+
const adminSigner = (0, signer_1.toTransactionSigner)(params.admin);
|
|
40
|
+
const addresses = (0, config_1.getAddresses)(config);
|
|
41
|
+
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
42
|
+
const contractAddress = (0, kit_1.address)(params.contract);
|
|
43
|
+
// Derive thread PDA
|
|
44
|
+
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
45
|
+
const contractThread = await (0, thread_2.deriveContractThread)(contractAddress, rentalAuthority);
|
|
46
|
+
// Fetch thread account to read actual fiber_ids
|
|
47
|
+
const threadAccount = await (0, thread_1.fetchThread)(contractThread, finalConfig.rpcUrl);
|
|
48
|
+
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
49
|
+
// Derive fiber PDAs only for fibers that actually exist on the thread
|
|
50
|
+
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
51
|
+
address: await (0, thread_2.deriveFiber)(contractThread, id),
|
|
52
|
+
role: kit_1.AccountRole.WRITABLE,
|
|
53
|
+
})));
|
|
54
|
+
const kitInstruction = await (0, instructions_1.getDeleteContractThreadInstructionAsync)({
|
|
55
|
+
admin: adminSigner,
|
|
56
|
+
thread: contractThread,
|
|
57
|
+
}, { programAddress });
|
|
58
|
+
// Add fiber PDAs as remaining accounts (writable, non-signer)
|
|
59
|
+
kitInstruction.accounts.push(...fiberAccounts);
|
|
60
|
+
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
61
|
+
computeUnits: params.computeUnits,
|
|
62
|
+
PublicKey: finalConfig.PublicKey
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=deleteContractThread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteContractThread.js","sourceRoot":"","sources":["../../../src/instructions/deleteContractThread.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA2CH,oDAiDC;AA1FD,qCAAiE;AACjE,mEAA2F;AAC3F,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,+CAAiD;AACjD,0CAAkE;AAClE,wCAAqD;AAsBrD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,oBAAoB,CACxC,MAAkC,EAClC,MAA2B;IAE3B,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,aAAO,EAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,IAAA,6BAAqB,GAAE,CAAC;IACtD,MAAM,cAAc,GAAG,MAAM,IAAA,6BAAoB,EAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpF,gDAAgD;IAChD,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAa,CAAC;IAErE,sEAAsE;IACtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,iBAAW,CAAC,QAAiB;KACpC,CAAC,CAAC,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,IAAA,sDAAuC,EAClE;QACE,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,8DAA8D;IAC9D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAE/C,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -35,9 +35,9 @@ __exportStar(require("./closeBorrower"), exports);
|
|
|
35
35
|
__exportStar(require("./createBorrower"), exports);
|
|
36
36
|
__exportStar(require("./deleteBorrower"), exports);
|
|
37
37
|
__exportStar(require("./claimContract"), exports);
|
|
38
|
-
__exportStar(require("./activateRental"), exports);
|
|
39
38
|
__exportStar(require("./createContractThread"), exports);
|
|
40
39
|
__exportStar(require("./closeContractThread"), exports);
|
|
40
|
+
__exportStar(require("./deleteContractThread"), exports);
|
|
41
41
|
__exportStar(require("./updateContractThread"), exports);
|
|
42
42
|
__exportStar(require("./createConfig"), exports);
|
|
43
43
|
__exportStar(require("./updateConfig"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instructions/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B;AAC9B,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,yDAAuC;AACvC,wDAAsC;AACtC,yDAAuC;AACvC,yDAAuC;AACvC,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,oDAAkC;AAClC,qDAAmC;AACnC,oDAAkC;AAClC,oDAAkC"}
|
|
@@ -13,6 +13,7 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const instructions_2 = require("../utils/instructions");
|
|
15
15
|
const sage_1 = require("../pda/sage");
|
|
16
|
+
const fleet_1 = require("../accounts/fleet");
|
|
16
17
|
/**
|
|
17
18
|
* Invalidate a rental
|
|
18
19
|
*
|
|
@@ -68,12 +69,6 @@ async function invalidateRental(params, config) {
|
|
|
68
69
|
if (!params.signer) {
|
|
69
70
|
throw new Error('signer is required');
|
|
70
71
|
}
|
|
71
|
-
if (!params.ownerProfile) {
|
|
72
|
-
throw new Error('ownerProfile is required');
|
|
73
|
-
}
|
|
74
|
-
if (!params.faction) {
|
|
75
|
-
throw new Error('faction is required');
|
|
76
|
-
}
|
|
77
72
|
// Convert signer to transaction signer
|
|
78
73
|
const signerAccount = (0, signer_1.toTransactionSigner)(params.signer);
|
|
79
74
|
// Get network-specific addresses (including gameId)
|
|
@@ -81,8 +76,16 @@ async function invalidateRental(params, config) {
|
|
|
81
76
|
const gameId = (0, kit_1.address)(addresses.gameId);
|
|
82
77
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
83
78
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
79
|
+
// Auto-fetch ownerProfile and faction from fleet when not provided
|
|
80
|
+
let ownerProfile = params.ownerProfile;
|
|
81
|
+
let faction = params.faction;
|
|
82
|
+
if (!ownerProfile || !faction) {
|
|
83
|
+
const fleetState = await (0, fleet_1.fetchFleet)(params.fleet, finalConfig.rpcUrl);
|
|
84
|
+
ownerProfile = ownerProfile ?? fleetState.ownerProfile;
|
|
85
|
+
faction = faction ?? fleetState.faction;
|
|
86
|
+
}
|
|
84
87
|
// Derive owner's SAGE accounts (NOT borrower's)
|
|
85
|
-
const gameAccounts = await (0, sage_1.deriveGameAccounts)(
|
|
88
|
+
const gameAccounts = await (0, sage_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
86
89
|
// Call Codama-generated instruction
|
|
87
90
|
// Contract and rentalAuthority are auto-derived by Codama
|
|
88
91
|
const kitInstruction = await (0, instructions_1.getInvalidateRentalInstructionAsync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"invalidateRental.js","sourceRoot":"","sources":["../../../src/instructions/invalidateRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA0FH,4CA0DC;AAlJD,qCAAoD;AACpD,mEAAuF;AACvF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,sCAAiD;AACjD,6CAA+C;AAqC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAA8B,EAC9B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,mEAAmE;IACnE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,KAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjF,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvD,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,MAAM,IAAA,kDAAmC,EAC9D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -13,6 +13,7 @@ const config_1 = require("../utils/config");
|
|
|
13
13
|
const signer_1 = require("../utils/signer");
|
|
14
14
|
const instructions_2 = require("../utils/instructions");
|
|
15
15
|
const sage_1 = require("../pda/sage");
|
|
16
|
+
const fleet_1 = require("../accounts/fleet");
|
|
16
17
|
/**
|
|
17
18
|
* Release a rental
|
|
18
19
|
*
|
|
@@ -66,12 +67,6 @@ async function releaseRental(params, config) {
|
|
|
66
67
|
if (!params.signer) {
|
|
67
68
|
throw new Error('signer is required');
|
|
68
69
|
}
|
|
69
|
-
if (!params.ownerProfile) {
|
|
70
|
-
throw new Error('ownerProfile is required');
|
|
71
|
-
}
|
|
72
|
-
if (!params.faction) {
|
|
73
|
-
throw new Error('faction is required');
|
|
74
|
-
}
|
|
75
70
|
// Convert signer to transaction signer
|
|
76
71
|
const signerAccount = (0, signer_1.toTransactionSigner)(params.signer);
|
|
77
72
|
// Get network-specific addresses (including gameId)
|
|
@@ -79,8 +74,16 @@ async function releaseRental(params, config) {
|
|
|
79
74
|
const gameId = (0, kit_1.address)(addresses.gameId);
|
|
80
75
|
const sageProgram = (0, kit_1.address)(addresses.sage);
|
|
81
76
|
const programAddress = (0, kit_1.address)(addresses.srsly);
|
|
77
|
+
// Auto-fetch ownerProfile and faction from fleet when not provided
|
|
78
|
+
let ownerProfile = params.ownerProfile;
|
|
79
|
+
let faction = params.faction;
|
|
80
|
+
if (!ownerProfile || !faction) {
|
|
81
|
+
const fleetState = await (0, fleet_1.fetchFleet)(params.fleet, finalConfig.rpcUrl);
|
|
82
|
+
ownerProfile = ownerProfile ?? fleetState.ownerProfile;
|
|
83
|
+
faction = faction ?? fleetState.faction;
|
|
84
|
+
}
|
|
82
85
|
// Derive owner's SAGE accounts (NOT borrower's)
|
|
83
|
-
const gameAccounts = await (0, sage_1.deriveGameAccounts)(
|
|
86
|
+
const gameAccounts = await (0, sage_1.deriveGameAccounts)(ownerProfile, faction, gameId);
|
|
84
87
|
// Call Codama-generated instruction
|
|
85
88
|
// Contract and rentalAuthority are auto-derived by Codama from seeds
|
|
86
89
|
const kitInstruction = await (0, instructions_1.getReleaseRentalInstructionAsync)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"releaseRental.js","sourceRoot":"","sources":["../../../src/instructions/releaseRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwFH,sCA0DC;AAhJD,qCAAoD;AACpD,mEAAoF;AACpF,4CAA4E;AAC5E,4CAA4E;AAC5E,wDAA4D;AAC5D,sCAAiD;AACjD,6CAA+C;AAqC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACI,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,MAAiB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAA,aAAO,EAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,mEAAmE;IACnE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,KAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACjF,YAAY,GAAG,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC;QACvD,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAkB,EAC3C,YAAY,EACZ,OAAO,EACP,MAAM,CACP,CAAC;IAEF,oCAAoC;IACpC,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAgC,EAC3D;QACE,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,IAAA,aAAO,EAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,WAAW;KACZ,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,IAAA,kCAAmB,EAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -86,9 +86,9 @@ async function reserveRental(params, config) {
|
|
|
86
86
|
const rentalState = await (0, srsly_1.deriveQueuedRental)(params.contract);
|
|
87
87
|
// Derive rental authority
|
|
88
88
|
const rentalAuthority = await (0, srsly_1.deriveRentalAuthority)();
|
|
89
|
-
// Derive contract thread and
|
|
89
|
+
// Derive contract thread and close_rental fiber (fiber index 1)
|
|
90
90
|
const contractThread = await (0, thread_1.deriveContractThread)(params.contract, rentalAuthority);
|
|
91
|
-
const
|
|
91
|
+
const closeRentalFiber = await (0, thread_1.deriveFiber)(contractThread, 1);
|
|
92
92
|
// Derive contract token account (ATA of contract PDA)
|
|
93
93
|
const contractAddress = (0, kit_1.address)(params.contract);
|
|
94
94
|
const contractTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(contractAddress, atlasMint);
|
|
@@ -96,19 +96,17 @@ async function reserveRental(params, config) {
|
|
|
96
96
|
const challengerTokenAccount = await (0, token_1.deriveAssociatedTokenAccount)(challengerSigner.address, atlasMint);
|
|
97
97
|
// Convert duration to seconds
|
|
98
98
|
const durationSeconds = (0, duration_1.convertDuration)(params.duration);
|
|
99
|
-
const discount = params.discount ? (0, kit_1.address)(params.discount) : undefined;
|
|
100
99
|
const referrer = params.referrer ? (0, kit_1.address)(params.referrer) : undefined;
|
|
101
100
|
// Build instruction input
|
|
102
101
|
const instructionInput = {
|
|
103
102
|
challenger: challengerSigner,
|
|
104
103
|
contract: contractAddress,
|
|
105
104
|
contractThread,
|
|
106
|
-
|
|
105
|
+
closeRentalFiber,
|
|
107
106
|
contractTokenAccount,
|
|
108
107
|
challengerTokenAccount,
|
|
109
108
|
rentalState,
|
|
110
109
|
referrer,
|
|
111
|
-
discount,
|
|
112
110
|
sageProgram,
|
|
113
111
|
bidPoints,
|
|
114
112
|
bidAtlas: bidAtlasValue,
|
|
@@ -121,12 +119,12 @@ async function reserveRental(params, config) {
|
|
|
121
119
|
if (queuedRental.data.status === types_1.RentalStatus.Queued) {
|
|
122
120
|
const defenderBorrowerState = queuedRental.data.borrowerState;
|
|
123
121
|
const challengerBorrowerState = await (0, srsly_1.deriveBorrowerState)(challengerSigner);
|
|
124
|
-
//
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
// Self-knockoff is not allowed — you can't bid against your own queued reservation
|
|
123
|
+
if (defenderBorrowerState === challengerBorrowerState) {
|
|
124
|
+
throw new Error('Cannot reserve: you already hold the queued reservation on this contract. ' +
|
|
125
|
+
'Cancel your existing reservation first.');
|
|
128
126
|
}
|
|
129
|
-
|
|
127
|
+
instructionInput.defenderState = defenderBorrowerState;
|
|
130
128
|
const defenderAccount = await (0, borrower_1.fetchBorrower)(defenderBorrowerState, finalConfig.rpcUrl);
|
|
131
129
|
instructionInput.defenderManagedTokenAccount = defenderAccount.data.managedTokenAccount;
|
|
132
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,7 @@ async function updateConfig(params, config) {
|
|
|
90
90
|
maxWeight: toOption(params.maxWeight),
|
|
91
91
|
captureRateBps: toOption(params.captureRateBps),
|
|
92
92
|
atlasPerPoint: toOption(params.atlasPerPoint),
|
|
93
|
+
knockoffBonusBps: toOption(params.knockoffBonusBps),
|
|
93
94
|
}, { programAddress });
|
|
94
95
|
return (0, instructions_2.prepareInstructions)(kitInstruction, {
|
|
95
96
|
computeUnits: params.computeUnits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8JH,
|
|
1
|
+
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AAEvB,sBAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/kit/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AAEvB,sBAAsB;AACtB,iDAI8B;AAH5B,6GAAA,iBAAiB,OAAA;AACjB,iGAAA,KAAK,OAAA;AAIP,8DAA8C"}
|
package/dist/cjs/legacy/index.js
CHANGED
|
@@ -59,7 +59,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
59
59
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
60
60
|
};
|
|
61
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
-
exports.claim = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.deleteConfig = exports.updateConfig = exports.createConfig = exports.updateContractThread = exports.closeContractThread = exports.createContractThread = exports.
|
|
62
|
+
exports.claim = exports.updateAffiliate = exports.removeAffiliate = exports.approveAffiliate = exports.createAffiliate = exports.deleteConfig = exports.updateConfig = exports.createConfig = exports.updateContractThread = exports.closeContractThread = exports.createContractThread = exports.claimContract = exports.deleteBorrower = exports.createBorrower = exports.closeBorrower = exports.claimBorrower = exports.deleteRental = exports.reserveRental = exports.invalidateRental = exports.releaseRental = exports.closeRental = exports.cancelRental = exports.acceptRental = exports.setDelegate = exports.deleteContract = exports.closeContract = exports.updateContract = exports.createContract = exports.deriveDiscountPda = exports.codama = exports.VERSION = void 0;
|
|
63
63
|
const utils_1 = require("../utils");
|
|
64
64
|
const kit = __importStar(require("../instructions"));
|
|
65
65
|
const slyvault_1 = require("@wuwei-labs/slyvault");
|
|
@@ -110,7 +110,6 @@ exports.closeBorrower = w(kit.closeBorrower);
|
|
|
110
110
|
exports.createBorrower = w(kit.createBorrower);
|
|
111
111
|
exports.deleteBorrower = w(kit.deleteBorrower);
|
|
112
112
|
exports.claimContract = w(kit.claimContract);
|
|
113
|
-
exports.activateRental = w(kit.activateRental);
|
|
114
113
|
exports.createContractThread = w(kit.createContractThread);
|
|
115
114
|
exports.closeContractThread = w(kit.closeContractThread);
|
|
116
115
|
exports.updateContractThread = w(kit.updateContractThread);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/legacy/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oCAAwF;AACxF,qDAAuC;AACvC,mDAA8D;AAE9D,oDAAoD;AACpD,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,yCAAuB;AACvB,sCAAqC;AAA5B,kGAAA,OAAO,OAAA;AAChB,8DAA8C;AAG9C,sBAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/legacy/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/package.json
CHANGED
package/dist/cjs/utils/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @module utils
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.hasQueuedRental = exports.hasActiveRental = exports.getLookupTableAddress = exports.fetchLookupTable = exports.isRpcDebugEnabled = exports.setRpcDebug = exports.createRpc = exports.InstructionResult = exports.prepareInstructions = exports.toAddress = exports.toWeb3Instruction = exports.isAddressString = exports.isKitSigner = exports.isWeb3jsSigner = exports.validateAddress = exports.toTransactionSigner = exports.ATLASNET_ADDRESSES = exports.MAINNET_ADDRESSES = exports.ATLASNET_GENESIS = exports.DEVNET_GENESIS = exports.MAINNET_GENESIS = exports.resolveGenesisHash = exports.isValidNetwork = exports.isValidProgramSet = exports.getNetworkAddresses = exports.getProgramAddresses = exports.detectProgramSet = exports.getRpcUrl = exports.getAffiliateConfig = exports.getAddresses = exports.mergeConfig = exports.clearSdkConfig = exports.getSdkConfig = exports.setSdkConfig = void 0;
|
|
8
8
|
// Configuration
|
|
9
9
|
var config_1 = require("./config");
|
|
10
10
|
Object.defineProperty(exports, "setSdkConfig", { enumerable: true, get: function () { return config_1.setSdkConfig; } });
|
|
@@ -57,7 +57,4 @@ Object.defineProperty(exports, "getLookupTableAddress", { enumerable: true, get:
|
|
|
57
57
|
var rental_1 = require("./rental");
|
|
58
58
|
Object.defineProperty(exports, "hasActiveRental", { enumerable: true, get: function () { return rental_1.hasActiveRental; } });
|
|
59
59
|
Object.defineProperty(exports, "hasQueuedRental", { enumerable: true, get: function () { return rental_1.hasQueuedRental; } });
|
|
60
|
-
// Discount PDA Utilities
|
|
61
|
-
var discountAuth_1 = require("./discountAuth");
|
|
62
|
-
Object.defineProperty(exports, "createDiscountForRental", { enumerable: true, get: function () { return discountAuth_1.createDiscountForRental; } });
|
|
63
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAYkB;AAXhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAMlB,oBAAoB;AACpB,yCAeqB;AAdnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAOpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAGwB;AAFtB,mHAAA,mBAAmB,OAAA;AAIrB,qBAAqB;AACrB,yDAG6B;AAF3B,sHAAA,iBAAiB,OAAA;AAInB,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAElD,iCAAiC;AACjC,6CAIuB;AAHrB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAIvB,mBAAmB;AACnB,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gBAAgB;AAChB,mCAYkB;AAXhB,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,sGAAA,YAAY,OAAA;AACZ,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAMlB,oBAAoB;AACpB,yCAeqB;AAdnB,gHAAA,mBAAmB,OAAA;AACnB,gHAAA,mBAAmB,OAAA;AACnB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,8GAAA,iBAAiB,OAAA;AACjB,+GAAA,kBAAkB,OAAA;AAOpB,mBAAmB;AACnB,mCAOkB;AANhB,6GAAA,mBAAmB,OAAA;AACnB,yGAAA,eAAe,OAAA;AACf,wGAAA,cAAc,OAAA;AACd,qGAAA,WAAW,OAAA;AACX,yGAAA,eAAe,OAAA;AAIjB,wBAAwB;AACxB,mCAMkB;AALhB,2GAAA,iBAAiB,OAAA;AACjB,mGAAA,SAAS,OAAA;AAMX,wBAAwB;AACxB,+CAGwB;AAFtB,mHAAA,mBAAmB,OAAA;AAIrB,qBAAqB;AACrB,yDAG6B;AAF3B,sHAAA,iBAAiB,OAAA;AAInB,gBAAgB;AAChB,6BAAkE;AAAzD,gGAAA,SAAS,OAAA;AAAE,kGAAA,WAAW,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAElD,iCAAiC;AACjC,6CAIuB;AAHrB,+GAAA,gBAAgB,OAAA;AAChB,oHAAA,qBAAqB,OAAA;AAIvB,mBAAmB;AACnB,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,yGAAA,eAAe,OAAA"}
|
package/dist/cjs/version.js
CHANGED
|
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// Auto-generated from package.json - DO NOT EDIT
|
|
5
5
|
// Run "pnpm run generate:version" to update
|
|
6
|
-
exports.VERSION = '4.
|
|
6
|
+
exports.VERSION = '4.2.0';
|
|
7
7
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/demos.js
CHANGED
|
@@ -230,6 +230,7 @@ import { setSdkConfig, acceptRental, createDiscount } from '@wuwei-labs/srsly/le
|
|
|
230
230
|
setSdkConfig({ PublicKey });`,
|
|
231
231
|
instruction: `const instructions = await acceptRental({
|
|
232
232
|
borrower: {{signerType}},
|
|
233
|
+
borrowerProfile: "BORROWER_PROFILE_ADDRESS",
|
|
233
234
|
contract: "CONTRACT_ADDRESS",
|
|
234
235
|
duration: { days: 7 },
|
|
235
236
|
computeUnits: 275_000
|
|
@@ -246,7 +247,7 @@ setSdkConfig({ PublicKey });`,
|
|
|
246
247
|
instruction: `const instruction = await cancelRental({
|
|
247
248
|
borrower: {{signerType}},
|
|
248
249
|
contract: "CONTRACT_ADDRESS"
|
|
249
|
-
// cancelDelay: { hours: 1 } // Optional - defaults to
|
|
250
|
+
// cancelDelay: { hours: 1 } // Optional - defaults to contract's cancelDelayMin. Use 0 for instant
|
|
250
251
|
});`,
|
|
251
252
|
};
|
|
252
253
|
export const closeRentalDemo = {
|
|
@@ -273,10 +274,8 @@ import { setSdkConfig, releaseRental } from '@wuwei-labs/srsly/legacy';
|
|
|
273
274
|
setSdkConfig({ PublicKey });`,
|
|
274
275
|
instruction: `const instruction = await releaseRental({
|
|
275
276
|
signer: {{signerType}},
|
|
276
|
-
fleet: "FLEET_ADDRESS"
|
|
277
|
-
|
|
278
|
-
borrowerProfile: "BORROWER_PLAYER_PROFILE_ADDRESS",
|
|
279
|
-
faction: "mud" // mud, oni, or ustur
|
|
277
|
+
fleet: "FLEET_ADDRESS"
|
|
278
|
+
// ownerProfile + faction auto-fetched from fleet account
|
|
280
279
|
});`,
|
|
281
280
|
};
|
|
282
281
|
export const reserveRentalDemo = {
|
|
@@ -298,19 +297,6 @@ setSdkConfig({ PublicKey });`,
|
|
|
298
297
|
computeUnits: 275_000
|
|
299
298
|
});`,
|
|
300
299
|
};
|
|
301
|
-
export const activateRentalDemo = {
|
|
302
|
-
tabName: 'activate',
|
|
303
|
-
description: 'Manually activate a queued rental (permissionless)',
|
|
304
|
-
imports: `import { activateRental } from '@wuwei-labs/srsly/kit';`,
|
|
305
|
-
legacyImports: `import { PublicKey } from '@solana/web3.js';
|
|
306
|
-
import { setSdkConfig, activateRental } from '@wuwei-labs/srsly/legacy';
|
|
307
|
-
|
|
308
|
-
setSdkConfig({ PublicKey });`,
|
|
309
|
-
instruction: `const instruction = await activateRental({
|
|
310
|
-
payer: {{signerType}},
|
|
311
|
-
contract: "CONTRACT_ADDRESS"
|
|
312
|
-
});`,
|
|
313
|
-
};
|
|
314
300
|
export const invalidateRentalDemo = {
|
|
315
301
|
tabName: 'invalidate',
|
|
316
302
|
description: 'Emergency fleet unlock when contract does not exist',
|
|
@@ -321,9 +307,8 @@ import { setSdkConfig, invalidateRental } from '@wuwei-labs/srsly/legacy';
|
|
|
321
307
|
setSdkConfig({ PublicKey });`,
|
|
322
308
|
instruction: `const instruction = await invalidateRental({
|
|
323
309
|
signer: {{signerType}},
|
|
324
|
-
fleet: "FLEET_ADDRESS"
|
|
325
|
-
ownerProfile
|
|
326
|
-
faction: "mud" // mud, oni, or ustur
|
|
310
|
+
fleet: "FLEET_ADDRESS"
|
|
311
|
+
// ownerProfile + faction auto-fetched from fleet account
|
|
327
312
|
});`,
|
|
328
313
|
};
|
|
329
314
|
export const deleteRentalDemo = {
|
|
@@ -440,8 +425,10 @@ import { setSdkConfig, createAffiliate } from '@wuwei-labs/srsly/legacy';
|
|
|
440
425
|
setSdkConfig({ PublicKey });`,
|
|
441
426
|
instruction: `const instruction = await createAffiliate({
|
|
442
427
|
affiliate: {{signerType}},
|
|
443
|
-
parentMemberState: "PARENT_MEMBER_STATE_PDA"
|
|
444
|
-
|
|
428
|
+
parentMemberState: "PARENT_MEMBER_STATE_PDA",
|
|
429
|
+
discountAuthority: "DISCOUNT_AUTHORITY_ADDRESS", // Optional: separate key for signing discount vouchers
|
|
430
|
+
discountsMin: 5 // Optional: reserve SOL for up to 5 active discount vouchers
|
|
431
|
+
// After creation, use updateAffiliate to adjust discountsMin
|
|
445
432
|
});`,
|
|
446
433
|
};
|
|
447
434
|
export const approveAffiliateDemo = {
|
|
@@ -487,7 +474,8 @@ setSdkConfig({ PublicKey });`,
|
|
|
487
474
|
instruction: `const instruction = await updateAffiliate({
|
|
488
475
|
authority: {{signerType}},
|
|
489
476
|
affiliateState: "AFFILIATE_STATE_PDA",
|
|
490
|
-
discountAuthority: "
|
|
477
|
+
discountAuthority: "DISCOUNT_AUTHORITY_ADDRESS",
|
|
478
|
+
discountsMin: 5 // Reserve SOL for up to 5 active discount vouchers
|
|
491
479
|
// discountAuthority: null // Pass null to clear discount authority
|
|
492
480
|
});`,
|
|
493
481
|
};
|
|
@@ -546,7 +534,6 @@ export const ALL_DEMOS = {
|
|
|
546
534
|
closeRental: closeRentalDemo,
|
|
547
535
|
releaseRental: releaseRentalDemo,
|
|
548
536
|
reserveRental: reserveRentalDemo,
|
|
549
|
-
activateRental: activateRentalDemo,
|
|
550
537
|
invalidateRental: invalidateRentalDemo,
|
|
551
538
|
deleteRental: deleteRentalDemo,
|
|
552
539
|
deleteConfig: deleteConfigDemo,
|