@wuwei-labs/srsly 4.1.4 → 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 +7 -4
- package/dist/cjs/generated/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/acceptRental.js +39 -11
- package/dist/cjs/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/cjs/generated/codama/instructions/activateRental.js +1 -70
- 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 +0 -8
- 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/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 +7 -10
- 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 +18 -18
- 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 -23
- 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 +3 -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 +2 -2
- package/dist/cjs/kit/index.js.map +1 -1
- package/dist/cjs/legacy/index.js +2 -3
- package/dist/cjs/legacy/index.js.map +1 -1
- package/dist/cjs/package.json +1 -1
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/discountAuth.js +45 -106
- package/dist/cjs/utils/discountAuth.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -7
- 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 +6 -4
- package/dist/esm/generated/codama/accounts/rentalState.js.map +1 -1
- package/dist/esm/generated/codama/errors/srsly.js +6 -3
- package/dist/esm/generated/codama/errors/srsly.js.map +1 -1
- package/dist/esm/generated/codama/instructions/acceptRental.js +40 -12
- package/dist/esm/generated/codama/instructions/acceptRental.js.map +1 -1
- package/dist/esm/generated/codama/instructions/activateRental.js +1 -70
- 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 +0 -8
- 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/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 -11
- 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 +18 -18
- 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 -23
- 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 +3 -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 +1 -1
- package/dist/esm/kit/index.js.map +1 -1
- package/dist/esm/legacy/index.js +1 -2
- package/dist/esm/legacy/index.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/discountAuth.js +45 -103
- package/dist/esm/utils/discountAuth.js.map +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 +411 -352
- 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 +13 -9
- package/dist/types/generated/codama/accounts/rentalState.d.ts.map +1 -1
- package/dist/types/generated/codama/errors/srsly.d.ts +5 -3
- package/dist/types/generated/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/acceptRental.d.ts +53 -32
- package/dist/types/generated/codama/instructions/acceptRental.d.ts.map +1 -1
- package/dist/types/generated/codama/instructions/activateRental.d.ts +18 -49
- 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/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 -23
- 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 +18 -18
- 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/config.d.ts +3 -3
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/discountAuth.d.ts +38 -70
- package/dist/types/utils/discountAuth.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
|
@@ -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,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,
|
|
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,eAAe,CAAC;AAC9B,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,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,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,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
|
-
import { combineCodec, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, } from "@solana/kit";
|
|
8
|
+
import { combineCodec, getAddressDecoder, getAddressEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, } from "@solana/kit";
|
|
9
9
|
export function getRentalClosedEncoder() {
|
|
10
10
|
return getStructEncoder([
|
|
11
11
|
["rentalState", getAddressEncoder()],
|
|
12
12
|
["contract", getAddressEncoder()],
|
|
13
13
|
["borrower", getAddressEncoder()],
|
|
14
14
|
["pointsAwarded", getU32Encoder()],
|
|
15
|
+
["feeFlushed", getU64Encoder()],
|
|
15
16
|
]);
|
|
16
17
|
}
|
|
17
18
|
export function getRentalClosedDecoder() {
|
|
@@ -20,6 +21,7 @@ export function getRentalClosedDecoder() {
|
|
|
20
21
|
["contract", getAddressDecoder()],
|
|
21
22
|
["borrower", getAddressDecoder()],
|
|
22
23
|
["pointsAwarded", getU32Decoder()],
|
|
24
|
+
["feeFlushed", getU64Decoder()],
|
|
23
25
|
]);
|
|
24
26
|
}
|
|
25
27
|
export function getRentalClosedCodec() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rentalClosed.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/rentalClosed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,GAKd,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rentalClosed.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/rentalClosed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GAKd,MAAM,aAAa,CAAC;AAkBrB,MAAM,UAAU,sBAAsB;IACpC,OAAO,gBAAgB,CAAC;QACtB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;QACpC,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC;QAClC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,gBAAgB,CAAC;QACtB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;QACpC,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACjC,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC;QAClC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,YAAY,CAAC,sBAAsB,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
|
-
import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, } from "@solana/kit";
|
|
8
|
+
import { combineCodec, getAddressDecoder, getAddressEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU16Decoder, getU16Encoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, } from "@solana/kit";
|
|
9
9
|
export function getReservationCreatedEncoder() {
|
|
10
10
|
return getStructEncoder([
|
|
11
11
|
["contract", getAddressEncoder()],
|
|
@@ -14,6 +14,7 @@ export function getReservationCreatedEncoder() {
|
|
|
14
14
|
["bidAtlas", getU64Encoder()],
|
|
15
15
|
["escrowAmount", getU64Encoder()],
|
|
16
16
|
["serviceFee", getU64Encoder()],
|
|
17
|
+
["feeBps", getU16Encoder()],
|
|
17
18
|
["durationSeconds", getI64Encoder()],
|
|
18
19
|
]);
|
|
19
20
|
}
|
|
@@ -25,6 +26,7 @@ export function getReservationCreatedDecoder() {
|
|
|
25
26
|
["bidAtlas", getU64Decoder()],
|
|
26
27
|
["escrowAmount", getU64Decoder()],
|
|
27
28
|
["serviceFee", getU64Decoder()],
|
|
29
|
+
["feeBps", getU16Decoder()],
|
|
28
30
|
["durationSeconds", getI64Decoder()],
|
|
29
31
|
]);
|
|
30
32
|
}
|
|
@@ -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,EACb,aAAa,EACb,aAAa,GAKd,MAAM,aAAa,CAAC;
|
|
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,EACb,aAAa,EACb,aAAa,GAKd,MAAM,aAAa,CAAC;AAwBrB,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,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC3B,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,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC3B,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"}
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
* @see https://github.com/codama-idl/codama
|
|
7
7
|
*/
|
|
8
8
|
import { combineCodec, getStructDecoder, getStructEncoder, } from "@solana/kit";
|
|
9
|
-
import { getCargoStatsDecoder, getCargoStatsEncoder, getMiscStatsDecoder, getMiscStatsEncoder, getMovementStatsDecoder, getMovementStatsEncoder, } from ".";
|
|
9
|
+
import { getCargoStatsDecoder, getCargoStatsEncoder, getCombatStatsDecoder, getCombatStatsEncoder, getMiscStatsDecoder, getMiscStatsEncoder, getMovementStatsDecoder, getMovementStatsEncoder, } from ".";
|
|
10
10
|
export function getShipStatsEncoder() {
|
|
11
11
|
return getStructEncoder([
|
|
12
12
|
["movementStats", getMovementStatsEncoder()],
|
|
13
13
|
["cargoStats", getCargoStatsEncoder()],
|
|
14
|
+
["combatStats", getCombatStatsEncoder()],
|
|
14
15
|
["miscStats", getMiscStatsEncoder()],
|
|
15
16
|
]);
|
|
16
17
|
}
|
|
@@ -18,6 +19,7 @@ export function getShipStatsDecoder() {
|
|
|
18
19
|
return getStructDecoder([
|
|
19
20
|
["movementStats", getMovementStatsDecoder()],
|
|
20
21
|
["cargoStats", getCargoStatsDecoder()],
|
|
22
|
+
["combatStats", getCombatStatsDecoder()],
|
|
21
23
|
["miscStats", getMiscStatsDecoder()],
|
|
22
24
|
]);
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shipStats.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/shipStats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"shipStats.js","sourceRoot":"","sources":["../../../../../src/generated/codama/types/shipStats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,GASxB,MAAM,GAAG,CAAC;AAiBX,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAC;QACtB,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;QACtC,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC;QACxC,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAC;QACtB,CAAC,eAAe,EAAE,uBAAuB,EAAE,CAAC;QAC5C,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;QACtC,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC;QACxC,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,YAAY,CAAC,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -19,7 +19,6 @@ import { deriveActiveRental, deriveBorrowerState, deriveRentalAuthority } from '
|
|
|
19
19
|
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
20
20
|
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
21
21
|
import { prepareInstructions } from '../utils/instructions';
|
|
22
|
-
import { deserializeDiscountAuth } from '../utils/discountAuth';
|
|
23
22
|
import { RentalStatus } from '../generated/codama/types';
|
|
24
23
|
/**
|
|
25
24
|
* Accept a rental contract
|
|
@@ -38,9 +37,9 @@ import { RentalStatus } from '../generated/codama/types';
|
|
|
38
37
|
*
|
|
39
38
|
* @example
|
|
40
39
|
* ```typescript
|
|
41
|
-
* // Accept a 7-day rental (borrowerProfile auto-fetched)
|
|
42
40
|
* const ixs = await acceptRental({
|
|
43
41
|
* borrower: wallet,
|
|
42
|
+
* borrowerProfile: "BORROWER_PROFILE_ADDRESS",
|
|
44
43
|
* contract: "CONTRACT_ADDRESS",
|
|
45
44
|
* duration: { days: 7 },
|
|
46
45
|
* computeUnits: 400_000
|
|
@@ -60,11 +59,13 @@ export async function acceptRental(params, config) {
|
|
|
60
59
|
if (!params.duration) {
|
|
61
60
|
throw new Error('duration is required');
|
|
62
61
|
}
|
|
62
|
+
if (!params.borrowerProfile) {
|
|
63
|
+
throw new Error('borrowerProfile is required');
|
|
64
|
+
}
|
|
63
65
|
// Convert borrower to transaction signer
|
|
64
66
|
const borrowerSigner = toTransactionSigner(params.borrower);
|
|
65
|
-
// Fetch config
|
|
67
|
+
// Fetch config
|
|
66
68
|
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
67
|
-
const vault = configAccount.data.slyvault;
|
|
68
69
|
// Fetch contract to get fleet, gameId
|
|
69
70
|
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
70
71
|
const fleet = contractAccount.data.fleet;
|
|
@@ -80,14 +81,7 @@ export async function acceptRental(params, config) {
|
|
|
80
81
|
// Fetch fleet data for faction (needed to derive SAGE accounts)
|
|
81
82
|
const fleetState = await fetchFleet(fleet, finalConfig.rpcUrl);
|
|
82
83
|
const faction = fleetState.faction;
|
|
83
|
-
|
|
84
|
-
let borrowerProfile;
|
|
85
|
-
if (params.borrowerProfile) {
|
|
86
|
-
borrowerProfile = address(params.borrowerProfile);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
borrowerProfile = fleetState.subProfile.key;
|
|
90
|
-
}
|
|
84
|
+
const borrowerProfile = address(params.borrowerProfile);
|
|
91
85
|
// Derive all SAGE game accounts (profile faction, starbase, starbase player)
|
|
92
86
|
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
93
87
|
// Derive active rental PDA (no more slot logic)
|
|
@@ -132,17 +126,13 @@ export async function acceptRental(params, config) {
|
|
|
132
126
|
const addresses = getAddresses(config);
|
|
133
127
|
const sageProgram = address(addresses.sage);
|
|
134
128
|
const programAddress = address(addresses.srsly);
|
|
135
|
-
// Deserialize discount auth if provided
|
|
136
|
-
let discountAuth = null;
|
|
137
|
-
if (params.discountAuth) {
|
|
138
|
-
discountAuth = deserializeDiscountAuth(params.discountAuth);
|
|
139
|
-
}
|
|
140
129
|
const referrer = params.referrer ? address(params.referrer) : undefined;
|
|
141
|
-
// Derive vault token account (ATA)
|
|
142
|
-
const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
|
|
143
130
|
// Derive contract token account (ATA of contract PDA)
|
|
144
131
|
const contractAddress = address(params.contract);
|
|
145
132
|
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
133
|
+
// Derive vault accounts for fee flush
|
|
134
|
+
const vaultAddress = address(configAccount.data.slyvault);
|
|
135
|
+
const vaultTokenAccount = await deriveAssociatedTokenAccount(vaultAddress, atlasMint);
|
|
146
136
|
// Derive borrower token account (ATA)
|
|
147
137
|
const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerSigner.address, atlasMint);
|
|
148
138
|
// Call Codama-generated acceptRental instruction
|
|
@@ -152,16 +142,18 @@ export async function acceptRental(params, config) {
|
|
|
152
142
|
fleet: address(fleet),
|
|
153
143
|
expiredBorrowerState,
|
|
154
144
|
contract: contractAddress,
|
|
155
|
-
rentalState,
|
|
156
|
-
vault: address(vault),
|
|
157
|
-
vaultTokenAccount,
|
|
158
145
|
contractTokenAccount,
|
|
146
|
+
vault: vaultAddress,
|
|
147
|
+
vaultTokenAccount,
|
|
159
148
|
...(contractThread && { contractThread }),
|
|
160
149
|
...(closeRentalFiber && { closeRentalFiber }),
|
|
161
150
|
referrer,
|
|
162
151
|
sageProgram,
|
|
163
152
|
duration: BigInt(durationSeconds),
|
|
164
|
-
|
|
153
|
+
discountSignature: null,
|
|
154
|
+
discountMemberNonce: null,
|
|
155
|
+
discountBps: null,
|
|
156
|
+
discountExpiresAt: null,
|
|
165
157
|
}, { programAddress });
|
|
166
158
|
// Append SAGE pass-through accounts as remaining accounts
|
|
167
159
|
const sageRemainingAccounts = [
|
|
@@ -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,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"acceptRental.js","sourceRoot":"","sources":["../../../src/instructions/acceptRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ import { fetchRental } from '../accounts/rental';
|
|
|
16
16
|
import { deriveGameAccounts } from '../pda/sage';
|
|
17
17
|
import { deriveActiveRental, deriveQueuedRental, deriveRentalAuthority } from '../pda/srsly';
|
|
18
18
|
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
19
|
-
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
20
19
|
/**
|
|
21
20
|
* Manually activate a queued rental
|
|
22
21
|
*
|
|
@@ -63,22 +62,15 @@ export async function activateRental(params, config) {
|
|
|
63
62
|
const borrowerProfileAddr = address(params.borrowerProfile);
|
|
64
63
|
const fleetState = await fetchFleet(contractAccount.data.fleet, finalConfig.rpcUrl);
|
|
65
64
|
const gameAccounts = await deriveGameAccounts(borrowerProfileAddr, fleetState.faction, contractAccount.data.gameId);
|
|
66
|
-
// Get vault from config and derive vault token account
|
|
67
|
-
const vault = configAccount.data.slyvault;
|
|
68
|
-
const vaultTokenAccount = await deriveAssociatedTokenAccount(vault, atlasMint);
|
|
69
65
|
const kitInstruction = await getActivateRentalInstructionAsync({
|
|
70
66
|
payer: payerSigner,
|
|
71
67
|
contract: contractAddress,
|
|
72
|
-
contractTokenAccount: contractAccount.data.managedTokenAccount,
|
|
73
|
-
mint: atlasMint,
|
|
74
68
|
borrowerProfile: borrowerProfileAddr,
|
|
75
69
|
borrowerProfileFaction: gameAccounts.profileFaction,
|
|
76
70
|
fleet: contractAccount.data.fleet,
|
|
77
71
|
gameId: contractAccount.data.gameId,
|
|
78
72
|
...(contractThread && { contractThread }),
|
|
79
73
|
...(closeRentalFiber && { closeRentalFiber }),
|
|
80
|
-
vault,
|
|
81
|
-
vaultTokenAccount,
|
|
82
74
|
sageProgram: address(addresses.sage),
|
|
83
75
|
}, { programAddress });
|
|
84
76
|
// Append starbase + starbasePlayer as remaining accounts (for fiber 1 building)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"activateRental.js","sourceRoot":"","sources":["../../../src/instructions/activateRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA4BlE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B,EAC5B,MAA2B;IAE3B,MAAM,WAAW,GAAG,WAAW,CAAC,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;IACD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAmB,CAAC,CAAC;IAE5D,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEjF,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEtD,iDAAiD;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,KAAK,kCAAkC,CAAC;IAChE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,gBAAgB,GAAG,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,2CAA2C;IAC3C,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhF,4DAA4D;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,eAA0B,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,mBAAmB,EACnB,UAAU,CAAC,OAAO,EAClB,eAAe,CAAC,IAAI,CAAC,MAAM,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAC5D;QACE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe;QACzB,eAAe,EAAE,mBAAmB;QACpC,sBAAsB,EAAE,YAAY,CAAC,cAAc;QACnD,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK;QACjC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM;QACnC,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;QACzC,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC7C,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC;KAChD,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;IAEF,gFAAgF;IAChF,MAAM,qBAAqB,GAAG;QAC5B,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;QAC9D,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;KACrE,CAAC;IACD,cAAc,CAAC,QAAyC,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;IAEzF,OAAO,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -10,9 +10,10 @@ import { mergeConfig, getAddresses } from '../utils/config';
|
|
|
10
10
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
11
|
import { fetchContract } from '../accounts/contract';
|
|
12
12
|
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchRental } from '../accounts/rental';
|
|
13
14
|
import { fetchThread } from '../accounts/thread';
|
|
14
15
|
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
15
|
-
import { deriveContract, deriveRentalAuthority } from '../pda/srsly';
|
|
16
|
+
import { deriveContract, deriveBorrowerState, deriveRentalAuthority } from '../pda/srsly';
|
|
16
17
|
import { deriveContractThread, deriveFiber } from '../pda/thread';
|
|
17
18
|
import { prepareInstructions } from '../utils/instructions';
|
|
18
19
|
/**
|
|
@@ -105,51 +106,102 @@ export async function closeContract(params, config) {
|
|
|
105
106
|
: address(addresses.sage);
|
|
106
107
|
// Derive contract token account (ATA of contract PDA for ATLAS)
|
|
107
108
|
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
108
|
-
// Check
|
|
109
|
+
// Check contract state
|
|
109
110
|
const SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
|
|
110
111
|
const hasThread = contractAccount.data.thread !== SYSTEM_PROGRAM_ID;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const { fetchRental } = await import('../accounts/rental');
|
|
112
|
+
const hasActiveSlot = contractAccount.data.activeRental !== SYSTEM_PROGRAM_ID;
|
|
113
|
+
const hasQueuedSlot = contractAccount.data.queuedRental !== SYSTEM_PROGRAM_ID;
|
|
114
|
+
// Check if active rental is expired
|
|
115
|
+
let activeExpired = false;
|
|
116
|
+
if (hasActiveSlot) {
|
|
117
117
|
const activeRental = await fetchRental(contractAccount.data.activeRental, finalConfig.rpcUrl);
|
|
118
118
|
const now = Math.floor(Date.now() / 1000);
|
|
119
119
|
if (activeRental.data.endTime <= BigInt(now)) {
|
|
120
|
-
|
|
120
|
+
activeExpired = true;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
// Resolve queued borrower accounts when a queued rental exists
|
|
124
|
+
let queuedBorrowerState;
|
|
125
|
+
let queuedBorrowerTokenAccount;
|
|
126
|
+
if (hasQueuedSlot) {
|
|
127
|
+
let queuedBorrower;
|
|
128
|
+
if (params.queuedBorrower) {
|
|
129
|
+
queuedBorrower = address(params.queuedBorrower);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const queuedRental = await fetchRental(contractAccount.data.queuedRental, finalConfig.rpcUrl);
|
|
133
|
+
queuedBorrower = queuedRental.data.borrower;
|
|
134
|
+
}
|
|
135
|
+
queuedBorrowerState = await deriveBorrowerState(queuedBorrower);
|
|
136
|
+
queuedBorrowerTokenAccount = await deriveAssociatedTokenAccount(queuedBorrower, atlasMint);
|
|
137
|
+
}
|
|
138
|
+
// Helper: build a closeContractThread instruction
|
|
139
|
+
const buildThreadCloseIx = async () => {
|
|
125
140
|
const rentalAuthority = await deriveRentalAuthority();
|
|
126
141
|
const contractThread = await deriveContractThread(contractAddress, rentalAuthority);
|
|
127
|
-
// Fetch thread to get fiber IDs for remaining accounts
|
|
128
142
|
const threadAccount = await fetchThread(contractThread, finalConfig.rpcUrl);
|
|
129
143
|
const fiberIds = Array.from(threadAccount.data.fiberIds);
|
|
130
|
-
// Derive fiber PDAs
|
|
131
144
|
const fiberAccounts = await Promise.all(fiberIds.map(async (id) => ({
|
|
132
145
|
address: await deriveFiber(contractThread, id),
|
|
133
146
|
role: AccountRole.WRITABLE,
|
|
134
147
|
})));
|
|
135
|
-
|
|
148
|
+
const ix = await getCloseContractThreadInstructionAsync({ owner: ownerSigner, contract: contractAddress, thread: contractThread }, { programAddress });
|
|
149
|
+
ix.accounts.push(...fiberAccounts);
|
|
150
|
+
return ix;
|
|
151
|
+
};
|
|
152
|
+
// Helper: build a closeContract instruction with optional queued borrower accounts
|
|
153
|
+
const buildCloseContractIx = async (includeQueued) => {
|
|
154
|
+
return getCloseContractInstructionAsync({
|
|
136
155
|
owner: ownerSigner,
|
|
137
156
|
contract: contractAddress,
|
|
138
|
-
|
|
157
|
+
mint: atlasMint,
|
|
158
|
+
fleet: fleetAddress,
|
|
159
|
+
contractTokenAccount: contractTokenAccount,
|
|
160
|
+
sageProgram,
|
|
161
|
+
...(includeQueued && queuedBorrowerState && queuedBorrowerTokenAccount
|
|
162
|
+
? { queuedBorrowerState, queuedBorrowerTokenAccount }
|
|
163
|
+
: {}),
|
|
139
164
|
}, { programAddress });
|
|
140
|
-
|
|
165
|
+
};
|
|
166
|
+
// Compose instructions based on scenario
|
|
167
|
+
const ixs = [];
|
|
168
|
+
if (activeExpired && hasQueuedSlot) {
|
|
169
|
+
// Expired active + queued: multi-instruction composition
|
|
170
|
+
// 1. closeRental — settles expired active
|
|
171
|
+
const { closeRental } = await import('./closeRental');
|
|
172
|
+
const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
|
|
173
|
+
ixs.push(...closeRentalResult.instructions);
|
|
174
|
+
// 2. closeContractThread (if thread exists)
|
|
175
|
+
if (hasThread) {
|
|
176
|
+
ixs.push(await buildThreadCloseIx());
|
|
177
|
+
}
|
|
178
|
+
// 3. closeContract — force-closes queued, sets to_close
|
|
179
|
+
ixs.push(await buildCloseContractIx(true));
|
|
180
|
+
// 4. closeContract — final close (no active, no queued, no thread)
|
|
181
|
+
ixs.push(await buildCloseContractIx(false));
|
|
182
|
+
}
|
|
183
|
+
else if (activeExpired && !hasQueuedSlot) {
|
|
184
|
+
// Expired active only, no queued — settle then close
|
|
185
|
+
const { closeRental } = await import('./closeRental');
|
|
186
|
+
const closeRentalResult = await closeRental({ payer: params.owner, contract: contractAddress }, config);
|
|
187
|
+
ixs.push(...closeRentalResult.instructions);
|
|
188
|
+
if (hasThread) {
|
|
189
|
+
ixs.push(await buildThreadCloseIx());
|
|
190
|
+
}
|
|
191
|
+
ixs.push(await buildCloseContractIx(false));
|
|
192
|
+
}
|
|
193
|
+
else if (!activeExpired && hasQueuedSlot) {
|
|
194
|
+
// Non-expired active + queued — deferred close with queued borrower accounts
|
|
195
|
+
ixs.push(await buildCloseContractIx(true));
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
// No active rental (or no rental at all) — simple close
|
|
199
|
+
if (hasThread) {
|
|
200
|
+
ixs.push(await buildThreadCloseIx());
|
|
201
|
+
}
|
|
202
|
+
ixs.push(await buildCloseContractIx(false));
|
|
141
203
|
}
|
|
142
|
-
|
|
143
|
-
const kitInstruction = await getCloseContractInstructionAsync({
|
|
144
|
-
owner: ownerSigner,
|
|
145
|
-
contract: contractAddress,
|
|
146
|
-
mint: atlasMint,
|
|
147
|
-
fleet: fleetAddress,
|
|
148
|
-
contractTokenAccount: contractTokenAccount,
|
|
149
|
-
sageProgram,
|
|
150
|
-
}, { programAddress });
|
|
151
|
-
const instructions = threadCloseIx ? [threadCloseIx, kitInstruction] : kitInstruction;
|
|
152
|
-
return prepareInstructions(instructions, {
|
|
204
|
+
return prepareInstructions(ixs, {
|
|
153
205
|
computeUnits: params.computeUnits,
|
|
154
206
|
PublicKey: finalConfig.PublicKey
|
|
155
207
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"closeContract.js","sourceRoot":"","sources":["../../../src/instructions/closeContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* Closes a completed rental and returns the fleet to the owner.
|
|
6
6
|
*/
|
|
7
7
|
import { address } from '@solana/kit';
|
|
8
|
+
import { isOption, unwrapOption } from '@solana/kit';
|
|
8
9
|
import { getCloseRentalInstructionAsync } from '../generated/codama/instructions';
|
|
9
10
|
import { mergeConfig, getAddresses } from '../utils/config';
|
|
10
11
|
import { toTransactionSigner } from '../utils/signer';
|
|
11
|
-
import { fetchContract } from '../accounts/contract';
|
|
12
12
|
import { fetchConfig } from '../accounts/config';
|
|
13
|
+
import { fetchContract } from '../accounts/contract';
|
|
13
14
|
import { fetchFleet } from '../accounts/fleet';
|
|
14
15
|
import { fetchRental } from '../accounts/rental';
|
|
15
16
|
import { deriveGameAccounts } from '../pda/sage';
|
|
16
17
|
import { deriveActiveRental, deriveBorrowerState } from '../pda/srsly';
|
|
18
|
+
import { deriveAssociatedTokenAccount } from '../pda/token';
|
|
17
19
|
import { prepareInstructions } from '../utils/instructions';
|
|
18
20
|
/**
|
|
19
21
|
* Close a rental
|
|
@@ -49,7 +51,9 @@ export async function closeRental(params, config) {
|
|
|
49
51
|
if (!params.contract) {
|
|
50
52
|
throw new Error('contract is required');
|
|
51
53
|
}
|
|
52
|
-
// Fetch
|
|
54
|
+
// Fetch config and contract
|
|
55
|
+
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
56
|
+
const atlasMint = configAccount.data.atlasMint;
|
|
53
57
|
const contractAccount = await fetchContract(params.contract, finalConfig.rpcUrl);
|
|
54
58
|
const fleet = contractAccount.data.fleet;
|
|
55
59
|
const gameId = contractAccount.data.gameId;
|
|
@@ -57,21 +61,12 @@ export async function closeRental(params, config) {
|
|
|
57
61
|
const payerSigner = toTransactionSigner(params.payer);
|
|
58
62
|
// Derive active rental PDA (no more slot logic)
|
|
59
63
|
const rentalState = await deriveActiveRental(params.contract);
|
|
60
|
-
//
|
|
64
|
+
// Fetch rental state for borrower, referrer
|
|
61
65
|
let borrower;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
try {
|
|
67
|
-
const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
68
|
-
borrower = rental.data.borrower;
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
// Rental state doesn't exist, fall back to payer
|
|
72
|
-
borrower = payerSigner.address;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
66
|
+
let referrer;
|
|
67
|
+
const rental = await fetchRental(rentalState, finalConfig.rpcUrl);
|
|
68
|
+
borrower = params.borrower ? address(params.borrower) : rental.data.borrower;
|
|
69
|
+
referrer = isOption(rental.data.referrer) ? unwrapOption(rental.data.referrer) ?? undefined : undefined;
|
|
75
70
|
// Derive borrower state PDA
|
|
76
71
|
const borrowerState = await deriveBorrowerState(borrower);
|
|
77
72
|
// Fetch fleet to get faction and derive SAGE accounts
|
|
@@ -81,22 +76,32 @@ export async function closeRental(params, config) {
|
|
|
81
76
|
const faction = fleetState.faction;
|
|
82
77
|
// Derive SAGE game accounts using borrower's profile
|
|
83
78
|
const gameAccounts = await deriveGameAccounts(borrowerProfile, faction, gameId);
|
|
84
|
-
// Get
|
|
85
|
-
const configAccount = await fetchConfig(finalConfig.rpcUrl);
|
|
79
|
+
// Get addresses
|
|
86
80
|
const addresses = getAddresses(config);
|
|
87
81
|
const sageProgram = address(addresses.sage);
|
|
88
82
|
const programAddress = address(addresses.srsly);
|
|
83
|
+
const contractAddress = address(params.contract);
|
|
84
|
+
// Derive fee flush accounts
|
|
85
|
+
const vaultAddress = address(configAccount.data.slyvault);
|
|
86
|
+
const vaultTokenAccount = await deriveAssociatedTokenAccount(vaultAddress, atlasMint);
|
|
87
|
+
const contractTokenAccount = await deriveAssociatedTokenAccount(contractAddress, atlasMint);
|
|
88
|
+
// Borrower's managed ATA for discount refund
|
|
89
|
+
const borrowerTokenAccount = await deriveAssociatedTokenAccount(borrowerState, atlasMint);
|
|
89
90
|
// Call Codama-generated instruction
|
|
90
91
|
const kitInstruction = await getCloseRentalInstructionAsync({
|
|
91
92
|
payer: payerSigner,
|
|
92
|
-
borrower,
|
|
93
93
|
borrowerState,
|
|
94
|
-
contract:
|
|
94
|
+
contract: contractAddress,
|
|
95
95
|
rentalState,
|
|
96
96
|
fleet: address(fleet),
|
|
97
97
|
gameId: address(gameId),
|
|
98
98
|
starbase: gameAccounts.starbase,
|
|
99
99
|
starbasePlayer: gameAccounts.starbasePlayer,
|
|
100
|
+
contractTokenAccount,
|
|
101
|
+
vault: vaultAddress,
|
|
102
|
+
vaultTokenAccount,
|
|
103
|
+
referrer,
|
|
104
|
+
borrowerTokenAccount,
|
|
100
105
|
sageProgram,
|
|
101
106
|
}, { programAddress });
|
|
102
107
|
return prepareInstructions(kitInstruction, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"closeRental.js","sourceRoot":"","sources":["../../../src/instructions/closeRental.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,10 +58,7 @@ export async function createConfig(params, config) {
|
|
|
58
58
|
const sageProgram = address(addresses.sage);
|
|
59
59
|
const antegenProgram = address(addresses.antegen);
|
|
60
60
|
// Convert authority to TransactionSigner
|
|
61
|
-
|
|
62
|
-
const authoritySigner = params.authority
|
|
63
|
-
? toTransactionSigner(params.authority)
|
|
64
|
-
: undefined;
|
|
61
|
+
const authoritySigner = toTransactionSigner(params.authority);
|
|
65
62
|
// Call Codama-generated instruction
|
|
66
63
|
// srslyProgram is passed automatically as programAddress for vault derivation
|
|
67
64
|
const kitInstruction = await getCreateConfigInstructionAsync({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,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;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;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,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,
|
|
1
|
+
{"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../../src/instructions/createConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,aAAa,CAAC;AACpD,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;AA0C5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;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,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,SAAoB,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAgB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,IAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,OAAkB,CAAC,CAAC;IAE7D,yCAAyC;IACzC,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE9D,oCAAoC;IACpC,8EAA8E;IAC9E,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D;QACE,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAgB,CAAC;QACvC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,iBAA4B,CAAC;QAC/D,WAAW,EAAE,OAAO,CAAC,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,mBAAmB,CAAC,cAAc,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAC;AACL,CAAC"}
|