@wuwei-labs/srsly 3.0.0-beta.23 → 3.0.0-beta.25
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 +0 -1
- package/dist/cjs/demos.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/configState.js +4 -5
- package/dist/cjs/generated/codama/accounts/configState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/rentalState.js +6 -6
- package/dist/cjs/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/cjs/generated/codama/accounts/thread.js +0 -2
- package/dist/cjs/generated/codama/accounts/thread.js.map +1 -1
- package/dist/cjs/generated/codama/errors/srsly.js +7 -1
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/closeContractThread.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/reserveRental.js +4 -2
- package/dist/cjs/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/updateConfig.js +0 -14
- package/dist/cjs/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/generated/codama/types/contractProcessed.js +33 -0
- package/dist/cjs/generated/codama/types/contractProcessed.js.map +1 -0
- package/dist/cjs/generated/codama/types/index.js +2 -4
- package/dist/cjs/generated/codama/types/index.js.map +1 -1
- package/dist/cjs/generated/codama/types/rentalExpired.js +31 -0
- package/dist/cjs/generated/codama/types/rentalExpired.js.map +1 -0
- package/dist/cjs/generated/codama/types/reservationCreated.js +4 -5
- package/dist/cjs/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/cjs/instructions/acceptRental.js +27 -9
- package/dist/cjs/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/instructions/createContract.js +36 -1
- package/dist/cjs/instructions/createContract.js.map +1 -1
- package/dist/cjs/instructions/reserveRental.js +10 -6
- package/dist/cjs/instructions/reserveRental.js.map +1 -1
- package/dist/cjs/instructions/updateConfig.js +0 -2
- package/dist/cjs/instructions/updateConfig.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/pda/lookupTable.js +3 -2
- package/dist/cjs/pda/lookupTable.js.map +1 -1
- package/dist/cjs/pda/sage.js +11 -10
- package/dist/cjs/pda/sage.js.map +1 -1
- package/dist/cjs/pda/srsly.js +9 -8
- package/dist/cjs/pda/srsly.js.map +1 -1
- package/dist/cjs/pda/thread.js +6 -5
- package/dist/cjs/pda/thread.js.map +1 -1
- package/dist/cjs/pda/token.js +5 -4
- package/dist/cjs/pda/token.js.map +1 -1
- package/dist/cjs/utils/signer.js +8 -1
- package/dist/cjs/utils/signer.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/demos.js +0 -1
- package/dist/esm/demos.js.map +1 -1
- package/dist/esm/generated/codama/accounts/configState.js +4 -6
- package/dist/esm/generated/codama/accounts/configState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/rentalState.js +7 -7
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/accounts/thread.js +1 -3
- package/dist/esm/generated/codama/accounts/thread.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +6 -0
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/closeContractThread.js.map +1 -1
- package/dist/esm/generated/codama/instructions/reserveRental.js +5 -3
- package/dist/esm/generated/codama/instructions/reserveRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/updateConfig.js +1 -15
- package/dist/esm/generated/codama/instructions/updateConfig.js.map +1 -1
- package/dist/esm/generated/codama/types/contractProcessed.js +28 -0
- package/dist/esm/generated/codama/types/contractProcessed.js.map +1 -0
- package/dist/esm/generated/codama/types/index.js +2 -4
- package/dist/esm/generated/codama/types/index.js.map +1 -1
- package/dist/esm/generated/codama/types/rentalExpired.js +26 -0
- package/dist/esm/generated/codama/types/rentalExpired.js.map +1 -0
- package/dist/esm/generated/codama/types/reservationCreated.js +5 -6
- package/dist/esm/generated/codama/types/reservationCreated.js.map +1 -1
- package/dist/esm/instructions/acceptRental.js +27 -9
- package/dist/esm/instructions/acceptRental.js.map +1 -1
- package/dist/esm/instructions/createContract.js +38 -3
- package/dist/esm/instructions/createContract.js.map +1 -1
- package/dist/esm/instructions/reserveRental.js +10 -6
- package/dist/esm/instructions/reserveRental.js.map +1 -1
- package/dist/esm/instructions/updateConfig.js +0 -2
- package/dist/esm/instructions/updateConfig.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/pda/lookupTable.js +3 -2
- package/dist/esm/pda/lookupTable.js.map +1 -1
- package/dist/esm/pda/sage.js +11 -10
- package/dist/esm/pda/sage.js.map +1 -1
- package/dist/esm/pda/srsly.js +9 -8
- package/dist/esm/pda/srsly.js.map +1 -1
- package/dist/esm/pda/thread.js +6 -5
- package/dist/esm/pda/thread.js.map +1 -1
- package/dist/esm/pda/token.js +5 -4
- package/dist/esm/pda/token.js.map +1 -1
- package/dist/esm/utils/signer.js +8 -1
- package/dist/esm/utils/signer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/idl/srsly.json +84 -184
- package/dist/types/demos.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/configState.d.ts +5 -13
- package/dist/types/generated/codama/accounts/configState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/rentalState.d.ts +13 -13
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/accounts/thread.d.ts +1 -3
- package/dist/types/generated/codama/accounts/thread.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +5 -1
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts +3 -0
- package/dist/types/generated/codama/instructions/closeContractThread.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/reserveRental.d.ts +8 -4
- package/dist/types/generated/codama/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/updateConfig.d.ts +0 -13
- package/dist/types/generated/codama/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/generated/codama/types/contractProcessed.d.ts +24 -0
- package/dist/types/generated/codama/types/contractProcessed.d.ts.map +1 -0
- package/dist/types/generated/codama/types/index.d.ts +2 -4
- package/dist/types/generated/codama/types/index.d.ts.map +1 -1
- package/dist/types/generated/codama/types/rentalExpired.d.ts +18 -0
- package/dist/types/generated/codama/types/rentalExpired.d.ts.map +1 -0
- package/dist/types/generated/codama/types/reservationCreated.d.ts +4 -5
- package/dist/types/generated/codama/types/reservationCreated.d.ts.map +1 -1
- package/dist/types/instructions/acceptRental.d.ts +8 -0
- package/dist/types/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/instructions/createContract.d.ts +23 -0
- package/dist/types/instructions/createContract.d.ts.map +1 -1
- package/dist/types/instructions/reserveRental.d.ts +10 -4
- package/dist/types/instructions/reserveRental.d.ts.map +1 -1
- package/dist/types/instructions/updateConfig.d.ts +0 -9
- package/dist/types/instructions/updateConfig.d.ts.map +1 -1
- package/dist/types/pda/index.d.ts +1 -0
- package/dist/types/pda/index.d.ts.map +1 -1
- package/dist/types/pda/lookupTable.d.ts +2 -1
- package/dist/types/pda/lookupTable.d.ts.map +1 -1
- package/dist/types/pda/sage.d.ts +6 -5
- package/dist/types/pda/sage.d.ts.map +1 -1
- package/dist/types/pda/srsly.d.ts +7 -6
- package/dist/types/pda/srsly.d.ts.map +1 -1
- package/dist/types/pda/thread.d.ts +3 -2
- package/dist/types/pda/thread.d.ts.map +1 -1
- package/dist/types/pda/token.d.ts +2 -1
- package/dist/types/pda/token.d.ts.map +1 -1
- package/dist/types/utils/signer.d.ts +3 -0
- package/dist/types/utils/signer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { combineCodec, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, } from "@solana/kit";
|
|
9
|
+
export function getRentalExpiredEncoder() {
|
|
10
|
+
return getStructEncoder([
|
|
11
|
+
["contract", getAddressEncoder()],
|
|
12
|
+
["expiredBorrower", getAddressEncoder()],
|
|
13
|
+
["newBorrower", getAddressEncoder()],
|
|
14
|
+
]);
|
|
15
|
+
}
|
|
16
|
+
export function getRentalExpiredDecoder() {
|
|
17
|
+
return getStructDecoder([
|
|
18
|
+
["contract", getAddressDecoder()],
|
|
19
|
+
["expiredBorrower", getAddressDecoder()],
|
|
20
|
+
["newBorrower", getAddressDecoder()],
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
export function getRentalExpiredCodec() {
|
|
24
|
+
return combineCodec(getRentalExpiredEncoder(), getRentalExpiredDecoder());
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=rentalExpired.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rentalExpired.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/rentalExpired.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AAUrB,MAAM,UAAU,uBAAuB;IACrC,OAAO,gBAAgB,CAAC;QACtB,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;QACxC,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,gBAAgB,CAAC;QACtB,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;QACxC,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB;IAInC,OAAO,YAAY,CAAC,uBAAuB,EAAE,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -5,14 +5,13 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
|
-
import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, } from "@solana/kit";
|
|
9
|
-
import { getBidTypeDecoder, getBidTypeEncoder, } from ".";
|
|
8
|
+
import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, } from "@solana/kit";
|
|
10
9
|
export function getReservationCreatedEncoder() {
|
|
11
10
|
return getStructEncoder([
|
|
12
11
|
["contract", getAddressEncoder()],
|
|
13
12
|
["challenger", getAddressEncoder()],
|
|
14
|
-
["
|
|
15
|
-
["
|
|
13
|
+
["bidPoints", getU32Encoder()],
|
|
14
|
+
["bidAtlas", getU64Encoder()],
|
|
16
15
|
["escrowAmount", getU64Encoder()],
|
|
17
16
|
["serviceFee", getU64Encoder()],
|
|
18
17
|
["durationSeconds", getI64Encoder()],
|
|
@@ -22,8 +21,8 @@ export function getReservationCreatedDecoder() {
|
|
|
22
21
|
return getStructDecoder([
|
|
23
22
|
["contract", getAddressDecoder()],
|
|
24
23
|
["challenger", getAddressDecoder()],
|
|
25
|
-
["
|
|
26
|
-
["
|
|
24
|
+
["bidPoints", getU32Decoder()],
|
|
25
|
+
["bidAtlas", getU64Decoder()],
|
|
27
26
|
["escrowAmount", getU64Decoder()],
|
|
28
27
|
["serviceFee", getU64Decoder()],
|
|
29
28
|
["durationSeconds", getI64Decoder()],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservationCreated.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/reservationCreated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"reservationCreated.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/reservationCreated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GAKd,MAAM,aAAa,CAAC;AAsBrB,MAAM,UAAU,4BAA4B;IAC1C,OAAO,gBAAgB,CAAC;QACtB,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;QACnC,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;QACjC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;QAC/B,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,gBAAgB,CAAC;QACtB,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;QACnC,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;QAC9B,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;QAC7B,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;QACjC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;QAC/B,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B;IAIxC,OAAO,YAAY,CACjB,4BAA4B,EAAE,EAC9B,4BAA4B,EAAE,CAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -14,12 +14,14 @@ import { fetchFleet } from '../accounts/fleet';
|
|
|
14
14
|
import { fetchContract } from '../accounts/contract';
|
|
15
15
|
import { fetchConfig } from '../accounts/config';
|
|
16
16
|
import { fetchBorrower } from '../accounts/borrower';
|
|
17
|
+
import { fetchRental } from '../accounts/rental';
|
|
17
18
|
import { deriveGameAccounts } from '../pda/sage';
|
|
18
19
|
import { deriveActiveRental, deriveRentalAuthority } from '../pda/srsly';
|
|
19
20
|
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
20
21
|
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
21
22
|
import { prepareInstructions } from '../utils/instructions';
|
|
22
23
|
import { deserializeDiscountAuth } from '../utils/discountAuth';
|
|
24
|
+
import { RentalStatus } from '../generated/codama/types';
|
|
23
25
|
/**
|
|
24
26
|
* Accept a rental contract
|
|
25
27
|
*
|
|
@@ -61,18 +63,17 @@ export async function acceptRental(params, config) {
|
|
|
61
63
|
}
|
|
62
64
|
// Convert borrower to transaction signer
|
|
63
65
|
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
64
|
-
//
|
|
66
|
+
// Use param if provided, auto-fetch only when omitted
|
|
65
67
|
let borrowerProfile;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
borrowerProfile = borrowerAccount.data.borrowerProfile;
|
|
68
|
+
if (params.borrowerProfile) {
|
|
69
|
+
borrowerProfile = address(params.borrowerProfile);
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
borrowerProfile =
|
|
71
|
+
else {
|
|
72
|
+
try {
|
|
73
|
+
const borrowerAccount = await fetchBorrower(borrowerSigner.address, finalConfig.rpcUrl);
|
|
74
|
+
borrowerProfile = borrowerAccount.data.borrowerProfile;
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
catch {
|
|
76
77
|
throw new Error('borrowerProfile is required for first-time borrowers');
|
|
77
78
|
}
|
|
78
79
|
}
|
|
@@ -98,6 +99,22 @@ export async function acceptRental(params, config) {
|
|
|
98
99
|
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
99
100
|
// Derive active rental PDA (no more slot logic)
|
|
100
101
|
const rentalState = await deriveActiveRental(params.contract);
|
|
102
|
+
// Resolve expiredBorrowerState: use param if provided, otherwise auto-detect
|
|
103
|
+
let expiredBorrowerState;
|
|
104
|
+
if (params.expiredBorrowerState) {
|
|
105
|
+
expiredBorrowerState = address(params.expiredBorrowerState);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
try {
|
|
109
|
+
const activeRental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
110
|
+
if (activeRental.data.status !== RentalStatus.Available) {
|
|
111
|
+
expiredBorrowerState = activeRental.data.borrowerState;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Rental state doesn't exist or can't be fetched — no expired rental to replace
|
|
116
|
+
}
|
|
117
|
+
}
|
|
101
118
|
// Derive rental authority PDA
|
|
102
119
|
const rentalAuthority = await deriveRentalAuthority();
|
|
103
120
|
// Derive contract thread and close_rental fiber (fiber index 1) — only if thread configured
|
|
@@ -130,6 +147,7 @@ export async function acceptRental(params, config) {
|
|
|
130
147
|
borrower: borrowerSigner,
|
|
131
148
|
borrowerTokenAccount,
|
|
132
149
|
fleet: address(fleet),
|
|
150
|
+
expiredBorrowerState,
|
|
133
151
|
contract: contractAddress,
|
|
134
152
|
rentalState,
|
|
135
153
|
vault: address(vault),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAA+B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,19 @@
|
|
|
5
5
|
* Handles parameter conversion and optional web3.js compatibility.
|
|
6
6
|
*/
|
|
7
7
|
import { address } from '@solana/kit';
|
|
8
|
-
import { getCreateContractInstructionAsync } from '../generated/codama/instructions';
|
|
8
|
+
import { getCreateContractInstructionAsync, getCreateContractThreadInstructionAsync } from '../generated/codama/instructions';
|
|
9
9
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
|
-
import { toTransactionSigner } from '../utils/signer';
|
|
10
|
+
import { toTransactionSigner, getSignerAddress } from '../utils/signer';
|
|
11
11
|
import { convertAmount, stardustToAtlas } from '../params/amount';
|
|
12
12
|
import { convertDuration } from '../params/duration';
|
|
13
|
+
import { normalizeSchedule } from '../params/schedule';
|
|
14
|
+
import { convertSol } from '../params/sol';
|
|
13
15
|
import { fetchFleet } from '../accounts/fleet';
|
|
14
16
|
import { fetchConfig } from '../accounts/config';
|
|
15
17
|
import { prepareInstructions } from '../utils/instructions';
|
|
18
|
+
import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
|
|
19
|
+
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
20
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
16
21
|
/**
|
|
17
22
|
* Create a rental contract for a Star Atlas fleet
|
|
18
23
|
*
|
|
@@ -77,7 +82,7 @@ export async function createContract(params, config) {
|
|
|
77
82
|
const sageProgram = address(addresses.sage);
|
|
78
83
|
const programAddress = address(addresses.srsly);
|
|
79
84
|
// Convert cancelDelayMin duration to seconds
|
|
80
|
-
const cancelDelayMinSeconds = params.cancelDelayMin
|
|
85
|
+
const cancelDelayMinSeconds = params.cancelDelayMin !== undefined
|
|
81
86
|
? BigInt(convertDuration(params.cancelDelayMin))
|
|
82
87
|
: 1n; // Default 1 second (no instant cancel)
|
|
83
88
|
// Call Codama-generated instruction
|
|
@@ -95,6 +100,36 @@ export async function createContract(params, config) {
|
|
|
95
100
|
cancelDelayMin: cancelDelayMinSeconds,
|
|
96
101
|
reservationsDisabled: params.reservationsDisabled ?? true
|
|
97
102
|
}, { programAddress });
|
|
103
|
+
// Default: bundle thread creation for automation
|
|
104
|
+
if (params.automated !== false) {
|
|
105
|
+
const paymentsFreq = normalizeSchedule(params.paymentsFreq ?? '@daily');
|
|
106
|
+
// Derive PDAs locally (contract doesn't exist on-chain yet)
|
|
107
|
+
const contractAddress = await deriveContract(params.fleet);
|
|
108
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
109
|
+
const rentalAuthority = await deriveRentalAuthority();
|
|
110
|
+
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
111
|
+
const fiber0 = await deriveFiber(contractThread, 0);
|
|
112
|
+
const closeRentalFiber = await deriveFiber(contractThread, 1);
|
|
113
|
+
const ownerAddress = getSignerAddress(params.owner);
|
|
114
|
+
const MINIMUM_THREAD_FUNDING = 40000000n;
|
|
115
|
+
const threadIx = await getCreateContractThreadInstructionAsync({
|
|
116
|
+
payer: ownerSigner,
|
|
117
|
+
mint: atlasMint,
|
|
118
|
+
contract: contractAddress,
|
|
119
|
+
contractThread,
|
|
120
|
+
fiber0,
|
|
121
|
+
closeRentalFiber,
|
|
122
|
+
owner: ownerAddress,
|
|
123
|
+
contractTokenAccount,
|
|
124
|
+
sageProgram,
|
|
125
|
+
lamports: MINIMUM_THREAD_FUNDING + convertSol(params.threadLamports ?? 0),
|
|
126
|
+
paymentsFreq,
|
|
127
|
+
}, { programAddress });
|
|
128
|
+
return prepareInstructions([kitInstruction, threadIx], {
|
|
129
|
+
computeUnits: params.computeUnits,
|
|
130
|
+
PublicKey: finalConfig.PublicKey
|
|
131
|
+
});
|
|
132
|
+
}
|
|
98
133
|
return prepareInstructions(kitInstruction, {
|
|
99
134
|
computeUnits: params.computeUnits,
|
|
100
135
|
PublicKey: finalConfig.PublicKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"createContract.js","sourceRoot":"","sources":["../../../src/instructions/createContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,12 +56,17 @@ export async function reserveRental(params, config) {
|
|
|
56
56
|
if (!params.contract) {
|
|
57
57
|
throw new Error('contract is required');
|
|
58
58
|
}
|
|
59
|
-
if (params.amount === undefined || params.amount === null) {
|
|
60
|
-
throw new Error('amount is required');
|
|
61
|
-
}
|
|
62
59
|
if (!params.duration) {
|
|
63
60
|
throw new Error('duration is required');
|
|
64
61
|
}
|
|
62
|
+
const bidPoints = params.bidPoints ?? 0;
|
|
63
|
+
const bidAtlasValue = params.bidAtlas ? convertAmount(params.bidAtlas) : 0n;
|
|
64
|
+
if (bidPoints === 0 && bidAtlasValue === 0n) {
|
|
65
|
+
throw new Error('Must provide either bidPoints or bidAtlas');
|
|
66
|
+
}
|
|
67
|
+
if (bidPoints > 0 && bidAtlasValue > 0n) {
|
|
68
|
+
throw new Error('bidPoints and bidAtlas are mutually exclusive');
|
|
69
|
+
}
|
|
65
70
|
// Convert challenger to transaction signer
|
|
66
71
|
const challengerSigner = toTransactionSigner(params.challenger);
|
|
67
72
|
// Get network-specific addresses
|
|
@@ -85,8 +90,6 @@ export async function reserveRental(params, config) {
|
|
|
85
90
|
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
86
91
|
// Derive challenger's token account
|
|
87
92
|
const challengerTokenAccount = await deriveAssociatedTokenAccount(challengerSigner.address, atlasMint);
|
|
88
|
-
// Convert amount to stardust
|
|
89
|
-
const amountValue = convertAmount(params.amount);
|
|
90
93
|
// Convert duration to seconds
|
|
91
94
|
const durationSeconds = convertDuration(params.duration);
|
|
92
95
|
// Deserialize discount auth if provided
|
|
@@ -106,7 +109,8 @@ export async function reserveRental(params, config) {
|
|
|
106
109
|
rentalState,
|
|
107
110
|
referrer,
|
|
108
111
|
sageProgram,
|
|
109
|
-
|
|
112
|
+
bidPoints,
|
|
113
|
+
bidAtlas: bidAtlasValue,
|
|
110
114
|
duration: BigInt(durationSeconds),
|
|
111
115
|
discountAuth,
|
|
112
116
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAuB,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAA+B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"reserveRental.js","sourceRoot":"","sources":["../../../src/instructions/reserveRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAuB,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAA+B,MAAM,uBAAuB,CAAC;AA4D7F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAA2B,EAC3B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,IAAI,SAAS,KAAK,CAAC,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEhE,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IAEvD,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAE/C,6CAA6C;IAC7C,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjF,2BAA2B;IAC3B,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9D,0BAA0B;IAC1B,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEtD,mEAAmE;IACnE,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpF,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAEjE,sDAAsD;IACtD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,MAAM,4BAA4B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAE5F,oCAAoC;IACpC,MAAM,sBAAsB,GAAG,MAAM,4BAA4B,CAC/D,gBAAgB,CAAC,OAAO,EACxB,SAAS,CACV,CAAC;IAEF,8BAA8B;IAC9B,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzD,wCAAwC;IACxC,IAAI,YAAY,GAAqC,IAAI,CAAC;IAC1D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,QAAQ,GAAwB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,0BAA0B;IAC1B,MAAM,gBAAgB,GAA2D;QAC/E,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,eAAe;QACzB,cAAc;QACd,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,SAAS;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC;QACjC,YAAY;KACb,CAAC;IAEF,qEAAqE;IACrE,yEAAyE;IACzE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;YAC9D,gBAAgB,CAAC,aAAa,GAAG,qBAAqB,CAAC;YAEvD,mEAAmE;YACnE,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YACvF,gBAAgB,CAAC,2BAA2B,GAAG,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC1F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;IAED,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D,gBAAgB,EAChB,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,oDAAoD;IACpD,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -78,8 +78,6 @@ export async function updateConfig(params, config) {
|
|
|
78
78
|
rentalDurationMinSeconds: toOption(params.rentalDurationMinSeconds),
|
|
79
79
|
rentalDurationMaxSeconds: toOption(params.rentalDurationMaxSeconds),
|
|
80
80
|
atlasMint: toOption(atlasMintAddress),
|
|
81
|
-
defaultPaymentFrequency: toOption(params.defaultPaymentFrequency),
|
|
82
|
-
allowedFrequencies: toOption(params.allowedFrequencies),
|
|
83
81
|
reservationsEnabled: toOption(params.reservationsEnabled),
|
|
84
82
|
pointsPerDay: toOption(params.pointsPerDay),
|
|
85
83
|
cancellationPenalty: toOption(params.cancellationPenalty),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,GAGL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"updateConfig.js","sourceRoot":"","sources":["../../../src/instructions/updateConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,GAGL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAyG5D;;GAEG;AACH,SAAS,QAAQ,CAAI,KAA2B;IAC9C,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAK,CAAC,CAAC,CAAC,IAAI,CAAI,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,MAA2B;IAE3B,eAAe;IACf,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,sCAAsC;IACtC,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAE3D,0CAA0C;IAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAEd,2CAA2C;IAC3C,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS;QACvC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAoB,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;IAEd,oCAAoC;IACpC,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC;QACnC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;QACjD,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;QAC7C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACjC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC;QACnE,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC;QACnE,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC;QACrC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3C,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzD,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC;QACzD,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACvC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACnD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QAC/C,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;KAC9C,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/esm/package.json
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module pda/lookupTable
|
|
4
4
|
*/
|
|
5
5
|
import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
|
|
6
|
+
import { getSignerAddress } from '../utils/signer';
|
|
6
7
|
/**
|
|
7
8
|
* Address Lookup Table program address
|
|
8
9
|
*/
|
|
@@ -40,9 +41,9 @@ function slotToBytes(slot) {
|
|
|
40
41
|
* ```
|
|
41
42
|
*/
|
|
42
43
|
export async function deriveLookupTable(authority, recentSlot, altProgramAddress) {
|
|
43
|
-
const authorityAddress =
|
|
44
|
+
const authorityAddress = getSignerAddress(authority);
|
|
44
45
|
const altProgram = altProgramAddress
|
|
45
|
-
?
|
|
46
|
+
? getSignerAddress(altProgramAddress)
|
|
46
47
|
: address(ALT_PROGRAM);
|
|
47
48
|
// Encode authority and slot to bytes
|
|
48
49
|
const authorityBytes = addressEncoder.encode(authorityAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/pda/lookupTable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lookupTable.js","sourceRoot":"","sources":["../../../src/pda/lookupTable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,GAAG,6CAA6C,CAAC;AAElE,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,SAAS,WAAW,CAAC,IAAqB;IACxC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAC1D,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAA0B,EAC1B,UAA2B,EAC3B,iBAAmC;IAEnC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,iBAAiB;QAClC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QACrC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,qCAAqC;IACrC,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,UAAU;QAC1B,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/esm/pda/sage.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
|
|
6
6
|
import { getAddresses } from '../utils/config';
|
|
7
|
+
import { getSignerAddress } from '../utils/signer';
|
|
7
8
|
import { PROFILE_FACTION_SEED, SAGE_PLAYER_PROFILE_SEED, STARBASE_SEED, STARBASE_PLAYER_SEED, getFactionCoordinates, getFactionName, } from './constants';
|
|
8
9
|
/**
|
|
9
10
|
* Address encoder for PDA seeds
|
|
@@ -20,9 +21,9 @@ const textEncoder = new TextEncoder();
|
|
|
20
21
|
* @returns The derived profile faction PDA
|
|
21
22
|
*/
|
|
22
23
|
export async function deriveProfileFaction(profile, programAddress) {
|
|
23
|
-
const profileAddress =
|
|
24
|
+
const profileAddress = getSignerAddress(profile);
|
|
24
25
|
const program = programAddress
|
|
25
|
-
?
|
|
26
|
+
? getSignerAddress(programAddress)
|
|
26
27
|
: address(getAddresses().profileFaction);
|
|
27
28
|
// Encode seeds to bytes
|
|
28
29
|
const profileFactionSeedBytes = textEncoder.encode(PROFILE_FACTION_SEED);
|
|
@@ -41,10 +42,10 @@ export async function deriveProfileFaction(profile, programAddress) {
|
|
|
41
42
|
* @returns The derived SAGE player profile PDA
|
|
42
43
|
*/
|
|
43
44
|
export async function deriveSagePlayerProfile(profile, gameId, programAddress) {
|
|
44
|
-
const profileAddress =
|
|
45
|
-
const gameIdAddress =
|
|
45
|
+
const profileAddress = getSignerAddress(profile);
|
|
46
|
+
const gameIdAddress = getSignerAddress(gameId);
|
|
46
47
|
const program = programAddress
|
|
47
|
-
?
|
|
48
|
+
? getSignerAddress(programAddress)
|
|
48
49
|
: address(getAddresses().sage);
|
|
49
50
|
// Encode seeds to bytes
|
|
50
51
|
const sagePlayerProfileSeedBytes = textEncoder.encode(SAGE_PLAYER_PROFILE_SEED);
|
|
@@ -66,9 +67,9 @@ export async function deriveSagePlayerProfile(profile, gameId, programAddress) {
|
|
|
66
67
|
export async function deriveStarbase(faction, gameId, programAddress) {
|
|
67
68
|
const factionName = typeof faction === 'number' ? getFactionName(faction) : faction;
|
|
68
69
|
const coords = getFactionCoordinates(factionName);
|
|
69
|
-
const gameIdAddress =
|
|
70
|
+
const gameIdAddress = getSignerAddress(gameId);
|
|
70
71
|
const program = programAddress
|
|
71
|
-
?
|
|
72
|
+
? getSignerAddress(programAddress)
|
|
72
73
|
: address(getAddresses().sage);
|
|
73
74
|
// Encode string and address seeds to bytes
|
|
74
75
|
const starbaseSeedBytes = textEncoder.encode(STARBASE_SEED);
|
|
@@ -100,10 +101,10 @@ export async function deriveStarbase(faction, gameId, programAddress) {
|
|
|
100
101
|
* @returns The derived starbase player PDA
|
|
101
102
|
*/
|
|
102
103
|
export async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0, programAddress) {
|
|
103
|
-
const profileAddress =
|
|
104
|
-
const starbaseAddress =
|
|
104
|
+
const profileAddress = getSignerAddress(sagePlayerProfile);
|
|
105
|
+
const starbaseAddress = getSignerAddress(starbase);
|
|
105
106
|
const program = programAddress
|
|
106
|
-
?
|
|
107
|
+
? getSignerAddress(programAddress)
|
|
107
108
|
: address(getAddresses().sage);
|
|
108
109
|
// Encode string and address seeds to bytes
|
|
109
110
|
const starbasePlayerSeedBytes = textEncoder.encode(STARBASE_PLAYER_SEED);
|
package/dist/esm/pda/sage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/pda/sage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,
|
|
1
|
+
{"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/pda/sage.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/pda/srsly.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
|
|
6
6
|
import { getAddresses } from '../utils/config';
|
|
7
|
+
import { getSignerAddress } from '../utils/signer';
|
|
7
8
|
import { CONFIG_SEED, CONTRACT_SEED, RENTAL_SEED, RENTAL_AUTHORITY_SEED, BORROWER_STATE_SEED, ACTIVE_RENTAL_SEED, QUEUED_RENTAL_SEED, } from './constants';
|
|
8
9
|
/**
|
|
9
10
|
* Address encoder for PDA seeds
|
|
@@ -20,9 +21,9 @@ const textEncoder = new TextEncoder();
|
|
|
20
21
|
* @returns The derived contract PDA
|
|
21
22
|
*/
|
|
22
23
|
export async function deriveContract(fleet, programAddress) {
|
|
23
|
-
const fleetAddress =
|
|
24
|
+
const fleetAddress = getSignerAddress(fleet);
|
|
24
25
|
const program = programAddress
|
|
25
|
-
?
|
|
26
|
+
? getSignerAddress(programAddress)
|
|
26
27
|
: address(getAddresses().srsly);
|
|
27
28
|
// Encode seeds to bytes
|
|
28
29
|
const contractSeedBytes = textEncoder.encode(CONTRACT_SEED);
|
|
@@ -37,9 +38,9 @@ export async function deriveContract(fleet, programAddress) {
|
|
|
37
38
|
* Internal helper to derive a rental PDA with a named seed suffix
|
|
38
39
|
*/
|
|
39
40
|
async function deriveRentalWithSeed(contract, seedSuffix, programAddress) {
|
|
40
|
-
const contractAddress =
|
|
41
|
+
const contractAddress = getSignerAddress(contract);
|
|
41
42
|
const program = programAddress
|
|
42
|
-
?
|
|
43
|
+
? getSignerAddress(programAddress)
|
|
43
44
|
: address(getAddresses().srsly);
|
|
44
45
|
const rentalSeedBytes = textEncoder.encode(RENTAL_SEED);
|
|
45
46
|
const contractBytes = addressEncoder.encode(contractAddress);
|
|
@@ -81,7 +82,7 @@ export async function deriveQueuedRental(contract, programAddress) {
|
|
|
81
82
|
*/
|
|
82
83
|
export async function deriveRentalAuthority(programAddress) {
|
|
83
84
|
const program = programAddress
|
|
84
|
-
?
|
|
85
|
+
? getSignerAddress(programAddress)
|
|
85
86
|
: address(getAddresses().srsly);
|
|
86
87
|
// Encode seeds to bytes
|
|
87
88
|
const rentalAuthoritySeedBytes = textEncoder.encode(RENTAL_AUTHORITY_SEED);
|
|
@@ -98,9 +99,9 @@ export async function deriveRentalAuthority(programAddress) {
|
|
|
98
99
|
* @returns The derived borrower state PDA
|
|
99
100
|
*/
|
|
100
101
|
export async function deriveBorrowerState(borrower, programAddress) {
|
|
101
|
-
const borrowerAddress =
|
|
102
|
+
const borrowerAddress = getSignerAddress(borrower);
|
|
102
103
|
const program = programAddress
|
|
103
|
-
?
|
|
104
|
+
? getSignerAddress(programAddress)
|
|
104
105
|
: address(getAddresses().srsly);
|
|
105
106
|
// Encode seeds to bytes
|
|
106
107
|
const borrowerStateSeedBytes = textEncoder.encode(BORROWER_STATE_SEED);
|
|
@@ -118,7 +119,7 @@ export async function deriveBorrowerState(borrower, programAddress) {
|
|
|
118
119
|
*/
|
|
119
120
|
export async function deriveConfig(programAddress) {
|
|
120
121
|
const program = programAddress
|
|
121
|
-
?
|
|
122
|
+
? getSignerAddress(programAddress)
|
|
122
123
|
: address(getAddresses().srsly);
|
|
123
124
|
// Encode seeds to bytes
|
|
124
125
|
const configSeedBytes = textEncoder.encode(CONFIG_SEED);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/pda/srsly.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,
|
|
1
|
+
{"version":3,"file":"srsly.js","sourceRoot":"","sources":["../../../src/pda/srsly.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/pda/thread.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module pda/thread
|
|
4
4
|
*/
|
|
5
5
|
import { address, getProgramDerivedAddress, getAddressEncoder } from '@solana/kit';
|
|
6
|
+
import { getSignerAddress } from '../utils/signer';
|
|
6
7
|
import { THREAD_SEED, THREAD_FIBER_SEED, ANTEGEN_THREAD_PROGRAM, ANTEGEN_FIBER_PROGRAM } from './constants';
|
|
7
8
|
/**
|
|
8
9
|
* Address encoder for PDA seeds
|
|
@@ -25,10 +26,10 @@ const textEncoder = new TextEncoder();
|
|
|
25
26
|
* @returns The derived contract thread PDA
|
|
26
27
|
*/
|
|
27
28
|
export async function deriveContractThread(contract, authority, programAddress) {
|
|
28
|
-
const contractAddress =
|
|
29
|
-
const authorityAddr =
|
|
29
|
+
const contractAddress = getSignerAddress(contract);
|
|
30
|
+
const authorityAddr = getSignerAddress(authority);
|
|
30
31
|
const program = programAddress
|
|
31
|
-
?
|
|
32
|
+
? getSignerAddress(programAddress)
|
|
32
33
|
: address(ANTEGEN_THREAD_PROGRAM);
|
|
33
34
|
// Encode seeds to bytes
|
|
34
35
|
// Antegen ALWAYS uses: [SEED_THREAD, authority, id]
|
|
@@ -53,9 +54,9 @@ export async function deriveContractThread(contract, authority, programAddress)
|
|
|
53
54
|
* @returns The derived fiber PDA
|
|
54
55
|
*/
|
|
55
56
|
export async function deriveFiber(thread, fiberIndex, programAddress) {
|
|
56
|
-
const threadAddress =
|
|
57
|
+
const threadAddress = getSignerAddress(thread);
|
|
57
58
|
const program = programAddress
|
|
58
|
-
?
|
|
59
|
+
? getSignerAddress(programAddress)
|
|
59
60
|
: address(ANTEGEN_FIBER_PROGRAM);
|
|
60
61
|
const fiberSeedBytes = textEncoder.encode(THREAD_FIBER_SEED);
|
|
61
62
|
const threadBytes = addressEncoder.encode(threadAddress);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5G;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../../src/pda/thread.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAW,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5G;;GAEG;AACH,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAyB,EACzB,SAA0B,EAC1B,cAAgC;IAEhC,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEpC,wBAAwB;IACxB,oDAAoD;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE/D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,UAAkB,EAClB,cAAgC;IAEhC,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,cAAc;QAC5B,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC3C,cAAc,EAAE,OAAO;QACvB,KAAK,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC;KACjD,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|