@wuwei-labs/srsly 2.0.0-beta.43 → 2.0.0-beta.45

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.
Files changed (46) hide show
  1. package/README.md +27 -1
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/rental/accept.js +28 -33
  4. package/dist/cjs/rental/accept.js.map +1 -1
  5. package/dist/cjs/rental/cancel.js +5 -2
  6. package/dist/cjs/rental/cancel.js.map +1 -1
  7. package/dist/cjs/utils/config.js +13 -33
  8. package/dist/cjs/utils/config.js.map +1 -1
  9. package/dist/cjs/utils/fetch-accounts.js +30 -48
  10. package/dist/cjs/utils/fetch-accounts.js.map +1 -1
  11. package/dist/cjs/utils/index.js +1 -0
  12. package/dist/cjs/utils/index.js.map +1 -1
  13. package/dist/cjs/utils/instruction-converter.js +5 -21
  14. package/dist/cjs/utils/instruction-converter.js.map +1 -1
  15. package/dist/cjs/utils/signer.js +61 -0
  16. package/dist/cjs/utils/signer.js.map +1 -0
  17. package/dist/esm/package.json +1 -1
  18. package/dist/esm/rental/accept.js +28 -33
  19. package/dist/esm/rental/accept.js.map +1 -1
  20. package/dist/esm/rental/cancel.js +5 -2
  21. package/dist/esm/rental/cancel.js.map +1 -1
  22. package/dist/esm/utils/config.js +13 -33
  23. package/dist/esm/utils/config.js.map +1 -1
  24. package/dist/esm/utils/fetch-accounts.js +30 -48
  25. package/dist/esm/utils/fetch-accounts.js.map +1 -1
  26. package/dist/esm/utils/index.js +1 -0
  27. package/dist/esm/utils/index.js.map +1 -1
  28. package/dist/esm/utils/instruction-converter.js +5 -21
  29. package/dist/esm/utils/instruction-converter.js.map +1 -1
  30. package/dist/esm/utils/signer.js +56 -0
  31. package/dist/esm/utils/signer.js.map +1 -0
  32. package/dist/types/rental/accept.d.ts +23 -13
  33. package/dist/types/rental/accept.d.ts.map +1 -1
  34. package/dist/types/rental/cancel.d.ts +3 -2
  35. package/dist/types/rental/cancel.d.ts.map +1 -1
  36. package/dist/types/utils/config.d.ts +4 -6
  37. package/dist/types/utils/config.d.ts.map +1 -1
  38. package/dist/types/utils/fetch-accounts.d.ts +35 -6
  39. package/dist/types/utils/fetch-accounts.d.ts.map +1 -1
  40. package/dist/types/utils/index.d.ts +1 -0
  41. package/dist/types/utils/index.d.ts.map +1 -1
  42. package/dist/types/utils/instruction-converter.d.ts +6 -12
  43. package/dist/types/utils/instruction-converter.d.ts.map +1 -1
  44. package/dist/types/utils/signer.d.ts +56 -0
  45. package/dist/types/utils/signer.d.ts.map +1 -0
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -80,13 +80,37 @@ const signature = await wallet.sendTransaction(transaction, connection);
80
80
 
81
81
  ## Core Features
82
82
 
83
+ ### Universal Signer Pattern
84
+
85
+ The SDK supports both CLI/Node.js and browser usage patterns through its Universal Signer functionality:
86
+
87
+ **Browser Usage** (String Addresses):
88
+ ```typescript
89
+ // Pass string addresses for browser wallets
90
+ const instruction = await acceptRental({
91
+ borrower: wallet.publicKey.toString(), // String address
92
+ // ... other params
93
+ });
94
+ // Browser wallet handles signing separately
95
+ ```
96
+
97
+ **CLI/Node.js Usage** (Signer Objects):
98
+ ```typescript
99
+ // Pass signer objects for full signing capability
100
+ const instruction = await acceptRental({
101
+ borrower: wallet, // Signer object
102
+ // ... other params
103
+ });
104
+ // Can sign transactions directly
105
+ ```
106
+
83
107
  ### Instruction Building & Format Conversion
84
108
 
85
109
  The SDK creates @solana/kit compatible instructions with seamless web3.js conversion:
86
110
 
87
111
  - **📦 Instruction-Only**: Focus on instruction building, users handle transaction assembly/sending
88
112
  - **🔄 Format Conversion**: Built-in `.web3js(PublicKey)` method for wallet compatibility
