@wuwei-labs/srsly 2.0.0-beta.3 → 2.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +322 -197
- package/dist/cjs/codama/accounts/config.js +88 -0
- package/dist/cjs/codama/accounts/config.js.map +1 -0
- package/dist/cjs/codama/{devnet/accounts → accounts}/contractState.js +2 -7
- package/dist/cjs/codama/accounts/contractState.js.map +1 -0
- package/dist/cjs/codama/{devnet/accounts → accounts}/index.js +1 -1
- package/dist/cjs/codama/accounts/index.js.map +1 -0
- package/dist/cjs/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
- package/dist/cjs/codama/accounts/rentalState.js.map +1 -0
- package/dist/cjs/codama/accounts/thread.js.map +1 -0
- package/dist/cjs/codama/errors/index.js.map +1 -0
- package/dist/cjs/codama/{devnet/errors → errors}/srsly.js +30 -3
- package/dist/cjs/codama/errors/srsly.js.map +1 -0
- package/dist/cjs/codama/index.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
- package/dist/cjs/codama/instructions/acceptRental.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
- package/dist/cjs/codama/instructions/cancelRental.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/closeContract.js +15 -23
- package/dist/cjs/codama/instructions/closeContract.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
- package/dist/cjs/codama/instructions/closeRental.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/createContract.js +13 -16
- package/dist/cjs/codama/instructions/createContract.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/index.js +2 -1
- package/dist/cjs/codama/instructions/index.js.map +1 -0
- package/dist/cjs/codama/instructions/initializeConfig.js +131 -0
- package/dist/cjs/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/payRental.js +32 -23
- package/dist/cjs/codama/instructions/payRental.js.map +1 -0
- package/dist/cjs/codama/{devnet/instructions → instructions}/resetRental.js +0 -9
- package/dist/cjs/codama/instructions/resetRental.js.map +1 -0
- package/dist/cjs/codama/instructions/updateConfig.js +145 -0
- package/dist/cjs/codama/instructions/updateConfig.js.map +1 -0
- package/dist/cjs/codama/programs/index.js.map +1 -0
- package/dist/cjs/codama/{devnet/programs → programs}/srsly.js +12 -8
- package/dist/cjs/codama/programs/srsly.js.map +1 -0
- package/dist/cjs/codama/shared/index.js.map +1 -0
- package/dist/cjs/codama/types/clockData.js.map +1 -0
- package/dist/cjs/codama/types/equality.js.map +1 -0
- package/dist/cjs/codama/types/execContext.js.map +1 -0
- package/dist/cjs/codama/types/index.js.map +1 -0
- package/dist/cjs/codama/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/codama/types/serializableAccount.js.map +1 -0
- package/dist/cjs/codama/types/serializableInstruction.js.map +1 -0
- package/dist/cjs/codama/types/threadResponse.js.map +1 -0
- package/dist/cjs/codama/types/trigger.js.map +1 -0
- package/dist/cjs/codama/types/triggerContext.js.map +1 -0
- package/dist/cjs/contract/close.js +74 -31
- package/dist/cjs/contract/close.js.map +1 -1
- package/dist/cjs/contract/create.js +79 -35
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/index.js +25 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +53 -0
- package/dist/cjs/rental/accept.js +76 -42
- package/dist/cjs/rental/accept.js.map +1 -1
- package/dist/cjs/rental/cancel.js +40 -28
- package/dist/cjs/rental/cancel.js.map +1 -1
- package/dist/cjs/rental/close.js +42 -30
- package/dist/cjs/rental/close.js.map +1 -1
- package/dist/cjs/rental/reset.js +50 -43
- package/dist/cjs/rental/reset.js.map +1 -1
- package/dist/cjs/types/paymentFrequency.js +58 -0
- package/dist/cjs/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/config.js +216 -0
- package/dist/cjs/utils/config.js.map +1 -0
- package/dist/cjs/utils/constants.js +55 -27
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/duration.js +77 -0
- package/dist/cjs/utils/duration.js.map +1 -0
- package/dist/cjs/utils/index.js +4 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/instruction-converter.js +66 -0
- package/dist/cjs/utils/instruction-converter.js.map +1 -0
- package/dist/cjs/utils/paymentFrequency.js +60 -0
- package/dist/cjs/utils/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/profiles.js +38 -18
- package/dist/cjs/utils/profiles.js.map +1 -1
- package/dist/cjs/utils/types.js +6 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/codama/accounts/config.js +76 -0
- package/dist/esm/codama/accounts/config.js.map +1 -0
- package/dist/esm/codama/{devnet/accounts → accounts}/contractState.js +3 -7
- package/dist/esm/codama/accounts/contractState.js.map +1 -0
- package/dist/esm/codama/{devnet/accounts → accounts}/index.js +1 -1
- package/dist/esm/codama/accounts/index.js.map +1 -0
- package/dist/esm/codama/{devnet/accounts → accounts}/rentalState.js +3 -1
- package/dist/esm/codama/accounts/rentalState.js.map +1 -0
- package/dist/esm/codama/accounts/thread.js.map +1 -0
- package/dist/esm/codama/errors/index.js.map +1 -0
- package/dist/esm/codama/{devnet/errors → errors}/srsly.js +29 -2
- package/dist/esm/codama/errors/srsly.js.map +1 -0
- package/dist/esm/codama/index.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/acceptRental.js +30 -39
- package/dist/esm/codama/instructions/acceptRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/cancelRental.js +10 -33
- package/dist/esm/codama/instructions/cancelRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/closeContract.js +17 -25
- package/dist/esm/codama/instructions/closeContract.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/closeRental.js +19 -19
- package/dist/esm/codama/instructions/closeRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/createContract.js +13 -16
- package/dist/esm/codama/instructions/createContract.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/index.js +2 -1
- package/dist/esm/codama/instructions/index.js.map +1 -0
- package/dist/esm/codama/instructions/initializeConfig.js +121 -0
- package/dist/esm/codama/instructions/initializeConfig.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/payRental.js +34 -25
- package/dist/esm/codama/instructions/payRental.js.map +1 -0
- package/dist/esm/codama/{devnet/instructions → instructions}/resetRental.js +0 -9
- package/dist/esm/codama/instructions/resetRental.js.map +1 -0
- package/dist/esm/codama/instructions/updateConfig.js +135 -0
- package/dist/esm/codama/instructions/updateConfig.js.map +1 -0
- package/dist/esm/codama/programs/index.js.map +1 -0
- package/dist/esm/codama/{devnet/programs → programs}/srsly.js +12 -8
- package/dist/esm/codama/programs/srsly.js.map +1 -0
- package/dist/esm/codama/shared/index.js.map +1 -0
- package/dist/esm/codama/types/clockData.js.map +1 -0
- package/dist/esm/codama/types/equality.js.map +1 -0
- package/dist/esm/codama/types/execContext.js.map +1 -0
- package/dist/esm/codama/types/index.js.map +1 -0
- package/dist/esm/codama/types/paymentFrequency.js.map +1 -0
- package/dist/esm/codama/types/serializableAccount.js.map +1 -0
- package/dist/esm/codama/types/serializableInstruction.js.map +1 -0
- package/dist/esm/codama/types/threadResponse.js.map +1 -0
- package/dist/esm/codama/types/trigger.js.map +1 -0
- package/dist/esm/codama/types/triggerContext.js.map +1 -0
- package/dist/esm/contract/close.js +75 -32
- package/dist/esm/contract/close.js.map +1 -1
- package/dist/esm/contract/create.js +79 -34
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/index.js +8 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +53 -0
- package/dist/esm/rental/accept.js +77 -43
- package/dist/esm/rental/accept.js.map +1 -1
- package/dist/esm/rental/cancel.js +40 -28
- package/dist/esm/rental/cancel.js.map +1 -1
- package/dist/esm/rental/close.js +42 -30
- package/dist/esm/rental/close.js.map +1 -1
- package/dist/esm/rental/reset.js +51 -44
- package/dist/esm/rental/reset.js.map +1 -1
- package/dist/esm/types/paymentFrequency.js +53 -0
- package/dist/esm/types/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/config.js +173 -0
- package/dist/esm/utils/config.js.map +1 -0
- package/dist/esm/utils/constants.js +49 -24
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/duration.js +68 -0
- package/dist/esm/utils/duration.js.map +1 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/instruction-converter.js +62 -0
- package/dist/esm/utils/instruction-converter.js.map +1 -0
- package/dist/esm/utils/paymentFrequency.js +55 -0
- package/dist/esm/utils/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/profiles.js +39 -19
- package/dist/esm/utils/profiles.js.map +1 -1
- package/dist/esm/utils/types.js +5 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/types/codama/accounts/config.d.ts +52 -0
- package/dist/types/codama/accounts/config.d.ts.map +1 -0
- package/dist/types/codama/{devnet/accounts → accounts}/contractState.d.ts +2 -4
- package/dist/types/codama/accounts/contractState.d.ts.map +1 -0
- package/dist/types/codama/{devnet/accounts → accounts}/index.d.ts +1 -1
- package/dist/types/codama/accounts/index.d.ts.map +1 -0
- package/dist/types/codama/{devnet/accounts → accounts}/rentalState.d.ts +2 -0
- package/dist/types/codama/accounts/rentalState.d.ts.map +1 -0
- package/dist/types/codama/accounts/thread.d.ts.map +1 -0
- package/dist/types/codama/errors/index.d.ts.map +1 -0
- package/dist/types/codama/{devnet/errors → errors}/srsly.d.ts +20 -2
- package/dist/types/codama/errors/srsly.d.ts.map +1 -0
- package/dist/types/codama/index.d.ts.map +1 -0
- package/dist/types/codama/instructions/acceptRental.d.ts +135 -0
- package/dist/types/codama/instructions/acceptRental.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/cancelRental.d.ts +14 -10
- package/dist/types/codama/instructions/cancelRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/closeContract.d.ts +104 -0
- package/dist/types/codama/instructions/closeContract.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/closeRental.d.ts +20 -12
- package/dist/types/codama/instructions/closeRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/createContract.d.ts +112 -0
- package/dist/types/codama/instructions/createContract.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/index.d.ts +2 -1
- package/dist/types/codama/instructions/index.d.ts.map +1 -0
- package/dist/types/codama/instructions/initializeConfig.d.ts +60 -0
- package/dist/types/codama/instructions/initializeConfig.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/payRental.d.ts +28 -13
- package/dist/types/codama/instructions/payRental.d.ts.map +1 -0
- package/dist/types/codama/{devnet/instructions → instructions}/resetRental.d.ts +3 -3
- package/dist/types/codama/instructions/resetRental.d.ts.map +1 -0
- package/dist/types/codama/instructions/updateConfig.d.ts +93 -0
- package/dist/types/codama/instructions/updateConfig.d.ts.map +1 -0
- package/dist/types/codama/programs/index.d.ts.map +1 -0
- package/dist/types/codama/{devnet/programs → programs}/srsly.d.ts +11 -8
- package/dist/types/codama/programs/srsly.d.ts.map +1 -0
- package/dist/types/codama/shared/index.d.ts.map +1 -0
- package/dist/types/codama/types/clockData.d.ts.map +1 -0
- package/dist/types/codama/types/equality.d.ts.map +1 -0
- package/dist/types/codama/types/execContext.d.ts.map +1 -0
- package/dist/types/codama/types/index.d.ts.map +1 -0
- package/dist/types/codama/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/codama/types/serializableAccount.d.ts.map +1 -0
- package/dist/types/codama/types/serializableInstruction.d.ts.map +1 -0
- package/dist/types/codama/types/threadResponse.d.ts.map +1 -0
- package/dist/types/codama/types/trigger.d.ts.map +1 -0
- package/dist/types/codama/types/triggerContext.d.ts.map +1 -0
- package/dist/types/contract/close.d.ts +29 -13
- package/dist/types/contract/close.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +55 -54
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/rental/accept.d.ts +65 -15
- package/dist/types/rental/accept.d.ts.map +1 -1
- package/dist/types/rental/cancel.d.ts +36 -8
- package/dist/types/rental/cancel.d.ts.map +1 -1
- package/dist/types/rental/close.d.ts +36 -8
- package/dist/types/rental/close.d.ts.map +1 -1
- package/dist/types/rental/reset.d.ts +42 -11
- package/dist/types/rental/reset.d.ts.map +1 -1
- package/dist/types/types/paymentFrequency.d.ts +44 -0
- package/dist/types/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +110 -0
- package/dist/types/utils/config.d.ts.map +1 -0
- package/dist/types/utils/constants.d.ts +14 -11
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/duration.d.ts +56 -0
- package/dist/types/utils/duration.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/instruction-converter.d.ts +117 -0
- package/dist/types/utils/instruction-converter.d.ts.map +1 -0
- package/dist/types/utils/paymentFrequency.d.ts +18 -0
- package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/profiles.d.ts +14 -8
- package/dist/types/utils/profiles.d.ts.map +1 -1
- package/dist/types/utils/types.d.ts +6 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/package.json +33 -25
- package/target/idl/{srsly-devnet.json → srsly.json} +795 -523
- package/dist/cjs/codama/devnet/accounts/contractState.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/fleet.js +0 -77
- package/dist/cjs/codama/devnet/accounts/fleet.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/index.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/rentalState.js.map +0 -1
- package/dist/cjs/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/index.js.map +0 -1
- package/dist/cjs/codama/devnet/errors/srsly.js.map +0 -1
- package/dist/cjs/codama/devnet/index.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/acceptRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/cancelRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/index.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js +0 -152
- package/dist/cjs/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/payRental.js.map +0 -1
- package/dist/cjs/codama/devnet/instructions/resetRental.js.map +0 -1
- package/dist/cjs/codama/devnet/programs/index.js.map +0 -1
- package/dist/cjs/codama/devnet/programs/srsly.js.map +0 -1
- package/dist/cjs/codama/devnet/shared/index.js.map +0 -1
- package/dist/cjs/codama/devnet/types/clockData.js.map +0 -1
- package/dist/cjs/codama/devnet/types/equality.js.map +0 -1
- package/dist/cjs/codama/devnet/types/execContext.js.map +0 -1
- package/dist/cjs/codama/devnet/types/index.js.map +0 -1
- package/dist/cjs/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/cjs/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/cjs/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/cjs/codama/devnet/types/threadResponse.js.map +0 -1
- package/dist/cjs/codama/devnet/types/trigger.js.map +0 -1
- package/dist/cjs/codama/devnet/types/triggerContext.js.map +0 -1
- package/dist/cjs/network.js +0 -107
- package/dist/cjs/network.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/contractState.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/fleet.js +0 -64
- package/dist/esm/codama/devnet/accounts/fleet.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/index.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/rentalState.js.map +0 -1
- package/dist/esm/codama/devnet/accounts/thread.js.map +0 -1
- package/dist/esm/codama/devnet/errors/index.js.map +0 -1
- package/dist/esm/codama/devnet/errors/srsly.js.map +0 -1
- package/dist/esm/codama/devnet/index.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/acceptRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/cancelRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/closeContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/closeRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/createContract.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/index.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js +0 -142
- package/dist/esm/codama/devnet/instructions/normalizeAdmin.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/payRental.js.map +0 -1
- package/dist/esm/codama/devnet/instructions/resetRental.js.map +0 -1
- package/dist/esm/codama/devnet/programs/index.js.map +0 -1
- package/dist/esm/codama/devnet/programs/srsly.js.map +0 -1
- package/dist/esm/codama/devnet/shared/index.js.map +0 -1
- package/dist/esm/codama/devnet/types/clockData.js.map +0 -1
- package/dist/esm/codama/devnet/types/equality.js.map +0 -1
- package/dist/esm/codama/devnet/types/execContext.js.map +0 -1
- package/dist/esm/codama/devnet/types/index.js.map +0 -1
- package/dist/esm/codama/devnet/types/paymentFrequency.js.map +0 -1
- package/dist/esm/codama/devnet/types/serializableAccount.js.map +0 -1
- package/dist/esm/codama/devnet/types/serializableInstruction.js.map +0 -1
- package/dist/esm/codama/devnet/types/threadResponse.js.map +0 -1
- package/dist/esm/codama/devnet/types/trigger.js.map +0 -1
- package/dist/esm/codama/devnet/types/triggerContext.js.map +0 -1
- package/dist/esm/network.js +0 -67
- package/dist/esm/network.js.map +0 -1
- package/dist/types/codama/devnet/accounts/contractState.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/fleet.d.ts +0 -38
- package/dist/types/codama/devnet/accounts/fleet.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/rentalState.d.ts.map +0 -1
- package/dist/types/codama/devnet/accounts/thread.d.ts.map +0 -1
- package/dist/types/codama/devnet/errors/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/errors/srsly.d.ts.map +0 -1
- package/dist/types/codama/devnet/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts +0 -128
- package/dist/types/codama/devnet/instructions/acceptRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/cancelRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/closeContract.d.ts +0 -96
- package/dist/types/codama/devnet/instructions/closeContract.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/closeRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/createContract.d.ts +0 -108
- package/dist/types/codama/devnet/instructions/createContract.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts +0 -67
- package/dist/types/codama/devnet/instructions/normalizeAdmin.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/payRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/instructions/resetRental.d.ts.map +0 -1
- package/dist/types/codama/devnet/programs/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/programs/srsly.d.ts.map +0 -1
- package/dist/types/codama/devnet/shared/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/clockData.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/equality.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/execContext.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/index.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/paymentFrequency.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/serializableAccount.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/serializableInstruction.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/threadResponse.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/trigger.d.ts.map +0 -1
- package/dist/types/codama/devnet/types/triggerContext.d.ts.map +0 -1
- package/dist/types/network.d.ts +0 -58
- package/dist/types/network.d.ts.map +0 -1
- package/target/idl/srsly-mainnet.json +0 -3011
- package/target/types/srsly-mainnet.ts +0 -1
- /package/dist/cjs/codama/{devnet/accounts → accounts}/thread.js +0 -0
- /package/dist/cjs/codama/{devnet/errors → errors}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/index.js → index.js} +0 -0
- /package/dist/cjs/codama/{devnet/programs → programs}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/shared → shared}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/clockData.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/equality.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/execContext.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/index.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/paymentFrequency.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/serializableAccount.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/serializableInstruction.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/threadResponse.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/trigger.js +0 -0
- /package/dist/cjs/codama/{devnet/types → types}/triggerContext.js +0 -0
- /package/dist/esm/codama/{devnet/accounts → accounts}/thread.js +0 -0
- /package/dist/esm/codama/{devnet/errors → errors}/index.js +0 -0
- /package/dist/esm/codama/{devnet/index.js → index.js} +0 -0
- /package/dist/esm/codama/{devnet/programs → programs}/index.js +0 -0
- /package/dist/esm/codama/{devnet/shared → shared}/index.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/clockData.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/equality.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/execContext.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/index.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/paymentFrequency.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/serializableAccount.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/serializableInstruction.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/threadResponse.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/trigger.js +0 -0
- /package/dist/esm/codama/{devnet/types → types}/triggerContext.js +0 -0
- /package/dist/types/codama/{devnet/accounts → accounts}/thread.d.ts +0 -0
- /package/dist/types/codama/{devnet/errors → errors}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/index.d.ts → index.d.ts} +0 -0
- /package/dist/types/codama/{devnet/programs → programs}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/shared → shared}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/clockData.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/equality.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/execContext.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/index.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/paymentFrequency.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/serializableAccount.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/serializableInstruction.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/threadResponse.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/trigger.d.ts +0 -0
- /package/dist/types/codama/{devnet/types → types}/triggerContext.d.ts +0 -0
- /package/target/types/{srsly-devnet.ts → srsly.ts} +0 -0
|
@@ -1,58 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Unified contract creation - works with both @solana/kit and @solana/web3.js
|
|
4
|
+
* Uses strings for all addresses to eliminate library-specific type complexity
|
|
5
|
+
*/
|
|
2
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
7
|
exports.createContract = createContract;
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
8
|
+
const config_1 = require("../utils/config");
|
|
9
|
+
const constants_1 = require("../utils/constants");
|
|
10
|
+
const paymentFrequency_1 = require("../utils/paymentFrequency");
|
|
11
|
+
const paymentFrequency_2 = require("../types/paymentFrequency");
|
|
12
|
+
const instruction_converter_1 = require("../utils/instruction-converter");
|
|
7
13
|
/**
|
|
8
|
-
* Internal function to create a contract instruction
|
|
14
|
+
* Internal function to create a rental contract instruction with configuration options
|
|
9
15
|
*/
|
|
10
|
-
async function _createContract(params,
|
|
11
|
-
const { owner, fleet, ownerProfile, rate,
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
async function _createContract(params, config) {
|
|
17
|
+
const { owner, fleet, ownerProfile, rate, durationMax, paymentsFreq, gameId, sageProgramAddress, atlasMint, ownerKeyIndex = 0, } = params;
|
|
18
|
+
// Validate payment frequency
|
|
19
|
+
if (!(0, paymentFrequency_2.isValidPaymentFrequency)(paymentsFreq)) {
|
|
20
|
+
throw new Error(`Invalid payment frequency: "${paymentsFreq}". Valid values are: ${JSON.stringify(Object.keys({ daily: true, weekly: true, monthly: true, hourly: true }))}`);
|
|
21
|
+
}
|
|
22
|
+
// Validate duration alignment
|
|
23
|
+
(0, paymentFrequency_1.validateDurationAlignment)(Number(durationMax), paymentsFreq);
|
|
24
|
+
// Get the payment frequency interval (this will be the minimum duration)
|
|
25
|
+
const durationMin = (0, paymentFrequency_1.paymentFrequencyStringToSeconds)(paymentsFreq);
|
|
26
|
+
// Convert the payment frequency to the format expected by the Rust program (with @ prefix)
|
|
27
|
+
const paymentsFreqWithPrefix = `@${paymentsFreq}`;
|
|
28
|
+
// Get network-specific addresses (param override, config override, or network default)
|
|
29
|
+
const actualGameId = gameId ? (0, constants_1.toAddress)(gameId) : await (0, constants_1.getSageGameId)(config);
|
|
30
|
+
const actualSageProgramAddress = sageProgramAddress ? (0, constants_1.toAddress)(sageProgramAddress) : await (0, constants_1.getSageProgramAddress)(config);
|
|
31
|
+
const actualAtlasMint = atlasMint ? (0, constants_1.toAddress)(atlasMint) : await (0, constants_1.getAtlasMint)(config);
|
|
16
32
|
const input = {
|
|
17
|
-
owner,
|
|
18
|
-
fleet,
|
|
19
|
-
ownerProfile,
|
|
20
|
-
gameId,
|
|
21
|
-
|
|
33
|
+
owner, // Pass as-is (string or signer)
|
|
34
|
+
fleet: (0, constants_1.toAddress)(fleet), // Ensure string
|
|
35
|
+
ownerProfile: (0, constants_1.toAddress)(ownerProfile), // Ensure string
|
|
36
|
+
gameId: actualGameId, // Already string
|
|
37
|
+
sageProgram: actualSageProgramAddress, // Fixed: use sageProgram instead of sageProgramAddress
|
|
38
|
+
mint: actualAtlasMint, // Fixed: use mint instead of atlasMint
|
|
22
39
|
durationMin,
|
|
23
40
|
durationMax,
|
|
24
|
-
|
|
41
|
+
rate,
|
|
42
|
+
paymentsFeq: paymentsFreqWithPrefix, // Fixed: use paymentsFeq as expected by codama
|
|
25
43
|
ownerKeyIndex,
|
|
26
44
|
};
|
|
27
|
-
|
|
45
|
+
// Get network-specific codama functions from centralized config
|
|
46
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
47
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
48
|
+
const { getCreateContractInstructionAsync } = instructionsModule;
|
|
49
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
50
|
+
const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
51
|
+
return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
|
|
28
52
|
}
|
|
29
53
|
/**
|
|
30
|
-
* Creates an instruction to create a rental contract with fluent
|
|
54
|
+
* Creates an instruction to create a rental contract with fluent configuration.
|
|
55
|
+
* This unified version works with both @solana/kit and @solana/web3.js using strings for addresses.
|
|
31
56
|
*
|
|
32
57
|
* @example
|
|
33
58
|
* ```typescript
|
|
34
|
-
* //
|
|
35
|
-
*
|
|
59
|
+
* // Works with any library - just use strings for addresses!
|
|
60
|
+
*
|
|
61
|
+
* // Default returns @solana/kit format
|
|
62
|
+
* const kitInstruction = await createContract({
|
|
63
|
+
* owner: wallet, // Can be signer object or string
|
|
64
|
+
* fleet: "FleetAddress123...", // String address
|
|
65
|
+
* ownerProfile: "ProfileAddr...", // String address
|
|
66
|
+
* rate: 1000,
|
|
67
|
+
* durationMax: days(7),
|
|
68
|
+
* paymentsFreq: 'daily'
|
|
69
|
+
* });
|
|
36
70
|
*
|
|
37
|
-
* //
|
|
38
|
-
* const
|
|
39
|
-
*
|
|
40
|
-
*
|
|
71
|
+
* // Convert to @solana/web3.js format using fluent interface
|
|
72
|
+
* const web3jsInstruction = await createContract({
|
|
73
|
+
* owner: wallet,
|
|
74
|
+
* fleet: "FleetAddress123...",
|
|
75
|
+
* ownerProfile: "ProfileAddr...",
|
|
76
|
+
* rate: 1000,
|
|
77
|
+
* durationMax: days(7),
|
|
78
|
+
* paymentsFreq: 'daily'
|
|
79
|
+
* }).web3js();
|
|
80
|
+
*
|
|
81
|
+
* // Chain configuration and format conversion
|
|
82
|
+
* const web3jsInstructionWithConfig = await createContract({
|
|
83
|
+
* owner: wallet,
|
|
84
|
+
* fleet: "FleetAddress123...",
|
|
85
|
+
* ownerProfile: "ProfileAddr...",
|
|
86
|
+
* rate: 1000,
|
|
87
|
+
* durationMax: days(7),
|
|
88
|
+
* paymentsFreq: 'daily'
|
|
89
|
+
* }).set({ programs: 'mainnet' }).web3js();
|
|
90
|
+
*
|
|
91
|
+
* // Use with your preferred Solana library
|
|
92
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
41
93
|
* ```
|
|
42
94
|
*
|
|
43
95
|
* @param params The simplified parameters for creating a rental contract
|
|
44
|
-
* @returns A
|
|
96
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
45
97
|
*/
|
|
46
98
|
function createContract(params) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Export network selector for getCreateContractInstructionAsync
|
|
51
|
-
*/
|
|
52
|
-
function getCreateContractInstructionAsync(input, options) {
|
|
53
|
-
return (0, network_1.createNetworkSelector)(async (network) => {
|
|
54
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions', network);
|
|
55
|
-
return codamaModule.getCreateContractInstructionAsync(input, options);
|
|
56
|
-
});
|
|
99
|
+
const baseSelector = (0, config_1.createConfigSelector)((config) => _createContract(params, config));
|
|
100
|
+
return (0, instruction_converter_1.createFluentConfigSelector)(baseSelector);
|
|
57
101
|
}
|
|
58
102
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/contract/create.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAqIH,wCAGC;AAtID,4CAA2G;AAC3G,kDAAmG;AACnG,gEAAuG;AACvG,gEAA4F;AAC5F,0EAAwJ;AAsBxJ;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,MAA4B,EAAE,MAAsB;IACjF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,MAAM,EACN,kBAAkB,EAClB,SAAS,EACT,aAAa,GAAG,CAAC,GAClB,GAAG,MAAM,CAAC;IAEX,6BAA6B;IAC7B,IAAI,CAAC,IAAA,0CAAuB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChL,CAAC;IAED,8BAA8B;IAC9B,IAAA,4CAAyB,EAAC,MAAM,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;IAE7D,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAA,kDAA+B,EAAC,YAAY,CAAC,CAAC;IAElE,2FAA2F;IAC3F,MAAM,sBAAsB,GAAG,IAAI,YAAY,EAAE,CAAC;IAElD,uFAAuF;IACvF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IAC9E,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,iCAAqB,EAAC,MAAM,CAAC,CAAC;IAC1H,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,wBAAY,EAAC,MAAM,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAG;QACZ,KAAK,EAAqC,gCAAgC;QAC1E,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAkB,gBAAgB;QACzD,YAAY,EAAE,IAAA,qBAAS,EAAC,YAAY,CAAC,EAAI,gBAAgB;QACzD,MAAM,EAAE,YAAY,EAAqB,iBAAiB;QAC1D,WAAW,EAAE,wBAAwB,EAAI,uDAAuD;QAChG,IAAI,EAAE,eAAe,EAAoB,uCAAuC;QAChF,WAAW;QACX,WAAW;QACX,IAAI;QACJ,WAAW,EAAE,sBAAsB,EAAM,+CAA+C;QACxF,aAAa;KACd,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,iCAAiC,EAAE,GAAG,kBAAkB,CAAC;IACjE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,MAAM,cAAc,GAAG,MAAM,iCAAiC,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACjH,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAgB,cAAc,CAAC,MAA4B;IACzD,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvF,OAAO,IAAA,kDAA0B,EAAC,YAAY,CAAC,CAAC;AAClD,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,10 +14,33 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
__exportStar(require("./network"), exports);
|
|
17
|
+
exports.duration = exports.months = exports.weeks = exports.days = exports.hours = exports.minutes = exports.decaseconds = exports.validateDurationAlignment = exports.paymentFrequencyStringToSeconds = exports.paymentFrequencyToSeconds = exports.isValidPaymentFrequency = exports.getPaymentFrequencyFromString = exports.PAYMENT_FREQUENCY_CONSTANTS = exports.PAYMENT_FREQUENCY_MAP = exports.VALID_PAYMENT_FREQUENCIES = exports.PaymentFrequency = void 0;
|
|
19
18
|
// Export main SDK functions
|
|
20
19
|
__exportStar(require("./contract"), exports);
|
|
21
20
|
__exportStar(require("./rental"), exports);
|
|
22
21
|
__exportStar(require("./utils"), exports);
|
|
22
|
+
// Export PaymentFrequency from codama (generated from Rust)
|
|
23
|
+
var paymentFrequency_1 = require("./codama/types/paymentFrequency");
|
|
24
|
+
Object.defineProperty(exports, "PaymentFrequency", { enumerable: true, get: function () { return paymentFrequency_1.PaymentFrequency; } });
|
|
25
|
+
// Export auto-generated payment frequency types and utilities
|
|
26
|
+
var paymentFrequency_2 = require("./types/paymentFrequency");
|
|
27
|
+
Object.defineProperty(exports, "VALID_PAYMENT_FREQUENCIES", { enumerable: true, get: function () { return paymentFrequency_2.VALID_PAYMENT_FREQUENCIES; } });
|
|
28
|
+
Object.defineProperty(exports, "PAYMENT_FREQUENCY_MAP", { enumerable: true, get: function () { return paymentFrequency_2.PAYMENT_FREQUENCY_MAP; } });
|
|
29
|
+
Object.defineProperty(exports, "PAYMENT_FREQUENCY_CONSTANTS", { enumerable: true, get: function () { return paymentFrequency_2.PAYMENT_FREQUENCY_CONSTANTS; } });
|
|
30
|
+
Object.defineProperty(exports, "getPaymentFrequencyFromString", { enumerable: true, get: function () { return paymentFrequency_2.getPaymentFrequencyFromString; } });
|
|
31
|
+
Object.defineProperty(exports, "isValidPaymentFrequency", { enumerable: true, get: function () { return paymentFrequency_2.isValidPaymentFrequency; } });
|
|
32
|
+
// Export payment frequency utilities that mirror Rust implementation
|
|
33
|
+
var paymentFrequency_3 = require("./utils/paymentFrequency");
|
|
34
|
+
Object.defineProperty(exports, "paymentFrequencyToSeconds", { enumerable: true, get: function () { return paymentFrequency_3.paymentFrequencyToSeconds; } });
|
|
35
|
+
Object.defineProperty(exports, "paymentFrequencyStringToSeconds", { enumerable: true, get: function () { return paymentFrequency_3.paymentFrequencyStringToSeconds; } });
|
|
36
|
+
Object.defineProperty(exports, "validateDurationAlignment", { enumerable: true, get: function () { return paymentFrequency_3.validateDurationAlignment; } });
|
|
37
|
+
// Export duration helper functions for convenient time unit conversion
|
|
38
|
+
var duration_1 = require("./utils/duration");
|
|
39
|
+
Object.defineProperty(exports, "decaseconds", { enumerable: true, get: function () { return duration_1.decaseconds; } });
|
|
40
|
+
Object.defineProperty(exports, "minutes", { enumerable: true, get: function () { return duration_1.minutes; } });
|
|
41
|
+
Object.defineProperty(exports, "hours", { enumerable: true, get: function () { return duration_1.hours; } });
|
|
42
|
+
Object.defineProperty(exports, "days", { enumerable: true, get: function () { return duration_1.days; } });
|
|
43
|
+
Object.defineProperty(exports, "weeks", { enumerable: true, get: function () { return duration_1.weeks; } });
|
|
44
|
+
Object.defineProperty(exports, "months", { enumerable: true, get: function () { return duration_1.months; } });
|
|
45
|
+
Object.defineProperty(exports, "duration", { enumerable: true, get: function () { return duration_1.duration; } });
|
|
23
46
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,0CAAwB;AAsBxB,4DAA4D;AAC5D,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AAEzB,8DAA8D;AAC9D,6DAOkC;AALhC,6HAAA,yBAAyB,OAAA;AACzB,yHAAA,qBAAqB,OAAA;AACrB,+HAAA,2BAA2B,OAAA;AAC3B,iIAAA,6BAA6B,OAAA;AAC7B,2HAAA,uBAAuB,OAAA;AAGzB,qEAAqE;AACrE,6DAIkC;AAHhC,6HAAA,yBAAyB,OAAA;AACzB,mIAAA,+BAA+B,OAAA;AAC/B,6HAAA,yBAAyB,OAAA;AAG3B,uEAAuE;AACvE,6CAQ0B;AAPxB,uGAAA,WAAW,OAAA;AACX,mGAAA,OAAO,OAAA;AACP,iGAAA,KAAK,OAAA;AACL,gGAAA,IAAI,OAAA;AACJ,iGAAA,KAAK,OAAA;AACL,kGAAA,MAAM,OAAA;AACN,oGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wuwei-labs/srsly",
|
|
3
|
+
"version": "2.0.0-beta.31",
|
|
4
|
+
"description": "",
|
|
5
|
+
"source": "./src/index.ts",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/cjs",
|
|
12
|
+
"dist/esm",
|
|
13
|
+
"dist/types",
|
|
14
|
+
"target/idl/srsly.json",
|
|
15
|
+
"target/types/srsly.ts"
|
|
16
|
+
],
|
|
17
|
+
"keywords": [
|
|
18
|
+
"SRSLY",
|
|
19
|
+
"Star",
|
|
20
|
+
"Atlas",
|
|
21
|
+
"sdk"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"package": "pnpm run clean && pnpm build && pnpm run package:cjs && pnpm run package:esm && pnpm run generate",
|
|
25
|
+
"package:cjs": "tsc -p tsconfig.cjs.json && tsconfig-to-dual-package tsconfig.cjs.json",
|
|
26
|
+
"package:esm": "tsc -p tsconfig.esm.json && tsconfig-to-dual-package tsconfig.esm.json",
|
|
27
|
+
"clean": "rm -rf dist && cargo clean && pnpm install",
|
|
28
|
+
"generate": "node generate.mjs",
|
|
29
|
+
"build": "anchor build && pnpm run generate",
|
|
30
|
+
"docs": "typedoc",
|
|
31
|
+
"test": "vitest run",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"test:coverage": "vitest run --coverage"
|
|
34
|
+
},
|
|
35
|
+
"author": "",
|
|
36
|
+
"license": "ISC",
|
|
37
|
+
"packageManager": "pnpm@10.6.5",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@solana/kit": "^2.0.0"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@codama/nodes-from-anchor": "^1.1.13",
|
|
43
|
+
"@codama/renderers": "^1.0.21",
|
|
44
|
+
"@types/node": "^24.0.3",
|
|
45
|
+
"codama": "^1.2.13",
|
|
46
|
+
"tsconfig-to-dual-package": "^1.2.0",
|
|
47
|
+
"typedoc": "^0.28.3",
|
|
48
|
+
"typescript": "^5.8.3",
|
|
49
|
+
"vitest": "^3.2.4",
|
|
50
|
+
"webpack": "^5.99.9"
|
|
51
|
+
},
|
|
52
|
+
"type": "commonjs"
|
|
53
|
+
}
|
|
@@ -2,63 +2,97 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.acceptRental = acceptRental;
|
|
4
4
|
exports.getAcceptRentalInstructionAsync = getAcceptRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
const utils_1 = require("../utils");
|
|
8
|
+
const instruction_converter_1 = require("../utils/instruction-converter");
|
|
7
9
|
/**
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
+
* Internal function to accept a rental instruction with configuration options
|
|
11
|
+
*/
|
|
12
|
+
async function _acceptRental(params, config) {
|
|
13
|
+
const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId, rate, duration, referralTokenAccount, } = params;
|
|
14
|
+
// Get the actual game ID to use (param override, config override, or network default)
|
|
15
|
+
const actualGameId = gameId ? (0, constants_1.toAddress)(gameId) : await (0, constants_1.getSageGameId)(config);
|
|
16
|
+
// Calculate the total amount from rate and duration
|
|
17
|
+
// Convert ATLAS to stardust (smallest unit): 1 ATLAS = 100,000,000 stardust
|
|
18
|
+
const amount = BigInt(rate) * BigInt(duration) * BigInt(constants_1.ATLAS_TO_STARDUST);
|
|
19
|
+
// Derive the three accounts we need
|
|
20
|
+
const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(borrowerProfile), borrowerFaction, actualGameId, 0, // starbaseSeqId
|
|
21
|
+
config);
|
|
22
|
+
// Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
|
|
23
|
+
const input = {
|
|
24
|
+
borrower, // Pass as-is (string or signer)
|
|
25
|
+
borrowerProfile: (0, constants_1.toAddress)(borrowerProfile), // Ensure string
|
|
26
|
+
borrowerProfileFaction: profileFaction, // Already string from deriveGameAccounts
|
|
27
|
+
fleet: (0, constants_1.toAddress)(fleet), // Ensure string
|
|
28
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
29
|
+
gameId: actualGameId, // Already string
|
|
30
|
+
starbase, // Already string from deriveGameAccounts
|
|
31
|
+
starbasePlayer, // Already string from deriveGameAccounts
|
|
32
|
+
amount, // BigInt value
|
|
33
|
+
duration, // BigInt value
|
|
34
|
+
referralTokenAccount: referralTokenAccount ? (0, constants_1.toAddress)(referralTokenAccount) : undefined,
|
|
35
|
+
};
|
|
36
|
+
// Get network-specific codama functions from centralized config
|
|
37
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
38
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
39
|
+
const { getAcceptRentalInstructionAsync } = instructionsModule;
|
|
40
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
41
|
+
const rawInstruction = await getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
42
|
+
return (0, instruction_converter_1.createFluentInstruction)(rawInstruction);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Creates an instruction to accept a rental with fluent configuration.
|
|
10
46
|
*
|
|
11
47
|
* @example
|
|
12
48
|
* ```typescript
|
|
13
|
-
* //
|
|
14
|
-
* const
|
|
49
|
+
* // Works with any library - just use strings for addresses!
|
|
50
|
+
* const instruction = await acceptRental({
|
|
51
|
+
* borrower: wallet, // Can be signer object or string
|
|
52
|
+
* borrowerProfile: "ProfileAddr...", // String address
|
|
53
|
+
* borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
|
|
54
|
+
* fleet: "FleetAddress123...", // String address
|
|
55
|
+
* contract: "ContractAddr...", // String address
|
|
56
|
+
* rate: 1000, // ATLAS tokens
|
|
57
|
+
* duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
|
|
58
|
+
* });
|
|
59
|
+
*
|
|
60
|
+
* // With referral (referrer gets 5% of platform fees)
|
|
61
|
+
* const instruction = await acceptRental({
|
|
15
62
|
* borrower: wallet,
|
|
16
|
-
* borrowerProfile:
|
|
17
|
-
* borrowerFaction: 1,
|
|
18
|
-
* fleet:
|
|
19
|
-
* contract:
|
|
20
|
-
*
|
|
21
|
-
* duration: 86400
|
|
22
|
-
*
|
|
63
|
+
* borrowerProfile: "ProfileAddr...",
|
|
64
|
+
* borrowerFaction: 1,
|
|
65
|
+
* fleet: "FleetAddress123...",
|
|
66
|
+
* contract: "ContractAddr...",
|
|
67
|
+
* rate: 1000,
|
|
68
|
+
* duration: 86400,
|
|
69
|
+
* referralTokenAccount: "ReferralAddr..."
|
|
23
70
|
* });
|
|
24
71
|
*
|
|
25
|
-
* //
|
|
26
|
-
* const
|
|
27
|
-
*
|
|
72
|
+
* // Use mainnet configuration
|
|
73
|
+
* const instruction = await acceptRental(params).set({ programs: 'mainnet' });
|
|
74
|
+
*
|
|
75
|
+
* // Override specific constants
|
|
76
|
+
* const instruction = await acceptRental(params).set({
|
|
77
|
+
* programs: 'mainnet',
|
|
78
|
+
* gameId: 'custom-game-id...'
|
|
79
|
+
* });
|
|
80
|
+
*
|
|
81
|
+
* // Use the instruction with your preferred Solana library
|
|
82
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
28
83
|
* ```
|
|
29
84
|
*
|
|
30
85
|
* @param params The simplified parameters for accepting a rental
|
|
31
|
-
* @returns A
|
|
86
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
32
87
|
*/
|
|
33
|
-
async function _acceptRental(params, network) {
|
|
34
|
-
const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId = utils_1.DEFAULT_GAME_ID, amount, duration, } = params;
|
|
35
|
-
// Derive the three accounts we need
|
|
36
|
-
const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)(borrowerProfile, borrowerFaction, gameId);
|
|
37
|
-
// Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
|
|
38
|
-
const input = {
|
|
39
|
-
borrower,
|
|
40
|
-
borrowerProfile,
|
|
41
|
-
borrowerProfileFaction: profileFaction,
|
|
42
|
-
fleet,
|
|
43
|
-
contract,
|
|
44
|
-
gameId,
|
|
45
|
-
starbase,
|
|
46
|
-
starbasePlayer,
|
|
47
|
-
amount,
|
|
48
|
-
duration,
|
|
49
|
-
};
|
|
50
|
-
// Dynamically import network-specific codama functions
|
|
51
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
52
|
-
const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
53
|
-
return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
54
|
-
}
|
|
55
88
|
function acceptRental(params) {
|
|
56
|
-
|
|
89
|
+
const baseSelector = (0, config_1.createConfigSelector)((config) => _acceptRental(params, config));
|
|
90
|
+
return (0, instruction_converter_1.createFluentConfigSelector)(baseSelector);
|
|
57
91
|
}
|
|
58
92
|
function getAcceptRentalInstructionAsync(input, options) {
|
|
59
|
-
return (0,
|
|
60
|
-
const
|
|
61
|
-
return
|
|
93
|
+
return (0, config_1.createConfigSelector)(async (config) => {
|
|
94
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
95
|
+
return instructionsModule.getAcceptRentalInstructionAsync(input, options);
|
|
62
96
|
});
|
|
63
97
|
}
|
|
64
98
|
//# sourceMappingURL=accept.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;AA8KA,oCAKC;AAED,0EAKC;AA1LD,4CAA2G;AAC3G,kDAAiF;AACjF,oCAA8C;AAC9C,0EAAwJ;AA4DxJ;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,eAAe,EACf,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,oBAAoB,GACrB,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC;IAE9E,oDAAoD;IACpD,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,6BAAiB,CAAC,CAAC;IAE3E,oCAAoC;IACpC,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,eAAe,CAAC,EAC1B,eAAe,EACf,YAAY,EACZ,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,gFAAgF;IAChF,MAAM,KAAK,GAAoC;QAC7C,QAAQ,EAAwC,gCAAgC;QAChF,eAAe,EAAE,IAAA,qBAAS,EAAC,eAAe,CAAC,EAAK,gBAAgB;QAChE,sBAAsB,EAAE,cAAc,EAAU,yCAAyC;QACzF,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAyB,gBAAgB;QAChE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAmB,gBAAgB;QAChE,MAAM,EAAE,YAAY,EAA2B,iBAAiB;QAChE,QAAQ,EAAuC,yCAAyC;QACxF,cAAc,EAAiC,yCAAyC;QACxF,MAAM,EAAyC,eAAe;QAC9D,QAAQ,EAAuC,eAAe;QAC9D,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAA,qBAAS,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;KACzF,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D,KAAY,EACZ,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;IACF,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,MAAM,YAAY,GAAG,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrF,OAAO,IAAA,kDAA0B,EAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,47 +2,59 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.cancelRental = cancelRental;
|
|
4
4
|
exports.getCancelRentalInstructionAsync = getCancelRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
* Internal function to cancel a rental instruction with configuration options
|
|
9
|
+
*/
|
|
10
|
+
async function _cancelRental(params, config) {
|
|
11
|
+
const { borrower, contract, } = params;
|
|
12
|
+
// Let codama derive all the optional accounts
|
|
13
|
+
const input = {
|
|
14
|
+
borrower, // Pass as-is (string or signer)
|
|
15
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
16
|
+
};
|
|
17
|
+
// Get network-specific codama functions from centralized config
|
|
18
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
19
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
20
|
+
const { getCancelRentalInstructionAsync } = instructionsModule;
|
|
21
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
22
|
+
return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates an instruction to cancel a rental with fluent configuration.
|
|
10
26
|
*
|
|
11
27
|
* @example
|
|
12
28
|
* ```typescript
|
|
13
|
-
* //
|
|
14
|
-
* const
|
|
15
|
-
* borrower: wallet,
|
|
16
|
-
* contract:
|
|
29
|
+
* // Works with any library - just use strings for addresses!
|
|
30
|
+
* const instruction = await cancelRental({
|
|
31
|
+
* borrower: wallet, // Can be signer object or string
|
|
32
|
+
* contract: "ContractAddr..." // String address
|
|
17
33
|
* });
|
|
18
34
|
*
|
|
19
|
-
* //
|
|
20
|
-
* const
|
|
21
|
-
*
|
|
35
|
+
* // Use mainnet configuration
|
|
36
|
+
* const instruction = await cancelRental(params).set({ programs: 'mainnet' });
|
|
37
|
+
*
|
|
38
|
+
* // Override specific constants
|
|
39
|
+
* const instruction = await cancelRental(params).set({
|
|
40
|
+
* programs: 'mainnet',
|
|
41
|
+
* sageProgramAddress: 'custom...'
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* // Use the instruction with your preferred Solana library
|
|
45
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
22
46
|
* ```
|
|
23
47
|
*
|
|
24
48
|
* @param params The simplified parameters for canceling a rental
|
|
25
|
-
* @returns A
|
|
49
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
26
50
|
*/
|
|
27
|
-
async function _cancelRental(params, network) {
|
|
28
|
-
const { borrower, contract, } = params;
|
|
29
|
-
// Let codama derive all the optional accounts
|
|
30
|
-
const input = {
|
|
31
|
-
borrower,
|
|
32
|
-
contract,
|
|
33
|
-
};
|
|
34
|
-
// Dynamically import network-specific codama functions
|
|
35
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
36
|
-
const { getCancelRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
37
|
-
return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
38
|
-
}
|
|
39
51
|
function cancelRental(params) {
|
|
40
|
-
return (0,
|
|
52
|
+
return (0, config_1.createConfigSelector)((config) => _cancelRental(params, config));
|
|
41
53
|
}
|
|
42
54
|
function getCancelRentalInstructionAsync(input, options) {
|
|
43
|
-
return (0,
|
|
44
|
-
const
|
|
45
|
-
return
|
|
55
|
+
return (0, config_1.createConfigSelector)(async (config) => {
|
|
56
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
57
|
+
return instructionsModule.getCancelRentalInstructionAsync(input, options);
|
|
46
58
|
});
|
|
47
59
|
}
|
|
48
60
|
//# sourceMappingURL=cancel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAgFA,oCAIC;AAED,0EAKC;AA3FD,4CAA2G;AAC3G,kDAA+C;AAsB/C;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAqB,gCAAgC;QAC7D,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAE,gBAAgB;KAChD,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,+BAA+B,CACpC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,YAAY,CAC1B,MAA0B;IAE1B,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cjs/rental/close.js
CHANGED
|
@@ -2,49 +2,61 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.closeRental = closeRental;
|
|
4
4
|
exports.getCloseRentalInstructionAsync = getCloseRentalInstructionAsync;
|
|
5
|
-
const
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const constants_1 = require("../utils/constants");
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
* Internal function to close a rental instruction with configuration options
|
|
9
|
+
*/
|
|
10
|
+
async function _closeRental(params, config) {
|
|
11
|
+
const { borrower, ownerTokenAccount, contract, } = params;
|
|
12
|
+
// Let codama derive the optional accounts
|
|
13
|
+
const input = {
|
|
14
|
+
borrower: (0, constants_1.toAddress)(borrower), // Ensure string
|
|
15
|
+
ownerTokenAccount: (0, constants_1.toAddress)(ownerTokenAccount), // Ensure string
|
|
16
|
+
contract: (0, constants_1.toAddress)(contract), // Ensure string
|
|
17
|
+
};
|
|
18
|
+
// Get network-specific codama functions from centralized config
|
|
19
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
20
|
+
const programsModule = (0, config_1.getModule)('programs');
|
|
21
|
+
const { getCloseRentalInstructionAsync } = instructionsModule;
|
|
22
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
23
|
+
return getCloseRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates an instruction to close a rental with fluent configuration.
|
|
10
27
|
*
|
|
11
28
|
* @example
|
|
12
29
|
* ```typescript
|
|
13
|
-
* //
|
|
14
|
-
* const
|
|
15
|
-
* borrower:
|
|
16
|
-
* ownerTokenAccount:
|
|
17
|
-
* contract:
|
|
30
|
+
* // Works with any library - just use strings for addresses!
|
|
31
|
+
* const instruction = await closeRental({
|
|
32
|
+
* borrower: "BorrowerAddr...", // String address
|
|
33
|
+
* ownerTokenAccount: "TokenAcct...", // String address
|
|
34
|
+
* contract: "ContractAddr..." // String address
|
|
18
35
|
* });
|
|
19
36
|
*
|
|
20
|
-
* //
|
|
21
|
-
* const
|
|
22
|
-
*
|
|
37
|
+
* // Use mainnet configuration
|
|
38
|
+
* const instruction = await closeRental(params).set({ programs: 'mainnet' });
|
|
39
|
+
*
|
|
40
|
+
* // Override specific constants
|
|
41
|
+
* const instruction = await closeRental(params).set({
|
|
42
|
+
* programs: 'mainnet',
|
|
43
|
+
* sageProgramAddress: 'custom...'
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // Use the instruction with your preferred Solana library
|
|
47
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
23
48
|
* ```
|
|
24
49
|
*
|
|
25
50
|
* @param params The simplified parameters for closing a rental
|
|
26
|
-
* @returns A
|
|
51
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
27
52
|
*/
|
|
28
|
-
async function _closeRental(params, network) {
|
|
29
|
-
const { borrower, ownerTokenAccount, contract, } = params;
|
|
30
|
-
// Let codama derive the optional accounts
|
|
31
|
-
const input = {
|
|
32
|
-
borrower,
|
|
33
|
-
ownerTokenAccount,
|
|
34
|
-
contract,
|
|
35
|
-
};
|
|
36
|
-
// Dynamically import network-specific codama functions
|
|
37
|
-
const codamaModule = await (0, network_1.getCachedNetworkModule)('instructions');
|
|
38
|
-
const { getCloseRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
39
|
-
return getCloseRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
40
|
-
}
|
|
41
53
|
function closeRental(params) {
|
|
42
|
-
return (0,
|
|
54
|
+
return (0, config_1.createConfigSelector)((config) => _closeRental(params, config));
|
|
43
55
|
}
|
|
44
56
|
function getCloseRentalInstructionAsync(input, options) {
|
|
45
|
-
return (0,
|
|
46
|
-
const
|
|
47
|
-
return
|
|
57
|
+
return (0, config_1.createConfigSelector)(async (config) => {
|
|
58
|
+
const instructionsModule = (0, config_1.getModule)('instructions');
|
|
59
|
+
return instructionsModule.getCloseRentalInstructionAsync(input, options);
|
|
48
60
|
});
|
|
49
61
|
}
|
|
50
62
|
//# sourceMappingURL=close.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":";;AAuFA,kCAIC;AAED,wEAKC;AAlGD,4CAA2G;AAC3G,kDAA+C;AA0B/C;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,MAAyB,EACzB,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,0CAA0C;IAC1C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAgB,gBAAgB;QAC7D,iBAAiB,EAAE,IAAA,qBAAS,EAAC,iBAAiB,CAAC,EAAE,gBAAgB;QACjE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAe,gBAAgB;KAC7D,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,8BAA8B,EAAE,GAAG,kBAAkB,CAAC;IAC9D,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,OAAO,8BAA8B,CACnC,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,SAAgB,WAAW,CACzB,MAAyB;IAEzB,OAAO,IAAA,6BAAoB,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAU,EAAE,OAAa;IACtE,OAAO,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC"}
|