@wuwei-labs/srsly 2.0.0-beta.3 → 2.0.0-beta.32
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 +33 -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/instructions/cancelContract.js +131 -0
- package/dist/cjs/codama/instructions/cancelContract.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 +22 -36
- 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 +3 -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 +6 -10
- 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 +22 -14
- 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/cancel.js +77 -0
- package/dist/cjs/contract/cancel.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/contract/index.js +1 -0
- package/dist/cjs/contract/index.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 +32 -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/instructions/cancelContract.js +121 -0
- package/dist/esm/codama/instructions/cancelContract.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 +24 -38
- 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 +3 -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 +6 -10
- 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 +22 -14
- 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/cancel.js +73 -0
- package/dist/esm/contract/cancel.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/contract/index.js +1 -0
- package/dist/esm/contract/index.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/errors/srsly.d.ts +68 -0
- 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/instructions/cancelContract.d.ts +59 -0
- package/dist/types/codama/instructions/cancelContract.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 +3 -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 +15 -11
- 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 +19 -13
- 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/cancel.d.ts +66 -0
- package/dist/types/contract/cancel.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/contract/index.d.ts +1 -0
- package/dist/types/contract/index.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} +834 -466
- 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 +0 -48
- 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,62 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getModule, createConfigSelector } from '../utils/config';
|
|
2
|
+
import { getSageGameId, toAddress } from '../utils/constants';
|
|
3
|
+
import { deriveGameAccounts } from '../utils';
|
|
4
|
+
import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
|
|
3
5
|
/**
|
|
4
6
|
* Asynchronously creates an instruction to close a rental contract with minimal required parameters.
|
|
5
7
|
* Derives rentalAuthority automatically and handles optional parameters.
|
|
6
8
|
*
|
|
7
9
|
* @example
|
|
8
10
|
* ```typescript
|
|
9
|
-
* //
|
|
10
|
-
* const
|
|
11
|
+
* // Works with any library - just use strings for addresses!
|
|
12
|
+
* const instruction = await closeContract({
|
|
13
|
+
* owner: wallet, // Can be signer object or string
|
|
14
|
+
* fleet: "FleetAddress123...", // String address
|
|
15
|
+
* contract: "ContractAddr...", // String address
|
|
16
|
+
* faction: 'mud',
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* // Use mainnet configuration
|
|
20
|
+
* const instruction = await closeContract({
|
|
21
|
+
* owner: wallet,
|
|
22
|
+
* fleet: "FleetAddress123...",
|
|
23
|
+
* contract: "ContractAddr...",
|
|
24
|
+
* faction: 'mud',
|
|
25
|
+
* }).set({ programs: 'mainnet' });
|
|
26
|
+
*
|
|
27
|
+
* // Override specific constants
|
|
28
|
+
* const instruction = await closeContract({
|
|
11
29
|
* owner: wallet,
|
|
12
|
-
* fleet:
|
|
13
|
-
* contract:
|
|
14
|
-
* faction: 'mud',
|
|
15
|
-
*
|
|
16
|
-
*
|
|
30
|
+
* fleet: "FleetAddress123...",
|
|
31
|
+
* contract: "ContractAddr...",
|
|
32
|
+
* faction: 'mud',
|
|
33
|
+
* }).set({
|
|
34
|
+
* programs: 'mainnet',
|
|
35
|
+
* gameId: 'custom-game-id...'
|
|
17
36
|
* });
|
|
18
37
|
*
|
|
19
|
-
* //
|
|
20
|
-
*
|
|
21
|
-
* await sendAndConfirmTransaction(connection, tx, [wallet]);
|
|
38
|
+
* // Use the instruction with your preferred Solana library
|
|
39
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
22
40
|
* ```
|
|
23
41
|
*
|
|
24
42
|
* @param params The simplified parameters for closing a rental contract
|
|
25
43
|
* @returns A promise that resolves to the instruction to close a contract
|
|
26
44
|
*/
|
|
27
45
|
/**
|
|
28
|
-
* Internal function to close a contract instruction
|
|
46
|
+
* Internal function to close a contract instruction with configuration options
|
|
29
47
|
*/
|
|
30
|
-
async function _closeContract(params,
|
|
31
|
-
const { owner, fleet, contract, faction, gameId
|
|
32
|
-
|
|
48
|
+
async function _closeContract(params, config) {
|
|
49
|
+
const { owner, fleet, contract, faction, gameId, } = params;
|
|
50
|
+
// Get the actual game ID to use (param override, config override, or network default)
|
|
51
|
+
const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
|
|
52
|
+
// Extract owner address (handle both string and signer object)
|
|
53
|
+
const ownerAddress = typeof owner === 'string' ? owner :
|
|
54
|
+
(owner && typeof owner === 'object' && 'address' in owner) ? owner.address : owner;
|
|
55
|
+
const derivedAccounts = await deriveGameAccounts(ownerAddress, faction, actualGameId, 0, // starbaseSeqId
|
|
56
|
+
config);
|
|
33
57
|
const starbase = derivedAccounts.starbase;
|
|
34
58
|
const starbasePlayer = derivedAccounts.starbasePlayer;
|
|
35
|
-
//
|
|
36
|
-
const
|
|
37
|
-
const
|
|
59
|
+
// Get network-specific codama functions from centralized config
|
|
60
|
+
const instructionsModule = getModule('instructions');
|
|
61
|
+
const programsModule = getModule('programs');
|
|
62
|
+
const { getCloseContractInstructionAsync } = instructionsModule;
|
|
63
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
38
64
|
// Let codama derive the rest (rentalAuthority, ownerTokenAccount, etc.)
|
|
39
65
|
const input = {
|
|
40
|
-
owner,
|
|
41
|
-
fleet,
|
|
42
|
-
contract,
|
|
43
|
-
starbase,
|
|
44
|
-
starbasePlayer,
|
|
45
|
-
gameId,
|
|
66
|
+
owner, // Pass as-is (string or signer)
|
|
67
|
+
fleet: toAddress(fleet), // Ensure string
|
|
68
|
+
contract: toAddress(contract), // Ensure string
|
|
69
|
+
starbase, // Already string from deriveGameAccounts
|
|
70
|
+
starbasePlayer, // Already string from deriveGameAccounts
|
|
71
|
+
gameId: actualGameId, // Already string
|
|
46
72
|
};
|
|
47
|
-
|
|
73
|
+
const rawInstruction = await getCloseContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
74
|
+
return createFluentInstruction(rawInstruction);
|
|
48
75
|
}
|
|
49
76
|
/**
|
|
50
|
-
* Creates an instruction to close a rental contract with fluent
|
|
77
|
+
* Creates an instruction to close a rental contract with fluent configuration.
|
|
78
|
+
*
|
|
79
|
+
* @param params The contract closing parameters
|
|
80
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* // Use atlasnet defaults (instruction building only)
|
|
85
|
+
* await closeContract(params);
|
|
86
|
+
*
|
|
87
|
+
* // Use mainnet
|
|
88
|
+
* await closeContract(params).set({ programs: 'mainnet' });
|
|
89
|
+
*
|
|
90
|
+
* // Override game ID
|
|
91
|
+
* await closeContract(params).set({ gameId: 'custom...' });
|
|
92
|
+
* ```
|
|
51
93
|
*/
|
|
52
94
|
export function closeContract(params) {
|
|
53
|
-
|
|
95
|
+
const baseSelector = createConfigSelector((config) => _closeContract(params, config));
|
|
96
|
+
return createFluentConfigSelector(baseSelector);
|
|
54
97
|
}
|
|
55
|
-
// Export
|
|
98
|
+
// Export config selector for getCloseContractInstructionAsync
|
|
56
99
|
export function getCloseContractInstructionAsync(input, options) {
|
|
57
|
-
return
|
|
58
|
-
const
|
|
59
|
-
return
|
|
100
|
+
return createConfigSelector(async (config) => {
|
|
101
|
+
const instructionsModule = getModule('instructions');
|
|
102
|
+
return instructionsModule.getCloseContractInstructionAsync(input, options);
|
|
60
103
|
});
|
|
61
104
|
}
|
|
62
105
|
//# sourceMappingURL=close.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../../src/contract/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAA2C,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAqD,MAAM,gCAAgC,CAAC;AAsCxJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,MAA2B,EAC3B,MAAsB;IAEtB,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,GACP,GAAG,MAAM,CAAC;IAEX,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAExG,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,YAAY,EACZ,OAAQ,EACR,YAAY,EACZ,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;IAC1C,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;IAEtD,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,EAAE,gCAAgC,EAAE,GAAG,kBAAkB,CAAC;IAChE,MAAM,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAAC;IAEjD,wEAAwE;IACxE,MAAM,KAAK,GAAG;QACZ,KAAK,EAAyB,gCAAgC;QAC9D,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAO,gBAAgB;QAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB;QAC/C,QAAQ,EAAsB,yCAAyC;QACvE,cAAc,EAAgB,yCAAyC;QACvE,MAAM,EAAE,YAAY,EAAU,iBAAiB;KAChD,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAC3D,KAAK,EACL,EAAE,cAAc,EAAE,qBAAqB,EAAE,CAC1C,CAAC;IACF,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B;IAE3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,gCAAgC,CAAC,KAAU,EAAE,OAAa;IACxE,OAAO,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,54 +1,99 @@
|
|
|
1
|
-
import { getCachedNetworkModule, createNetworkSelector } from '../network';
|
|
2
|
-
import { DEFAULT_GAME_ID, } from '../utils';
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* Unified contract creation - works with both @solana/kit and @solana/web3.js
|
|
3
|
+
* Uses strings for all addresses to eliminate library-specific type complexity
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import { getModule, createConfigSelector } from '../utils/config';
|
|
6
|
+
import { getSageGameId, getSageProgramAddress, getAtlasMint, toAddress } from '../utils/constants';
|
|
7
|
+
import { validateDurationAlignment, paymentFrequencyStringToSeconds } from '../utils/paymentFrequency';
|
|
8
|
+
import { isValidPaymentFrequency } from '../types/paymentFrequency';
|
|
9
|
+
import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
|
|
10
|
+
/**
|
|
11
|
+
* Internal function to create a rental contract instruction with configuration options
|
|
12
|
+
*/
|
|
13
|
+
async function _createContract(params, config) {
|
|
14
|
+
const { owner, fleet, ownerProfile, rate, durationMax, paymentsFreq, gameId, sageProgramAddress, atlasMint, ownerKeyIndex = 0, } = params;
|
|
15
|
+
// Validate payment frequency
|
|
16
|
+
if (!isValidPaymentFrequency(paymentsFreq)) {
|
|
17
|
+
throw new Error(`Invalid payment frequency: "${paymentsFreq}". Valid values are: ${JSON.stringify(Object.keys({ daily: true, weekly: true, monthly: true, hourly: true }))}`);
|
|
18
|
+
}
|
|
19
|
+
// Validate duration alignment
|
|
20
|
+
validateDurationAlignment(Number(durationMax), paymentsFreq);
|
|
21
|
+
// Get the payment frequency interval (this will be the minimum duration)
|
|
22
|
+
const durationMin = paymentFrequencyStringToSeconds(paymentsFreq);
|
|
23
|
+
// Convert the payment frequency to the format expected by the Rust program (with @ prefix)
|
|
24
|
+
const paymentsFreqWithPrefix = `@${paymentsFreq}`;
|
|
25
|
+
// Get network-specific addresses (param override, config override, or network default)
|
|
26
|
+
const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
|
|
27
|
+
const actualSageProgramAddress = sageProgramAddress ? toAddress(sageProgramAddress) : await getSageProgramAddress(config);
|
|
28
|
+
const actualAtlasMint = atlasMint ? toAddress(atlasMint) : await getAtlasMint(config);
|
|
12
29
|
const input = {
|
|
13
|
-
owner,
|
|
14
|
-
fleet,
|
|
15
|
-
ownerProfile,
|
|
16
|
-
gameId,
|
|
17
|
-
|
|
30
|
+
owner, // Pass as-is (string or signer)
|
|
31
|
+
fleet: toAddress(fleet), // Ensure string
|
|
32
|
+
ownerProfile: toAddress(ownerProfile), // Ensure string
|
|
33
|
+
gameId: actualGameId, // Already string
|
|
34
|
+
sageProgram: actualSageProgramAddress, // Fixed: use sageProgram instead of sageProgramAddress
|
|
35
|
+
mint: actualAtlasMint, // Fixed: use mint instead of atlasMint
|
|
18
36
|
durationMin,
|
|
19
37
|
durationMax,
|
|
20
|
-
|
|
38
|
+
rate,
|
|
39
|
+
paymentsFeq: paymentsFreqWithPrefix, // Fixed: use paymentsFeq as expected by codama
|
|
21
40
|
ownerKeyIndex,
|
|
22
41
|
};
|
|
23
|
-
|
|
42
|
+
// Get network-specific codama functions from centralized config
|
|
43
|
+
const instructionsModule = getModule('instructions');
|
|
44
|
+
const programsModule = getModule('programs');
|
|
45
|
+
const { getCreateContractInstructionAsync } = instructionsModule;
|
|
46
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
47
|
+
const rawInstruction = await getCreateContractInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
48
|
+
return createFluentInstruction(rawInstruction);
|
|
24
49
|
}
|
|
25
50
|
/**
|
|
26
|
-
* Creates an instruction to create a rental contract with fluent
|
|
51
|
+
* Creates an instruction to create a rental contract with fluent configuration.
|
|
52
|
+
* This unified version works with both @solana/kit and @solana/web3.js using strings for addresses.
|
|
27
53
|
*
|
|
28
54
|
* @example
|
|
29
55
|
* ```typescript
|
|
30
|
-
* //
|
|
31
|
-
*
|
|
56
|
+
* // Works with any library - just use strings for addresses!
|
|
57
|
+
*
|
|
58
|
+
* // Default returns @solana/kit format
|
|
59
|
+
* const kitInstruction = await createContract({
|
|
60
|
+
* owner: wallet, // Can be signer object or string
|
|
61
|
+
* fleet: "FleetAddress123...", // String address
|
|
62
|
+
* ownerProfile: "ProfileAddr...", // String address
|
|
63
|
+
* rate: 1000,
|
|
64
|
+
* durationMax: days(7),
|
|
65
|
+
* paymentsFreq: 'daily'
|
|
66
|
+
* });
|
|
32
67
|
*
|
|
33
|
-
* //
|
|
34
|
-
* const
|
|
35
|
-
*
|
|
36
|
-
*
|
|
68
|
+
* // Convert to @solana/web3.js format using fluent interface
|
|
69
|
+
* const web3jsInstruction = await createContract({
|
|
70
|
+
* owner: wallet,
|
|
71
|
+
* fleet: "FleetAddress123...",
|
|
72
|
+
* ownerProfile: "ProfileAddr...",
|
|
73
|
+
* rate: 1000,
|
|
74
|
+
* durationMax: days(7),
|
|
75
|
+
* paymentsFreq: 'daily'
|
|
76
|
+
* }).web3js();
|
|
77
|
+
*
|
|
78
|
+
* // Chain configuration and format conversion
|
|
79
|
+
* const web3jsInstructionWithConfig = await createContract({
|
|
80
|
+
* owner: wallet,
|
|
81
|
+
* fleet: "FleetAddress123...",
|
|
82
|
+
* ownerProfile: "ProfileAddr...",
|
|
83
|
+
* rate: 1000,
|
|
84
|
+
* durationMax: days(7),
|
|
85
|
+
* paymentsFreq: 'daily'
|
|
86
|
+
* }).set({ programs: 'mainnet' }).web3js();
|
|
87
|
+
*
|
|
88
|
+
* // Use with your preferred Solana library
|
|
89
|
+
* const transaction = new Transaction().add(web3jsInstruction);
|
|
37
90
|
* ```
|
|
38
91
|
*
|
|
39
92
|
* @param params The simplified parameters for creating a rental contract
|
|
40
|
-
* @returns A
|
|
93
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
41
94
|
*/
|
|
42
95
|
export function createContract(params) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Export network selector for getCreateContractInstructionAsync
|
|
47
|
-
*/
|
|
48
|
-
export function getCreateContractInstructionAsync(input, options) {
|
|
49
|
-
return createNetworkSelector(async (network) => {
|
|
50
|
-
const codamaModule = await getCachedNetworkModule('instructions', network);
|
|
51
|
-
return codamaModule.getCreateContractInstructionAsync(input, options);
|
|
52
|
-
});
|
|
96
|
+
const baseSelector = createConfigSelector((config) => _createContract(params, config));
|
|
97
|
+
return createFluentConfigSelector(baseSelector);
|
|
53
98
|
}
|
|
54
99
|
//# 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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
// Export network configuration
|
|
2
|
-
export * from "./network";
|
|
3
1
|
// Export main SDK functions
|
|
4
2
|
export * from "./contract";
|
|
5
3
|
export * from "./rental";
|
|
6
4
|
export * from "./utils";
|
|
5
|
+
// Export PaymentFrequency from codama (generated from Rust)
|
|
6
|
+
export { PaymentFrequency } from "./codama/types/paymentFrequency";
|
|
7
|
+
// Export auto-generated payment frequency types and utilities
|
|
8
|
+
export { VALID_PAYMENT_FREQUENCIES, PAYMENT_FREQUENCY_MAP, PAYMENT_FREQUENCY_CONSTANTS, getPaymentFrequencyFromString, isValidPaymentFrequency } from "./types/paymentFrequency";
|
|
9
|
+
// Export payment frequency utilities that mirror Rust implementation
|
|
10
|
+
export { paymentFrequencyToSeconds, paymentFrequencyStringToSeconds, validateDurationAlignment } from "./utils/paymentFrequency";
|
|
11
|
+
// Export duration helper functions for convenient time unit conversion
|
|
12
|
+
export { decaseconds, minutes, hours, days, weeks, months, duration } from "./utils/duration";
|
|
7
13
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AAuBxB,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,8DAA8D;AAC9D,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qEAAqE;AACrE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,uEAAuE;AACvE,OAAO,EACL,WAAW,EACX,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACT,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wuwei-labs/srsly",
|
|
3
|
+
"version": "2.0.0-beta.32",
|
|
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": "module"
|
|
53
|
+
}
|
|
@@ -1,60 +1,94 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { getModule, createConfigSelector } from '../utils/config';
|
|
2
|
+
import { getSageGameId, ATLAS_TO_STARDUST, toAddress } from '../utils/constants';
|
|
3
|
+
import { deriveGameAccounts } from '../utils';
|
|
4
|
+
import { createFluentInstruction, createFluentConfigSelector } from '../utils/instruction-converter';
|
|
3
5
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
+
* Internal function to accept a rental instruction with configuration options
|
|
7
|
+
*/
|
|
8
|
+
async function _acceptRental(params, config) {
|
|
9
|
+
const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId, rate, duration, referralTokenAccount, } = params;
|
|
10
|
+
// Get the actual game ID to use (param override, config override, or network default)
|
|
11
|
+
const actualGameId = gameId ? toAddress(gameId) : await getSageGameId(config);
|
|
12
|
+
// Calculate the total amount from rate and duration
|
|
13
|
+
// Convert ATLAS to stardust (smallest unit): 1 ATLAS = 100,000,000 stardust
|
|
14
|
+
const amount = BigInt(rate) * BigInt(duration) * BigInt(ATLAS_TO_STARDUST);
|
|
15
|
+
// Derive the three accounts we need
|
|
16
|
+
const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(toAddress(borrowerProfile), borrowerFaction, actualGameId, 0, // starbaseSeqId
|
|
17
|
+
config);
|
|
18
|
+
// Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
|
|
19
|
+
const input = {
|
|
20
|
+
borrower, // Pass as-is (string or signer)
|
|
21
|
+
borrowerProfile: toAddress(borrowerProfile), // Ensure string
|
|
22
|
+
borrowerProfileFaction: profileFaction, // Already string from deriveGameAccounts
|
|
23
|
+
fleet: toAddress(fleet), // Ensure string
|
|
24
|
+
contract: toAddress(contract), // Ensure string
|
|
25
|
+
gameId: actualGameId, // Already string
|
|
26
|
+
starbase, // Already string from deriveGameAccounts
|
|
27
|
+
starbasePlayer, // Already string from deriveGameAccounts
|
|
28
|
+
amount, // BigInt value
|
|
29
|
+
duration, // BigInt value
|
|
30
|
+
referralTokenAccount: referralTokenAccount ? toAddress(referralTokenAccount) : undefined,
|
|
31
|
+
};
|
|
32
|
+
// Get network-specific codama functions from centralized config
|
|
33
|
+
const instructionsModule = getModule('instructions');
|
|
34
|
+
const programsModule = getModule('programs');
|
|
35
|
+
const { getAcceptRentalInstructionAsync } = instructionsModule;
|
|
36
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
37
|
+
const rawInstruction = await getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
38
|
+
return createFluentInstruction(rawInstruction);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates an instruction to accept a rental with fluent configuration.
|
|
6
42
|
*
|
|
7
43
|
* @example
|
|
8
44
|
* ```typescript
|
|
9
|
-
* //
|
|
10
|
-
* const
|
|
45
|
+
* // Works with any library - just use strings for addresses!
|
|
46
|
+
* const instruction = await acceptRental({
|
|
47
|
+
* borrower: wallet, // Can be signer object or string
|
|
48
|
+
* borrowerProfile: "ProfileAddr...", // String address
|
|
49
|
+
* borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
|
|
50
|
+
* fleet: "FleetAddress123...", // String address
|
|
51
|
+
* contract: "ContractAddr...", // String address
|
|
52
|
+
* rate: 1000, // ATLAS tokens
|
|
53
|
+
* duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
|
|
54
|
+
* });
|
|
55
|
+
*
|
|
56
|
+
* // With referral (referrer gets 5% of platform fees)
|
|
57
|
+
* const instruction = await acceptRental({
|
|
11
58
|
* borrower: wallet,
|
|
12
|
-
* borrowerProfile:
|
|
13
|
-
* borrowerFaction: 1,
|
|
14
|
-
* fleet:
|
|
15
|
-
* contract:
|
|
16
|
-
*
|
|
17
|
-
* duration: 86400
|
|
18
|
-
*
|
|
59
|
+
* borrowerProfile: "ProfileAddr...",
|
|
60
|
+
* borrowerFaction: 1,
|
|
61
|
+
* fleet: "FleetAddress123...",
|
|
62
|
+
* contract: "ContractAddr...",
|
|
63
|
+
* rate: 1000,
|
|
64
|
+
* duration: 86400,
|
|
65
|
+
* referralTokenAccount: "ReferralAddr..."
|
|
19
66
|
* });
|
|
20
67
|
*
|
|
21
|
-
* //
|
|
22
|
-
* const
|
|
23
|
-
*
|
|
68
|
+
* // Use mainnet configuration
|
|
69
|
+
* const instruction = await acceptRental(params).set({ programs: 'mainnet' });
|
|
70
|
+
*
|
|
71
|
+
* // Override specific constants
|
|
72
|
+
* const instruction = await acceptRental(params).set({
|
|
73
|
+
* programs: 'mainnet',
|
|
74
|
+
* gameId: 'custom-game-id...'
|
|
75
|
+
* });
|
|
76
|
+
*
|
|
77
|
+
* // Use the instruction with your preferred Solana library
|
|
78
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
24
79
|
* ```
|
|
25
80
|
*
|
|
26
81
|
* @param params The simplified parameters for accepting a rental
|
|
27
|
-
* @returns A
|
|
82
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
28
83
|
*/
|
|
29
|
-
async function _acceptRental(params, network) {
|
|
30
|
-
const { borrower, borrowerProfile, borrowerFaction, fleet, contract, gameId = DEFAULT_GAME_ID, amount, duration, } = params;
|
|
31
|
-
// Derive the three accounts we need
|
|
32
|
-
const { profileFaction, starbase, starbasePlayer } = await deriveGameAccounts(borrowerProfile, borrowerFaction, gameId);
|
|
33
|
-
// Let codama derive the rest (rentalThread, rentalState, rentalAuthority, etc.)
|
|
34
|
-
const input = {
|
|
35
|
-
borrower,
|
|
36
|
-
borrowerProfile,
|
|
37
|
-
borrowerProfileFaction: profileFaction,
|
|
38
|
-
fleet,
|
|
39
|
-
contract,
|
|
40
|
-
gameId,
|
|
41
|
-
starbase,
|
|
42
|
-
starbasePlayer,
|
|
43
|
-
amount,
|
|
44
|
-
duration,
|
|
45
|
-
};
|
|
46
|
-
// Dynamically import network-specific codama functions
|
|
47
|
-
const codamaModule = await getCachedNetworkModule('instructions');
|
|
48
|
-
const { getAcceptRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
49
|
-
return getAcceptRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
50
|
-
}
|
|
51
84
|
export function acceptRental(params) {
|
|
52
|
-
|
|
85
|
+
const baseSelector = createConfigSelector((config) => _acceptRental(params, config));
|
|
86
|
+
return createFluentConfigSelector(baseSelector);
|
|
53
87
|
}
|
|
54
88
|
export function getAcceptRentalInstructionAsync(input, options) {
|
|
55
|
-
return
|
|
56
|
-
const
|
|
57
|
-
return
|
|
89
|
+
return createConfigSelector(async (config) => {
|
|
90
|
+
const instructionsModule = getModule('instructions');
|
|
91
|
+
return instructionsModule.getAcceptRentalInstructionAsync(input, options);
|
|
58
92
|
});
|
|
59
93
|
}
|
|
60
94
|
//# 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":"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"}
|
|
@@ -1,44 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getModule, createConfigSelector } from '../utils/config';
|
|
2
|
+
import { toAddress } from '../utils/constants';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
* Internal function to cancel a rental instruction with configuration options
|
|
5
|
+
*/
|
|
6
|
+
async function _cancelRental(params, config) {
|
|
7
|
+
const { borrower, contract, } = params;
|
|
8
|
+
// Let codama derive all the optional accounts
|
|
9
|
+
const input = {
|
|
10
|
+
borrower, // Pass as-is (string or signer)
|
|
11
|
+
contract: toAddress(contract), // Ensure string
|
|
12
|
+
};
|
|
13
|
+
// Get network-specific codama functions from centralized config
|
|
14
|
+
const instructionsModule = getModule('instructions');
|
|
15
|
+
const programsModule = getModule('programs');
|
|
16
|
+
const { getCancelRentalInstructionAsync } = instructionsModule;
|
|
17
|
+
const { SRSLY_PROGRAM_ADDRESS } = programsModule;
|
|
18
|
+
return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates an instruction to cancel a rental with fluent configuration.
|
|
6
22
|
*
|
|
7
23
|
* @example
|
|
8
24
|
* ```typescript
|
|
9
|
-
* //
|
|
10
|
-
* const
|
|
11
|
-
* borrower: wallet,
|
|
12
|
-
* contract:
|
|
25
|
+
* // Works with any library - just use strings for addresses!
|
|
26
|
+
* const instruction = await cancelRental({
|
|
27
|
+
* borrower: wallet, // Can be signer object or string
|
|
28
|
+
* contract: "ContractAddr..." // String address
|
|
13
29
|
* });
|
|
14
30
|
*
|
|
15
|
-
* //
|
|
16
|
-
* const
|
|
17
|
-
*
|
|
31
|
+
* // Use mainnet configuration
|
|
32
|
+
* const instruction = await cancelRental(params).set({ programs: 'mainnet' });
|
|
33
|
+
*
|
|
34
|
+
* // Override specific constants
|
|
35
|
+
* const instruction = await cancelRental(params).set({
|
|
36
|
+
* programs: 'mainnet',
|
|
37
|
+
* sageProgramAddress: 'custom...'
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Use the instruction with your preferred Solana library
|
|
41
|
+
* // instruction is compatible with both @solana/kit and @solana/web3.js
|
|
18
42
|
* ```
|
|
19
43
|
*
|
|
20
44
|
* @param params The simplified parameters for canceling a rental
|
|
21
|
-
* @returns A
|
|
45
|
+
* @returns A ConfigSelector that can be configured with .set() or awaited directly
|
|
22
46
|
*/
|
|
23
|
-
async function _cancelRental(params, network) {
|
|
24
|
-
const { borrower, contract, } = params;
|
|
25
|
-
// Let codama derive all the optional accounts
|
|
26
|
-
const input = {
|
|
27
|
-
borrower,
|
|
28
|
-
contract,
|
|
29
|
-
};
|
|
30
|
-
// Dynamically import network-specific codama functions
|
|
31
|
-
const codamaModule = await getCachedNetworkModule('instructions');
|
|
32
|
-
const { getCancelRentalInstructionAsync, SRSLY_PROGRAM_ADDRESS } = codamaModule;
|
|
33
|
-
return getCancelRentalInstructionAsync(input, { programAddress: SRSLY_PROGRAM_ADDRESS });
|
|
34
|
-
}
|
|
35
47
|
export function cancelRental(params) {
|
|
36
|
-
return
|
|
48
|
+
return createConfigSelector((config) => _cancelRental(params, config));
|
|
37
49
|
}
|
|
38
50
|
export function getCancelRentalInstructionAsync(input, options) {
|
|
39
|
-
return
|
|
40
|
-
const
|
|
41
|
-
return
|
|
51
|
+
return createConfigSelector(async (config) => {
|
|
52
|
+
const instructionsModule = getModule('instructions');
|
|
53
|
+
return instructionsModule.getCancelRentalInstructionAsync(input, options);
|
|
42
54
|
});
|
|
43
55
|
}
|
|
44
56
|
//# sourceMappingURL=cancel.js.map
|