89
- - **🎯 String Addresses**: Simple string-based addressing for all inputs
113
+ - **🎯 Universal Signer**: Accepts both string addresses and signer objects
90
114
  - **⚡ Lightweight**: Uses @solana/kit internally with optional web3.js conversion
91
115
 
92
116
  ### Web3.js Format Conversion
@@ -464,3 +488,5 @@ The SDK provides optimized builds for different environments:
464
488
 
465
489
  - **NPM Package**: [@wuwei-labs/srsly](https://www.npmjs.com/package/@wuwei-labs/srsly)
466
490
  - **TypeDoc Documentation**: [API Reference](https://wuwei-labs.github.io/srsly/)
491
+ - **Browser Usage Examples**: [Browser Integration Guide](./examples/browser-usage.md)
492
+ - **Universal Signer Tests**: [Test Examples](./tests/features/universal-signer.test.mjs)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "2.0.0-beta.43",
3
+ "version": "2.0.0-beta.45",
4
4
  "description": "",
5
5
  "source": "./src/index.ts",
6
6
  "sideEffects": false,
@@ -6,10 +6,10 @@ const config_1 = require("../utils/config");
6
6
  const constants_1 = require("../utils/constants");
7
7
  const utils_1 = require("../utils");
8
8
  const instruction_converter_1 = require("../utils/instruction-converter");
9
- const accounts_1 = require("../codama/accounts");
10
- const kit_1 = require("@solana/kit");
9
+ const fetch_accounts_1 = require("../utils/fetch-accounts");
11
10
  const paymentFrequency_1 = require("../utils/paymentFrequency");
12
11
  const pda_1 = require("../utils/pda");
12
+ const signer_1 = require("../utils/signer");
13
13
  /**
14
14
  * Internal function to accept a rental instruction with configuration options.
15
15
  *
@@ -25,7 +25,7 @@ const pda_1 = require("../utils/pda");
25
25
  * @throws Error when contract is not found, duration constraints are violated, or account derivation fails
26
26
  */
27
27
  async function _acceptRental(params, config) {
28
- const { borrower, borrowerProfile, borrowerFaction, contract, duration, } = params;
28
+ const { borrowerProfile, borrowerFaction, contract, duration, } = params;
29
29
  // Get the resolved addresses from config (including network-specific addresses)
30
30
  // Use global config as fallback, same pattern as constants.ts
31
31
  const globalConfig = (0, config_1.getConfig)();
@@ -34,23 +34,7 @@ async function _acceptRental(params, config) {
34
34
  // Fetch contract state to get payment frequency and validate parameters
35
35
  let contractState;
36
36
  try {
37
- // Use provided Connection or create RPC from resolved addresses
38
- let rpcClient;
39
- if (effectiveConfig.connection) {
40
- // Use provided Connection (bypasses @solana/kit completely)
41
- rpcClient = effectiveConfig.connection;
42
- }
43
- else if (resolvedAddresses.rpcUrl) {
44
- // Fall back to @solana/kit RPC creation
45
- rpcClient = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
46
- }
47
- else {
48
- throw new Error('No RPC client available. Provide either a connection or rpcUrl.');
49
- }
50
- contractState = await (0, accounts_1.fetchMaybeContractState)(rpcClient, (0, constants_1.toAddress)(contract));
51
- if (!contractState.exists) {
52
- throw new Error(`Contract not found: ${contract}`);
53
- }
37
+ contractState = await (0, fetch_accounts_1.fetchContractState)(contract);
54
38
  }
55
39
  catch (error) {
56
40
  throw new Error(`Failed to fetch contract state: ${error}`);
@@ -74,15 +58,17 @@ async function _acceptRental(params, config) {
74
58
  // Manually derive ALL game accounts - they all use different program addresses than main SAGE program
75
59
  const { profileFaction, starbase, starbasePlayer } = await (0, utils_1.deriveGameAccounts)((0, constants_1.toAddress)(borrowerProfile), borrowerFaction, resolvedAddresses.gameId, 0, // starbaseSeqId
76
60
  config);
61
+ // Handle borrower using smart signer handler for universal compatibility
62
+ const borrower = (0, signer_1.createTransactionSigner)(params.borrower);
77
63
  // Manually derive PDAs with correct program IDs
78
- const rentalStatePda = await (0, pda_1.deriveRentalState)((0, constants_1.toAddress)(contract), borrower.address, // Extract address from signer
64
+ const rentalStatePda = await (0, pda_1.deriveRentalState)((0, constants_1.toAddress)(contract), borrower.address, // Use TransactionSigner.address for PDA derivation
79
65
  resolvedAddresses.srslyProgramAddress);
80
66
  const rentalAuthorityPda = await (0, pda_1.deriveRentalAuthority)(resolvedAddresses.srslyProgramAddress);
81
67
  // 🔧 FIX: Derive rental thread PDA using Antegen program ID
82
68
  const rentalThreadPda = await (0, pda_1.deriveRentalThread)(rentalAuthorityPda, rentalStatePda, resolvedAddresses.antegenProgramAddress);
83
69
  // Create input with ALL manually derived game accounts - they use different program addresses
84
70
  const input = {
85
- borrower: borrower, // Pass signer directly to Codama
71
+ borrower: borrower, // TransactionSigner for Codama
86
72
  borrowerProfile: (0, constants_1.toAddress)(borrowerProfile), // Ensure string
87
73
  borrowerProfileFaction: (0, constants_1.toAddress)(profileFaction), // Manually derived (Profile program)
88
74
  fleet: (0, constants_1.toAddress)(fleet), // Ensure string
@@ -155,27 +141,36 @@ async function _acceptRental(params, config) {
155
141
  * ```typescript
156
142
  * import { acceptRental, days } from '@srsly/sdk';
157
143
  *
158
- * // Basic rental acceptance
144
+ * // CLI usage with wallet/signer object
159
145
  * const instruction = await acceptRental({
160
- * borrower: wallet, // Borrower's wallet
161
- * borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
162
- * borrowerFaction: 'mud', // Faction: 'mud', 'oni', or 'ustur'
163
- * contract: "ContractAddr...", // Contract to accept
164
- * duration: days(7) // 7 days rental duration
146
+ * borrower: wallet, // Wallet object for signing
147
+ * borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
148
+ * borrowerFaction: 'mud', // Faction: 'mud', 'oni', or 'ustur'
149
+ * contract: "ContractAddr...", // Contract to accept
150
+ * duration: days(7) // 7 days rental duration
165
151
  * });
166
152
  *
167
- * // Configure for mainnet
153
+ * // Browser usage with address string
154
+ * const browserInstruction = await acceptRental({
155
+ * borrower: wallet.publicKey.toString(), // Address string for browser
156
+ * borrowerProfile: "ProfileAddr...", // Borrower's Star Atlas profile
157
+ * borrowerFaction: 'mud', // Faction: 'mud', 'oni', or 'ustur'
158
+ * contract: "ContractAddr...", // Contract to accept
159
+ * duration: days(7) // 7 days rental duration
160
+ * });
161
+ *
162
+ * // Configure for mainnet (both patterns work)
168
163
  * const mainnetInstruction = await acceptRental({
169
- * borrower: wallet,
164
+ * borrower: wallet, // Wallet object (CLI style)
170
165
  * borrowerProfile: "ProfileAddr...",
171
- * borrowerFaction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
166
+ * borrowerFaction: 1, // Can use numbers: 1=mud, 2=oni, 3=ustur
172
167
  * contract: "ContractAddr...",
173
168
  * duration: days(7)
174
169
  * }).set({ programs: 'mainnet' });
175
170
  *
176
171
  * // Override specific game configuration
177
172
  * const customInstruction = await acceptRental({
178
- * borrower: wallet,
173
+ * borrower: "BorrowerAddress123...", // Address string (browser style)
179
174
  * borrowerProfile: "ProfileAddr...",
180
175
  * borrowerFaction: 'mud',
181
176
  * contract: "ContractAddr...",
@@ -187,7 +182,7 @@ async function _acceptRental(params, config) {
187
182
  *
188
183
  * // Convert to @solana/web3.js format
189
184
  * const web3jsInstruction = await acceptRental({
190
- * borrower: wallet,
185
+ * borrower: wallet, // Universal: works with both patterns
191
186
  * borrowerProfile: "ProfileAddr...",
192
187
  * borrowerFaction: 'mud',
193
188
  * contract: "ContractAddr...",
@@ -1 +1 @@
1
- {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":";;AA2SA,oCAKC;AAcD,0EAKC;AAnUD,4CAA+I;AAC/I,kDAAkE;AAClE,oCAA8C;AAC9C,0EAAkK;AAClK,4DAA6D;AAC7D,gEAA4E;AAC5E,sCAA4F;AAC5F,4CAAgF;AAyDhF;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,eAAe,EACf,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAA,kBAAS,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,MAAM,iBAAiB,GAAG,MAAM,IAAA,gCAAuB,EAAC,eAAe,CAAC,CAAC;IAEzE,wEAAwE;IACxE,IAAI,aAAa,CAAC;IAClB,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,IAAA,mCAAkB,EAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,mCAAmC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvC,gCAAgC;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,cAAc,GAAG,WAAW,IAAI,cAAc,GAAG,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,YAAY,cAAc,6CAA6C,WAAW,IAAI,WAAW,WAAW,CAAC,CAAC;IAChI,CAAC;IAED,mFAAmF;IACnF,MAAM,uBAAuB,GAAG,IAAA,kDAA+B,EAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChG,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,uBAAuB,CAAC,CAAC;IAE5E,iGAAiG;IACjG,MAAM,eAAe,GAAG,6BAAiB,CAAC,CAAC,gCAAgC;IAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAG/E,sGAAsG;IACtG,MAAM,EACJ,cAAc,EACd,QAAQ,EACR,cAAc,EACf,GAAG,MAAM,IAAA,0BAAkB,EAC1B,IAAA,qBAAS,EAAC,eAAe,CAAC,EAC1B,eAAe,EACf,iBAAiB,CAAC,MAAM,EACxB,CAAC,EAAE,gBAAgB;IACnB,MAAM,CACP,CAAC;IAEF,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAA,gCAAuB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1D,gDAAgD;IAChD,MAAM,cAAc,GAAG,MAAM,IAAA,uBAAiB,EAC5C,IAAA,qBAAS,EAAC,QAAQ,CAAC,EACnB,QAAQ,CAAC,OAAO,EAAE,mDAAmD;IACrE,iBAAiB,CAAC,mBAAmB,CACtC,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,IAAA,2BAAqB,EACpD,iBAAiB,CAAC,mBAAmB,CACtC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAkB,EAC9C,kBAAkB,EAClB,cAAc,EACd,iBAAiB,CAAC,qBAAqB,CACxC,CAAC;IAEF,8FAA8F;IAC9F,MAAM,KAAK,GAAoC;QAC7C,QAAQ,EAAE,QAAQ,EAAc,+BAA+B;QAC/D,eAAe,EAAE,IAAA,qBAAS,EAAC,eAAe,CAAC,EAAK,gBAAgB;QAChE,sBAAsB,EAAE,IAAA,qBAAS,EAAC,cAAc,CAAC,EAAE,qCAAqC;QACxF,KAAK,EAAE,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAyB,gBAAgB;QAChE,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAmB,gBAAgB;QAChE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAe,+CAA+C;QAC9F,QAAQ,EAAE,IAAA,qBAAS,EAAC,QAAQ,CAAC,EAAmB,2DAA2D;QAC3G,cAAc,EAAE,IAAA,qBAAS,EAAC,cAAc,CAAC,EAAO,2DAA2D;QAC3G,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAc,yBAAyB;QACxE,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,2BAA2B;QAC9E,cAAc,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,8BAA8B;QAEvF,iDAAiD;QACjD,WAAW,EAAE,cAAc;QAC3B,eAAe,EAAE,kBAAkB;QACnC,YAAY,EAAE,eAAe,EAAmB,2BAA2B;QAE3E,MAAM,EAAyC,eAAe;QAC9D,QAAQ,EAAuC,eAAe;KAC/D,CAAC;IAEF,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,cAAc,CAAC,CAAC;IACrD,MAAM,EAAE,+BAA+B,EAAE,GAAG,kBAAkB,CAAC;IAE/D,MAAM,cAAc,GAAG,MAAM,+BAA+B,CAC1D,KAAY,EACZ,EAAE,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAC1D,CAAC;IACF,OAAO,IAAA,+CAAuB,EAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGG;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,uDAA+B,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,IAAI,EAAE;QACrC,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"}
@@ -4,6 +4,7 @@ exports.cancelRental = cancelRental;
4
4
  exports.getCancelRentalInstructionAsync = getCancelRentalInstructionAsync;
5
5
  const config_1 = require("../utils/config");
6
6
  const constants_1 = require("../utils/constants");
7
+ const signer_1 = require("../utils/signer");
7
8
  /**
8
9
  * Internal function to cancel a rental instruction with configuration options.
9
10
  *
@@ -18,13 +19,15 @@ const constants_1 = require("../utils/constants");
18
19
  * @throws Error when instruction generation fails or required parameters are missing
19
20
  */
20
21
  async function _cancelRental(params, config) {
21
- const { borrower, contract, } = params;
22
+ const { contract, } = params;
23
+ // Handle borrower using smart signer handler for universal compatibility
24
+ const borrower = (0, signer_1.createTransactionSigner)(params.borrower);
22
25
  // Get the resolved addresses from config (including network-specific addresses)
23
26
  // Note: resolvedAddresses not currently needed for this instruction but kept for consistency
24
27
  // const resolvedAddresses = resolveProgramAddresses(config || {});
25
28
  // Let codama derive all the optional accounts
26
29
  const input = {
27
- borrower, // Pass signer directly to Codama
30
+ borrower: borrower, // TransactionSigner for Codama
28
31
  contract: (0, constants_1.toAddress)(contract), // Ensure string
29
32
  };
30
33
  // Get network-specific codama functions from centralized config
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAiJA,oCAIC;AAcD,0EAKC;AAxKD,4CAAoI;AACpI,kDAA+C;AA+B/C;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,EACR,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,gFAAgF;IAChF,6FAA6F;IAC7F,mEAAmE;IAEnE,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAqB,iCAAiC;QAC9D,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;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;;;;;;;;;;;GAWG;AACH,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,IAAI,EAAE;QACrC,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"}
1
+ {"version":3,"file":"cancel.js","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":";;AAoJA,oCAIC;AAcD,0EAKC;AA3KD,4CAAoI;AACpI,kDAA+C;AAC/C,4CAAgF;AA+BhF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAC1B,MAA0B,EAC1B,MAAsB;IAEtB,MAAM,EACJ,QAAQ,GACT,GAAG,MAAM,CAAC;IAEX,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAA,gCAAuB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1D,gFAAgF;IAChF,6FAA6F;IAC7F,mEAAmE;IAEnE,8CAA8C;IAC9C,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,QAAQ,EAAE,+BAA+B;QACnD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;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;;;;;;;;;;;GAWG;AACH,SAAgB,+BAA+B,CAAC,KAAU,EAAE,OAAa;IACvE,OAAO,IAAA,6BAAoB,EAAC,KAAK,IAAI,EAAE;QACrC,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"}
@@ -87,35 +87,16 @@ async function resolveProgramAddresses(config) {
87
87
  if (!programConfig) {
88
88
  throw new Error(`Unknown program set: ${programSet}. Available: ${Object.keys(PROGRAM_SETS).join(', ')}`);
89
89
  }
90
- // Library-based conditional validation
91
- let rpcUrl = config.rpcUrl;
92
- if (config.library === 'web3js') {
93
- // Web3js mode: require PublicKey and connection, ignore rpcUrl
94
- if (!config.PublicKey) {
95
- throw new Error(`PublicKey required for web3js mode. Please provide: ` +
96
- `setConfig({ library: 'web3js', PublicKey, connection })`);
97
- }
98
- if (!config.connection) {
99
- throw new Error(`connection required for web3js mode. Please provide: ` +
100
- `setConfig({ library: 'web3js', PublicKey, connection })`);
101
- }
102
- // rpcUrl is ignored in web3js mode
90
+ // RPC URL validation
91
+ const rpcUrl = config.rpcUrl;
92
+ if (!rpcUrl) {
93
+ throw new Error(`rpcUrl is required. Please provide: ` +
94
+ `setConfig({ rpcUrl: "https://your-rpc-url" })`);
103
95
  }
104
- else if (config.library === 'kit') {
105
- // Kit mode: require rpcUrl, ignore PublicKey and connection
106
- if (!rpcUrl) {
107
- throw new Error(`rpcUrl required for kit mode. Please provide: ` +
108
- `setConfig({ library: 'kit', rpcUrl: "https://your-rpc-url" })`);
109
- }
110
- // PublicKey and connection are ignored in kit mode
111
- }
112
- else {
113
- // No library specified - fallback to current behavior
114
- if (!config.connection && !rpcUrl) {
115
- throw new Error(`Either 'connection' (web3js) or 'rpcUrl' (kit) must be provided. ` +
116
- `Use: setConfig({ library: 'web3js', PublicKey, connection }) ` +
117
- `or: setConfig({ library: 'kit', rpcUrl: "https://..." })`);
118
- }
96
+ // PublicKey validation for web3js mode
97
+ if (config.library === 'web3js' && !config.PublicKey) {
98
+ throw new Error(`PublicKey required for web3js mode. Please provide: ` +
99
+ `setConfig({ library: 'web3js', PublicKey })`);
119
100
  }
120
101
  const srslyAddress = config.srslyProgramAddress || 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
121
102
  const sageAddress = programConfig.SAGE_PROGRAM_ADDRESS;
@@ -130,7 +111,7 @@ async function resolveProgramAddresses(config) {
130
111
  antegenProgramAddress: (0, constants_1.toAddress)(antegenAddress),
131
112
  gameId: (0, constants_1.toAddress)(gameIdAddress),
132
113
  atlasMint: (0, constants_1.toAddress)(atlasMintAddress),
133
- rpcUrl: config.library === 'web3js' ? undefined : rpcUrl, // Only return rpcUrl for kit mode
114
+ rpcUrl: rpcUrl, // Always return rpcUrl
134
115
  };
135
116
  }
136
117
  /**
@@ -151,13 +132,12 @@ async function resolveProgramAddresses(config) {
151
132
  * gameId: 'custom-game-id...'
152
133
  * });
153
134
  *
154
- * // Configure for web3js with Connection (avoids @solana/kit RPC creation)
155
- * import { Connection, PublicKey } from '@solana/web3.js';
156
- * const connection = new Connection('https://api.mainnet-beta.solana.com');
135
+ * // Configure for web3js
136
+ * import { PublicKey } from '@solana/web3.js';
157
137
  * setConfig({
158
138
  * library: 'web3js',
159
139
  * PublicKey,
160
- * connection
140
+ * rpcUrl: 'https://api.mainnet-beta.solana.com'
161
141
  * });
162
142
  *
163
143
  * // Can still override per instruction
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -6,57 +6,39 @@ exports.fetchMultipleContractStates = fetchMultipleContractStates;
6
6
  exports.fetchMultipleRentalStates = fetchMultipleRentalStates;
7
7
  const kit_1 = require("@solana/kit");
8
8
  const accounts_1 = require("../codama/accounts");
9
- /**
10
- * Convenience wrapper functions for fetching account states with RPC URL strings.
11
- * These functions handle creating the RPC connection for you.
12
- */
13
- /**
14
- * Fetches contract state data from the blockchain using a simple RPC URL
15
- *
16
- * @param rpcUrl - The RPC endpoint URL as a string
17
- * @param contractAddress - The contract account address to fetch
18
- * @returns The deserialized contract state data
19
- *
20
- * @example
21
- * ```typescript
22
- * const contractState = await fetchContractState(
23
- * 'https://api.devnet.solana.com',
24
- * 'ContractAddress123...'
25
- * );
26
- *
27
- * console.log('Contract owner:', contractState.data.owner);
28
- * console.log('Contract rate:', contractState.data.rate);
29
- * ```
30
- */
31
- async function fetchContractState(rpcUrl, contractAddress) {
32
- // Create RPC connection
9
+ const config_1 = require("./config");
10
+ const constants_1 = require("./constants");
11
+ // Implementation
12
+ async function fetchContractState(rpcUrlOrAddress, contractAddress) {
13
+ // If only one argument, it's the contract address using default RPC
14
+ if (contractAddress === undefined) {
15
+ const address = (0, constants_1.toAddress)(rpcUrlOrAddress);
16
+ const config = (0, config_1.getConfig)();
17
+ const resolved = await (0, config_1.resolveProgramAddresses)(config);
18
+ const rpc = (0, kit_1.createSolanaRpc)(resolved.rpcUrl);
19
+ return (0, accounts_1.fetchContractState)(rpc, address);
20
+ }
21
+ // If two arguments, first is rpcUrl, second is address
22
+ const rpcUrl = rpcUrlOrAddress;
23
+ const address = (0, constants_1.toAddress)(contractAddress);
33
24
  const rpc = (0, kit_1.createSolanaRpc)(rpcUrl);
34
- // Fetch and return the contract state
35
- return (0, accounts_1.fetchContractState)(rpc, contractAddress);
25
+ return (0, accounts_1.fetchContractState)(rpc, address);
36
26
  }
37
- /**
38
- * Fetches rental state data from the blockchain using a simple RPC URL
39
- *
40
- * @param rpcUrl - The RPC endpoint URL as a string
41
- * @param rentalAddress - The rental account address to fetch
42
- * @returns The deserialized rental state data
43
- *
44
- * @example
45
- * ```typescript
46
- * const rentalState = await fetchRentalState(
47
- * 'https://api.devnet.solana.com',
48
- * 'RentalAddress123...'
49
- * );
50
- *
51
- * console.log('Rental borrower:', rentalState.data.borrower);
52
- * console.log('Rental start:', rentalState.data.start);
53
- * ```
54
- */
55
- async function fetchRentalState(rpcUrl, rentalAddress) {
56
- // Create RPC connection
27
+ // Implementation
28
+ async function fetchRentalState(rpcUrlOrAddress, rentalAddress) {
29
+ // If only one argument, it's the rental address using default RPC
30
+ if (rentalAddress === undefined) {
31
+ const address = (0, constants_1.toAddress)(rpcUrlOrAddress);
32
+ const config = (0, config_1.getConfig)();
33
+ const resolved = await (0, config_1.resolveProgramAddresses)(config);
34
+ const rpc = (0, kit_1.createSolanaRpc)(resolved.rpcUrl);
35
+ return (0, accounts_1.fetchRentalState)(rpc, address);
36
+ }
37
+ // If two arguments, first is rpcUrl, second is address
38
+ const rpcUrl = rpcUrlOrAddress;
39
+ const address = (0, constants_1.toAddress)(rentalAddress);
57
40
  const rpc = (0, kit_1.createSolanaRpc)(rpcUrl);
58
- // Fetch and return the rental state
59
- return (0, accounts_1.fetchRentalState)(rpc, rentalAddress);
41
+ return (0, accounts_1.fetchRentalState)(rpc, address);
60
42
  }
61
43
  /**
62
44
  * Fetches multiple contract states in a single RPC call
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":";;AA+BA,gDASC;AAoBD,4CASC;AAuBD,kEASC;AAuBD,8DASC;AArID,qCAA4D;AAC5D,iDAK4B;AAE5B;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,eAAkC;IAElC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,sCAAsC;IACtC,OAAO,IAAA,6BAAwB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,aAAgC;IAEhC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,oCAAoC;IACpC,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,iBAAsC;IAEtC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,uCAAuC;IACvC,OAAO,IAAA,gCAAqB,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,eAAoC;IAEpC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,qCAAqC;IACrC,OAAO,IAAA,8BAAmB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"fetch-accounts.js","sourceRoot":"","sources":["../../../src/utils/fetch-accounts.ts"],"names":[],"mappings":";;AAwDA,gDAkBC;AA2CD,4CAkBC;AAuBD,kEASC;AAuBD,8DASC;AAvMD,qCAA4D;AAC5D,iDAK4B;AAC5B,qCAA8D;AAC9D,2CAAwC;AA+CxC,iBAAiB;AACV,KAAK,UAAU,kBAAkB,CACtC,eAA2C,EAC3C,eAA4C;IAE5C,oEAAoE;IACpE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,6BAAwB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,eAAyB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,IAAA,6BAAwB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AA0CD,iBAAiB;AACV,KAAK,UAAU,gBAAgB,CACpC,eAA2C,EAC3C,aAA0C;IAE1C,kEAAkE;IAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,eAA6C,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAAC,MAAM,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,eAAyB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,aAAa,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IACpC,OAAO,IAAA,2BAAsB,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,iBAAsC;IAEtC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,uCAAuC;IACvC,OAAO,IAAA,gCAAqB,EAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,eAAoC;IAEpC,wBAAwB;IACxB,MAAM,GAAG,GAAG,IAAA,qBAAe,EAAC,MAAM,CAAC,CAAC;IAEpC,qCAAqC;IACrC,OAAO,IAAA,8BAAmB,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC"}
@@ -22,4 +22,5 @@ __exportStar(require("./duration"), exports);
22
22
  __exportStar(require("./instruction-converter"), exports);
23
23
  __exportStar(require("./fetch-accounts"), exports);
24
24
  __exportStar(require("./pda"), exports);
25
+ __exportStar(require("./signer"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC;AACjC,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B;AAC3B,0DAAwC;AACxC,mDAAiC;AACjC,wCAAsB;AACtB,2CAAyB"}
@@ -16,7 +16,7 @@ function createFluentInstruction(kitInstruction) {
16
16
  function kit() {
17
17
  return kitInstruction;
18
18
  }
19
- function web3js(PublicKey, connection) {
19
+ function web3js(PublicKey) {
20
20
  const accounts = kitInstruction.accounts || [];
21
21
  if (PublicKey) {
22
22
  // Return instruction with PublicKey instances
@@ -56,16 +56,8 @@ function createFluentInstruction(kitInstruction) {
56
56
  * @returns FluentConfigSelector with additional format conversion methods
57
57
  */
58
58
  function createFluentConfigSelector(baseSelector) {
59
- async function web3js(PublicKey, connection) {
60
- let fluentInstruction;
61
- if (connection) {
62
- // Rebuild instruction with connection in config
63
- const selectorWithConnection = baseSelector.set({ connection });
64
- fluentInstruction = await selectorWithConnection.build();
65
- }
66
- else {
67
- fluentInstruction = await baseSelector.build();
68
- }
59
+ async function web3js(PublicKey) {
60
+ const fluentInstruction = await baseSelector.build();
69
61
  return fluentInstruction.web3js(PublicKey);
70
62
  }
71
63
  return {
@@ -120,16 +112,8 @@ function createSmartFluentConfigSelector(baseSelector) {
120
112
  const fluentInstruction = await baseSelector.build();
121
113
  return fluentInstruction.kit();
122
114
  },
123
- async web3js(PublicKey, connection) {
124
- let fluentInstruction;
125
- if (connection) {
126
- // Rebuild instruction with connection in config
127
- const selectorWithConnection = baseSelector.set({ connection });
128
- fluentInstruction = await selectorWithConnection.build();
129
- }
130
- else {
131
- fluentInstruction = await baseSelector.build();
132
- }
115
+ async web3js(PublicKey) {
116
+ const fluentInstruction = await baseSelector.build();
133
117
  return fluentInstruction.web3js(PublicKey);
134
118
  }
135
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruction-converter.js","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Universal signer handling utilities for cross-library compatibility
4
+ *
5
+ * This module provides utilities to handle different signer types across
6
+ * @solana/kit, @solana/web3.js, and plain address strings in a unified way.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createTransactionSigner = createTransactionSigner;
10
+ exports.isSignerObject = isSignerObject;
11
+ exports.isAddressString = isAddressString;
12
+ const kit_1 = require("@solana/kit");
13
+ /**
14
+ * Creates TransactionSigner from UniversalSigner input for universal compatibility
15
+ *
16
+ * This function provides universal compatibility by:
17
+ * - Converting string addresses to TransactionSigner using createNoopSigner
18
+ * - Passing through existing TransactionSigner objects unchanged
19
+ * - Safely handling different signer interfaces (kit, web3.js, etc.)
20
+ *
21
+ * The returned TransactionSigner has both .address property and signing capability,
22
+ * making it suitable for both PDA derivation and codama instruction building.
23
+ *
24
+ * @param signer - The signer input (string address or signer object)
25
+ * @returns TransactionSigner that can be used directly for codama and has .address property
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * // Browser usage with string address
30
+ * const borrower = createTransactionSigner("base58AddressString");
31
+ * // borrower.address → Address object for PDA derivation
32
+ * // borrower → TransactionSigner for codama
33
+ *
34
+ * // CLI usage with wallet object
35
+ * const borrower = createTransactionSigner(wallet);
36
+ * // borrower.address → wallet.address for PDA derivation
37
+ * // borrower → wallet signer for codama
38
+ * ```
39
+ */
40
+ function createTransactionSigner(signer) {
41
+ // Handle string address case (browser usage)
42
+ if (typeof signer === 'string') {
43
+ return (0, kit_1.createNoopSigner)((0, kit_1.address)(signer)); // Returns TransactionSigner with .address property
44
+ }
45
+ // Handle signer object cases (CLI and other wallet interfaces)
46
+ // These should already be TransactionSigner objects with .address property
47
+ return signer;
48
+ }
49
+ /**
50
+ * Type guard to check if a value is a signer object (not a string)
51
+ */
52
+ function isSignerObject(signer) {
53
+ return typeof signer !== 'string';
54
+ }
55
+ /**
56
+ * Type guard to check if a value is an address string
57
+ */
58
+ function isAddressString(signer) {
59
+ return typeof signer === 'string';
60
+ }
61
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/utils/signer.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA2CH,0DASC;AAKD,wCAEC;AAKD,0CAEC;AAhED,qCAAgF;AAchF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,uBAAuB,CAAC,MAAuB;IAC7D,6CAA6C;IAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAA,sBAAgB,EAAC,IAAA,aAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAE,mDAAmD;IAChG,CAAC;IAED,+DAA+D;IAC/D,2EAA2E;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAuB;IACpD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAuB;IACrD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "2.0.0-beta.43",
3
+ "version": "2.0.0-beta.45",
4
4
  "description": "",
5
5
  "source": "./src/index.ts",
6
6
  "sideEffects": false,