@wuwei-labs/srsly 2.0.0-beta.25 → 2.0.0-beta.28

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 (70) hide show
  1. package/README.md +200 -99
  2. package/dist/cjs/contract/close.js +33 -24
  3. package/dist/cjs/contract/close.js.map +1 -1
  4. package/dist/cjs/contract/create.js +67 -52
  5. package/dist/cjs/contract/create.js.map +1 -1
  6. package/dist/cjs/package.json +2 -6
  7. package/dist/cjs/rental/accept.js +35 -29
  8. package/dist/cjs/rental/accept.js.map +1 -1
  9. package/dist/cjs/rental/cancel.js +13 -9
  10. package/dist/cjs/rental/cancel.js.map +1 -1
  11. package/dist/cjs/rental/close.js +15 -11
  12. package/dist/cjs/rental/close.js.map +1 -1
  13. package/dist/cjs/rental/reset.js +20 -17
  14. package/dist/cjs/rental/reset.js.map +1 -1
  15. package/dist/cjs/utils/config.js +1 -180
  16. package/dist/cjs/utils/config.js.map +1 -1
  17. package/dist/cjs/utils/constants.js +2 -2
  18. package/dist/cjs/utils/constants.js.map +1 -1
  19. package/dist/cjs/utils/index.js +1 -0
  20. package/dist/cjs/utils/index.js.map +1 -1
  21. package/dist/cjs/utils/instruction-converter.js +49 -0
  22. package/dist/cjs/utils/instruction-converter.js.map +1 -0
  23. package/dist/cjs/utils/types.js +6 -0
  24. package/dist/cjs/utils/types.js.map +1 -0
  25. package/dist/esm/contract/close.js +34 -25
  26. package/dist/esm/contract/close.js.map +1 -1
  27. package/dist/esm/contract/create.js +67 -51
  28. package/dist/esm/contract/create.js.map +1 -1
  29. package/dist/esm/package.json +2 -6
  30. package/dist/esm/rental/accept.js +36 -30
  31. package/dist/esm/rental/accept.js.map +1 -1
  32. package/dist/esm/rental/cancel.js +13 -9
  33. package/dist/esm/rental/cancel.js.map +1 -1
  34. package/dist/esm/rental/close.js +15 -11
  35. package/dist/esm/rental/close.js.map +1 -1
  36. package/dist/esm/rental/reset.js +22 -19
  37. package/dist/esm/rental/reset.js.map +1 -1
  38. package/dist/esm/utils/config.js +1 -181
  39. package/dist/esm/utils/config.js.map +1 -1
  40. package/dist/esm/utils/constants.js +2 -2
  41. package/dist/esm/utils/constants.js.map +1 -1
  42. package/dist/esm/utils/index.js +1 -0
  43. package/dist/esm/utils/index.js.map +1 -1
  44. package/dist/esm/utils/instruction-converter.js +45 -0
  45. package/dist/esm/utils/instruction-converter.js.map +1 -0
  46. package/dist/esm/utils/types.js +5 -0
  47. package/dist/esm/utils/types.js.map +1 -0
  48. package/dist/types/contract/close.d.ts +12 -11
  49. package/dist/types/contract/close.d.ts.map +1 -1
  50. package/dist/types/contract/create.d.ts +49 -65
  51. package/dist/types/contract/create.d.ts.map +1 -1
  52. package/dist/types/rental/accept.d.ts +32 -28
  53. package/dist/types/rental/accept.d.ts.map +1 -1
  54. package/dist/types/rental/cancel.d.ts +16 -12
  55. package/dist/types/rental/cancel.d.ts.map +1 -1
  56. package/dist/types/rental/close.d.ts +16 -13
  57. package/dist/types/rental/close.d.ts.map +1 -1
  58. package/dist/types/rental/reset.d.ts +19 -16
  59. package/dist/types/rental/reset.d.ts.map +1 -1
  60. package/dist/types/utils/config.d.ts +6 -84
  61. package/dist/types/utils/config.d.ts.map +1 -1
  62. package/dist/types/utils/constants.d.ts +8 -8
  63. package/dist/types/utils/constants.d.ts.map +1 -1
  64. package/dist/types/utils/index.d.ts +1 -0
  65. package/dist/types/utils/index.d.ts.map +1 -1
  66. package/dist/types/utils/instruction-converter.d.ts +76 -0
  67. package/dist/types/utils/instruction-converter.d.ts.map +1 -0
  68. package/dist/types/utils/types.d.ts +6 -0
  69. package/dist/types/utils/types.d.ts.map +1 -0
  70. package/package.json +2 -6
@@ -1,18 +1,19 @@
1
- import { Address, TransactionSigner } from '@solana/kit';
2
1
  import { type ConfigSelector } from '../utils/config';
3
- type AcceptRentalInstruction = any;
2
+ import { type FluentInstruction, type FluentConfigSelector } from '../utils/instruction-converter';
3
+ type UniversalAddress = string;
4
+ type UniversalSigner = any;
4
5
  /**
5
- * Simplified parameters for accepting a rental
6
+ * Simplified parameters for accepting a rental - strings only!
6
7
  */
7
8
  export interface AcceptRentalParams {
8
9
  /**
9
- * The borrower wallet that will sign the transaction
10
+ * The borrower wallet that will sign the transaction (can be signer or string)
10
11
  */
11
- borrower: TransactionSigner<string>;
12
+ borrower: UniversalSigner | UniversalAddress;
12
13
  /**
13
14
  * The borrower's profile account address
14
15
  */
15
- borrowerProfile: string | Address<string>;
16
+ borrowerProfile: UniversalAddress;
16
17
  /**
17
18
  * The borrower's faction (1 = mud, 2 = oni, 3 = ustur)
18
19
  * Or as string: 'mud', 'oni', 'ustur'
@@ -21,16 +22,16 @@ export interface AcceptRentalParams {
21
22
  /**
22
23
  * The fleet account address that will be rented
23
24
  */
24
- fleet: string | Address<string>;
25
+ fleet: UniversalAddress;
25
26
  /**
26
27
  * The rental contract account address
27
28
  */
28
- contract: string | Address<string>;
29
+ contract: UniversalAddress;
29
30
  /**
30
31
  * The game ID account address
31
32
  * If not provided, will use network-specific default
32
33
  */
33
- gameId?: string | Address<string>;
34
+ gameId?: UniversalAddress;
34
35
  /**
35
36
  * The rental rate (in ATLAS tokens)
36
37
  */
@@ -43,50 +44,53 @@ export interface AcceptRentalParams {
43
44
  * Optional referral token account address
44
45
  * If provided, referrer will receive 5% of the platform fees
45
46
  */
46
- referralTokenAccount?: string | Address<string>;
47
+ referralTokenAccount?: UniversalAddress;
47
48
  }
48
49
  /**
49
50
  * Creates an instruction to accept a rental with fluent configuration.
50
51
  *
51
52
  * @example
52
53
  * ```typescript
53
- * // Use devnet defaults
54
- * const ix = await acceptRental({
55
- * borrower: wallet,
56
- * borrowerProfile: profileAddress,
57
- * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
58
- * fleet: fleetAddress,
59
- * contract: contractAddress,
60
- * rate: 1000, // ATLAS tokens
61
- * duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
54
+ * // Works with any library - just use strings for addresses!
55
+ * const instruction = await acceptRental({
56
+ * borrower: wallet, // Can be signer object or string
57
+ * borrowerProfile: "ProfileAddr...", // String address
58
+ * borrowerFaction: 1, // 1 = mud, 2 = oni, 3 = ustur
59
+ * fleet: "FleetAddress123...", // String address
60
+ * contract: "ContractAddr...", // String address
61
+ * rate: 1000, // ATLAS tokens
62
+ * duration: 86400 // 1 day in seconds (total: 1000 * 86400 * 100M stardust)
62
63
  * });
63
64
  *
64
65
  * // With referral (referrer gets 5% of platform fees)
65
- * const ix = await acceptRental({
66
+ * const instruction = await acceptRental({
66
67
  * borrower: wallet,
67
- * borrowerProfile: profileAddress,
68
+ * borrowerProfile: "ProfileAddr...",
68
69
  * borrowerFaction: 1,
69
- * fleet: fleetAddress,
70
- * contract: contractAddress,
70
+ * fleet: "FleetAddress123...",
71
+ * contract: "ContractAddr...",
71
72
  * rate: 1000,
72
73
  * duration: 86400,
73
- * referralTokenAccount: referrerTokenAddress
74
+ * referralTokenAccount: "ReferralAddr..."
74
75
  * });
75
76
  *
76
77
  * // Use mainnet configuration
77
- * const ix = await acceptRental(params).set({ network: 'mainnet' });
78
+ * const instruction = await acceptRental(params).set({ programs: 'mainnet' });
78
79
  *
79
80
  * // Override specific constants
80
- * const ix = await acceptRental(params).set({
81
- * network: 'mainnet',
81
+ * const instruction = await acceptRental(params).set({
82
+ * programs: 'mainnet',
82
83
  * gameId: 'custom-game-id...'
83
84
  * });
85
+ *
86
+ * // Use the instruction with your preferred Solana library
87
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
84
88
  * ```
85
89
  *
86
90
  * @param params The simplified parameters for accepting a rental
87
91
  * @returns A ConfigSelector that can be configured with .set() or awaited directly
88
92
  */
89
- export declare function acceptRental(params: AcceptRentalParams): ConfigSelector<AcceptRentalInstruction>;
93
+ export declare function acceptRental(params: AcceptRentalParams): FluentConfigSelector<FluentInstruction>;
90
94
  export declare function getAcceptRentalInstructionAsync(input: any, options?: any): ConfigSelector<any>;
91
95
  export {};
92
96
  //# sourceMappingURL=accept.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAK3G,KAAK,uBAAuB,GAAG,GAAG,CAAC;AAMnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEpC;;OAEG;IACH,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;;OAGG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD;AAoED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,uBAAuB,CAAC,CAEzC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK9F"}
1
+ {"version":3,"file":"accept.d.ts","sourceRoot":"","sources":["../../../src/rental/accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAG3G,OAAO,EAAuD,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGxJ,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,eAAe,GAAG,GAAG,CAAC;AAG3B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAE7C;;OAEG;IACH,eAAe,EAAE,gBAAgB,CAAC;IAElC;;;OAGG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;OAEG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,gBAAgB,CAAC;CACzC;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GACzB,oBAAoB,CAAC,iBAAiB,CAAC,CAGzC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK9F"}
@@ -1,38 +1,42 @@
1
- import { Address, TransactionSigner } from '@solana/kit';
2
1
  import { type ConfigSelector } from '../utils/config';
2
+ type UniversalAddress = string;
3
+ type UniversalSigner = any;
3
4
  type CancelRentalInstruction = any;
4
5
  /**
5
- * Simplified parameters for canceling a rental
6
+ * Simplified parameters for canceling a rental - strings only!
6
7
  */
7
8
  export interface CancelRentalParams {
8
9
  /**
9
- * The borrower wallet that will sign the transaction
10
+ * The borrower wallet that will sign the transaction (can be signer or string)
10
11
  */
11
- borrower: TransactionSigner<string>;
12
+ borrower: UniversalSigner | UniversalAddress;
12
13
  /**
13
14
  * The rental contract account address
14
15
  */
15
- contract: Address<string>;
16
+ contract: UniversalAddress;
16
17
  }
17
18
  /**
18
19
  * Creates an instruction to cancel a rental with fluent configuration.
19
20
  *
20
21
  * @example
21
22
  * ```typescript
22
- * // Use devnet defaults
23
- * const ix = await cancelRental({
24
- * borrower: wallet,
25
- * contract: contractAddress
23
+ * // Works with any library - just use strings for addresses!
24
+ * const instruction = await cancelRental({
25
+ * borrower: wallet, // Can be signer object or string
26
+ * contract: "ContractAddr..." // String address
26
27
  * });
27
28
  *
28
29
  * // Use mainnet configuration
29
- * const ix = await cancelRental(params).set({ network: 'mainnet' });
30
+ * const instruction = await cancelRental(params).set({ programs: 'mainnet' });
30
31
  *
31
32
  * // Override specific constants
32
- * const ix = await cancelRental(params).set({
33
- * network: 'mainnet',
33
+ * const instruction = await cancelRental(params).set({
34
+ * programs: 'mainnet',
34
35
  * sageProgramAddress: 'custom...'
35
36
  * });
37
+ *
38
+ * // Use the instruction with your preferred Solana library
39
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
36
40
  * ```
37
41
  *
38
42
  * @param params The simplified parameters for canceling a rental
@@ -1 +1 @@
1
- {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAG3G,KAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEpC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B;AAgCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,uBAAuB,CAAC,CAEzC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK9F"}
1
+ {"version":3,"file":"cancel.d.ts","sourceRoot":"","sources":["../../../src/rental/cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAI3G,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,eAAe,GAAG,GAAG,CAAC;AAC3B,KAAK,uBAAuB,GAAG,GAAG,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,eAAe,GAAG,gBAAgB,CAAC;IAE7C;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GACzB,cAAc,CAAC,uBAAuB,CAAC,CAEzC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK9F"}
@@ -1,43 +1,46 @@
1
- import { Address } from '@solana/kit';
2
1
  import { type ConfigSelector } from '../utils/config';
2
+ type UniversalAddress = string;
3
3
  type CloseRentalInstruction = any;
4
4
  /**
5
- * Simplified parameters for closing a rental
5
+ * Simplified parameters for closing a rental - strings only!
6
6
  */
7
7
  export interface CloseRentalParams {
8
8
  /**
9
9
  * The borrower address (not a signer in this transaction)
10
10
  */
11
- borrower: Address<string>;
11
+ borrower: UniversalAddress;
12
12
  /**
13
13
  * The owner's token account address for receiving ATLAS
14
14
  */
15
- ownerTokenAccount: Address<string>;
15
+ ownerTokenAccount: UniversalAddress;
16
16
  /**
17
17
  * The rental contract account address
18
18
  */
19
- contract: Address<string>;
19
+ contract: UniversalAddress;
20
20
  }
21
21
  /**
22
22
  * Creates an instruction to close a rental with fluent configuration.
23
23
  *
24
24
  * @example
25
25
  * ```typescript
26
- * // Use devnet defaults
27
- * const ix = await closeRental({
28
- * borrower: borrowerAddress,
29
- * ownerTokenAccount: ownerTokenAccountAddress,
30
- * contract: contractAddress
26
+ * // Works with any library - just use strings for addresses!
27
+ * const instruction = await closeRental({
28
+ * borrower: "BorrowerAddr...", // String address
29
+ * ownerTokenAccount: "TokenAcct...", // String address
30
+ * contract: "ContractAddr..." // String address
31
31
  * });
32
32
  *
33
33
  * // Use mainnet configuration
34
- * const ix = await closeRental(params).set({ network: 'mainnet' });
34
+ * const instruction = await closeRental(params).set({ programs: 'mainnet' });
35
35
  *
36
36
  * // Override specific constants
37
- * const ix = await closeRental(params).set({
38
- * network: 'mainnet',
37
+ * const instruction = await closeRental(params).set({
38
+ * programs: 'mainnet',
39
39
  * sageProgramAddress: 'custom...'
40
40
  * });
41
+ *
42
+ * // Use the instruction with your preferred Solana library
43
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
41
44
  * ```
42
45
  *
43
46
  * @param params The simplified parameters for closing a rental
@@ -1 +1 @@
1
- {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAG3G,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1B;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3B;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,cAAc,CAAC,sBAAsB,CAAC,CAExC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK7F"}
1
+ {"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/rental/close.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAI3G,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,CAAC;IAEpC;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,cAAc,CAAC,sBAAsB,CAAC,CAExC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK7F"}
@@ -1,27 +1,27 @@
1
- import { Address } from '@solana/kit';
2
1
  import { type ConfigSelector } from '../utils/config';
2
+ type UniversalAddress = string;
3
3
  type ResetRentalInstruction = any;
4
4
  /**
5
- * Simplified parameters for resetting a rental
5
+ * Simplified parameters for resetting a rental - strings only!
6
6
  */
7
7
  export interface ResetRentalParams {
8
8
  /**
9
9
  * The fleet account address
10
10
  */
11
- fleet: Address<string>;
11
+ fleet: UniversalAddress;
12
12
  /**
13
13
  * The rental contract account address
14
14
  */
15
- contract: Address<string>;
15
+ contract: UniversalAddress;
16
16
  /**
17
17
  * The rental state account address
18
18
  */
19
- rentalState: Address<string>;
19
+ rentalState: UniversalAddress;
20
20
  /**
21
21
  * The game ID account address
22
22
  * If not provided, will use network-specific default
23
23
  */
24
- gameId?: Address<string>;
24
+ gameId?: UniversalAddress;
25
25
  /**
26
26
  * Optional faction (1 = mud, 2 = oni, 3 = ustur)
27
27
  * Or as string: 'mud', 'oni', 'ustur'
@@ -32,31 +32,34 @@ export interface ResetRentalParams {
32
32
  * The owner's profile address
33
33
  * Needed only if faction is provided to derive starbasePlayer
34
34
  */
35
- ownerProfile: Address<string>;
35
+ ownerProfile: UniversalAddress;
36
36
  }
37
37
  /**
38
38
  * Creates an instruction to reset a rental with fluent configuration.
39
39
  *
40
40
  * @example
41
41
  * ```typescript
42
- * // Use devnet defaults
43
- * const ix = await resetRental({
44
- * fleet: fleetAddress,
45
- * contract: contractAddress,
46
- * rentalState: rentalStateAddress,
42
+ * // Works with any library - just use strings for addresses!
43
+ * const instruction = await resetRental({
44
+ * fleet: "FleetAddress123...", // String address
45
+ * contract: "ContractAddr...", // String address
46
+ * rentalState: "RentalStateAddr...", // String address
47
47
  * faction: 'mud',
48
- * ownerProfile: ownerProfileAddress
48
+ * ownerProfile: "OwnerProfileAddr..." // String address
49
49
  * });
50
50
  *
51
51
  * // Use mainnet configuration
52
- * const ix = await resetRental(params).set({ network: 'mainnet' });
52
+ * const instruction = await resetRental(params).set({ programs: 'mainnet' });
53
53
  *
54
54
  * // Override specific constants
55
- * const ix = await resetRental(params).set({
56
- * network: 'mainnet',
55
+ * const instruction = await resetRental(params).set({
56
+ * programs: 'mainnet',
57
57
  * gameId: 'custom-game-id...',
58
58
  * sageProgramAddress: 'custom...'
59
59
  * });
60
+ *
61
+ * // Use the instruction with your preferred Solana library
62
+ * // instruction is compatible with both @solana/kit and @solana/web3.js
60
63
  * ```
61
64
  *
62
65
  * @param params The simplified parameters for resetting a rental
@@ -1 +1 @@
1
- {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAI3G,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAMlC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAuDD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,cAAc,CAAC,sBAAsB,CAAC,CAExC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK7F"}
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/rental/reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAK3G,KAAK,gBAAgB,GAAG,MAAM,CAAC;AAC/B,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,WAAW,EAAE,gBAAgB,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;OAGG;IACH,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAuDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,GACxB,cAAc,CAAC,sBAAsB,CAAC,CAExC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAK7F"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Network configuration for the SRSLY SDK
3
3
  */
4
- import { type Address, type TransactionSigner } from '@solana/kit';
5
4
  export type ProgramSet = 'mainnet' | 'atlasnet' | 'holosim';
6
5
  /**
7
6
  * Configuration options that can be set globally or overridden per call
@@ -12,11 +11,6 @@ export interface ConfigOptions {
12
11
  profileFactionProgramAddress?: string;
13
12
  gameId?: string;
14
13
  atlasMint?: string;
15
- rpcUrl?: string;
16
- transactionOptions?: {
17
- commitment?: 'processed' | 'confirmed' | 'finalized';
18
- skipPreflight?: boolean;
19
- };
20
14
  }
21
15
  /**
22
16
  * Resolve program addresses based on configuration
@@ -29,7 +23,6 @@ export declare function resolveProgramAddresses(config: ConfigOptions): {
29
23
  profileFactionProgramAddress: string;
30
24
  gameId: string;
31
25
  atlasMint: string;
32
- rpcUrl: any;
33
26
  };
34
27
  /**
35
28
  * Set global configuration options that will be used as defaults for all SDK operations
@@ -63,6 +56,12 @@ export declare function getConfig(): ConfigOptions;
63
56
  * Clear global configuration (resets to atlasnet program set defaults)
64
57
  */
65
58
  export declare function clearConfig(): void;
59
+ /**
60
+ * Get the effective configuration by merging global config with provided overrides
61
+ * @param overrides Optional configuration overrides
62
+ * @returns Merged configuration with global defaults and any overrides
63
+ */
64
+ export declare function getEffectiveConfig(overrides?: ConfigOptions): ConfigOptions;
66
65
  /**
67
66
  * Get the single codama module (network agnostic)
68
67
  * @param modulePath The module type ('instructions' or 'programs')
@@ -74,55 +73,6 @@ export declare function getModule(modulePath: 'instructions' | 'programs'): any;
74
73
  * Get codama modules (network agnostic)
75
74
  */
76
75
  export declare function getCachedNetworkModule<T = any>(modulePath: string): Promise<T>;
77
- /**
78
- * Interface for a packed transaction that can be sent or used with wallet adapters
79
- */
80
- export interface PackedTransaction {
81
- /** Raw transaction message bytes compatible with web3.js VersionedTransaction.deserialize() */
82
- messageBytes: Uint8Array;
83
- /** Transaction signature map (empty for unsigned transactions) */
84
- signatures: any;
85
- /**
86
- * Send the packed transaction using @solana/kit (for server-side/CLI usage)
87
- *
88
- * @param signer The transaction signer that will sign and pay for the transaction
89
- * @returns Promise resolving to the transaction signature
90
- *
91
- * @example
92
- * ```typescript
93
- * import { createKeyPairSignerFromBytes } from '@solana/kit';
94
- *
95
- * // Create signer from keypair bytes
96
- * const signer = await createKeyPairSignerFromBytes(keypairBytes);
97
- *
98
- * // Pack transaction, then send (now chainable!)
99
- * const signature = await createContract(params)
100
- * .pack(signer.address)
101
- * .send(signer);
102
- * ```
103
- */
104
- send(signer: TransactionSigner): Promise<string>;
105
- }
106
- /**
107
- * Chainable PackedTransaction that allows fluent .pack().send() without double await
108
- */
109
- export interface ChainablePackedTransaction extends PackedTransaction {
110
- /**
111
- * Chainable send method that can be called directly on pack() result
112
- *
113
- * @param signer The transaction signer that will sign and pay for the transaction
114
- * @returns Promise resolving to the transaction signature
115
- *
116
- * @example
117
- * ```typescript
118
- * // Now works without double await!
119
- * const signature = await createContract(params)
120
- * .pack(signer.address)
121
- * .send(signer);
122
- * ```
123
- */
124
- send(signer: TransactionSigner): Promise<string>;
125
- }
126
76
  /**
127
77
  * Configuration selector for overriding network and constants
128
78
  * Also implements PromiseLike to allow direct awaiting
@@ -136,34 +86,6 @@ export interface ConfigSelector<T> extends PromiseLike<T> {
136
86
  * Build with current configuration (explicit call)
137
87
  */
138
88
  build(): Promise<T>;
139
- /**
140
- * Pack the instruction into an unsigned transaction ready for signing and sending
141
- *
142
- * @param feePayer The address that will pay for the transaction fees
143
- * @returns ChainablePackedTransaction with send() method (no double await needed!)
144
- *
145
- * @example
146
- * ```typescript
147
- * // Option 1: Pack and send (server-side/CLI) - Now chainable!
148
- * import { createKeyPairSignerFromBytes } from '@solana/kit';
149
- * const signer = await createKeyPairSignerFromBytes(keypairBytes);
150
- * const signature = await createContract(params)
151
- * .pack(signer.address)
152
- * .send(signer);
153
- *
154
- * // Option 2: Pack for wallet adapter (browser) - Convert to web3.js format
155
- * const packedTx = await createContract(params).pack(wallet.publicKey);
156
- * import { VersionedTransaction, VersionedMessage } from '@solana/web3.js';
157
- * const versionedMessage = VersionedMessage.deserialize(packedTx.messageBytes);
158
- * const versionedTx = new VersionedTransaction(versionedMessage);
159
- * const signedTx = await wallet.signTransaction(versionedTx);
160
- * // ... send with connection.sendRawTransaction(signedTx.serialize())
161
- *
162
- * // Option 3: Get just the raw message bytes for custom handling
163
- * const messageBytes = packedTx.messageBytes;
164
- * ```
165
- */
166
- pack(feePayer: Address | string): ChainablePackedTransaction;
167
89
  }
168
90
  /**
169
91
  * Create the initial fluent config selector for a function.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAcvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAwB5D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE;QACnB,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;QACrD,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAQD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa;;;;;;;EAkB5D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAEzC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAYD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU,GAAG,GAAG,CAEtE;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAKpF;AAoCD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+FAA+F;IAC/F,YAAY,EAAE,UAAU,CAAC;IACzB,kEAAkE;IAClE,UAAU,EAAE,GAAG,CAAC;IAEhB;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACvD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,0BAA0B,CAAC;CAC9D;AAiKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAChD,cAAc,CAAC,CAAC,CAAC,CA8FnB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAwB5D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa;;;;;;EAiB5D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAEzC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAGD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,aAAa,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU,GAAG,GAAG,CAEtE;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAKpF;AAID;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACvD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;CACrB;AAsCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAChD,cAAc,CAAC,CAAC,CAAC,CAcnB"}
@@ -1,21 +1,21 @@
1
1
  import { type ConfigOptions } from './config';
2
- import { type Address } from '@solana/kit';
3
2
  /**
4
3
  * Converts a string or Address to an Address type
5
4
  * This utility ensures consistent address handling across the SDK
5
+ * Note: This is a simple passthrough now since pack functions handle library-specific conversions
6
6
  */
7
- export declare function toAddress(value: string | Address<string>): Address<string>;
7
+ export declare function toAddress(value: string | any): any;
8
8
  export declare const STARBASE_SEED = "Starbase";
9
9
  export declare const STARBASE_PLAYER_SEED = "starbase_player";
10
10
  export declare const SAGE_PLAYER_PROFILE_SEED = "sage_player_profile";
11
11
  export declare const PROFILE_FACTION_SEED = "profile_faction";
12
12
  export declare const ATLAS_TO_STARDUST = 100000000;
13
- export declare function getSrslyProgramAddress(config?: ConfigOptions): Promise<Address<string>>;
14
- export declare function getProgramId(): Promise<Address<string>>;
15
- export declare function getSageProgramAddress(config?: ConfigOptions): Promise<Address<string>>;
16
- export declare function getProfileFactionProgramAddress(config?: ConfigOptions): Promise<Address<string>>;
17
- export declare function getSageGameId(config?: ConfigOptions): Promise<Address<string>>;
18
- export declare function getAtlasMint(config?: ConfigOptions): Promise<Address<string>>;
13
+ export declare function getSrslyProgramAddress(config?: ConfigOptions): Promise<any>;
14
+ export declare function getProgramId(): Promise<any>;
15
+ export declare function getSageProgramAddress(config?: ConfigOptions): Promise<any>;
16
+ export declare function getProfileFactionProgramAddress(config?: ConfigOptions): Promise<any>;
17
+ export declare function getSageGameId(config?: ConfigOptions): Promise<any>;
18
+ export declare function getAtlasMint(config?: ConfigOptions): Promise<any>;
19
19
  export declare const FACTION_SPECIFIC_CSS: Record<string, {
20
20
  x: number;
21
21
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,aAAa,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAGD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAGtD,eAAO,MAAM,iBAAiB,YAAc,CAAC;AAM7C,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAM7F;AAGD,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAE7D;AAGD,wBAAsB,qBAAqB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAO5F;AAED,wBAAsB,+BAA+B,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAMtG;AAED,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAMpF;AAED,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAMnF;AAGD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAIzE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAClF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAElD;AAGD,eAAO,MAAM,aAAa,aAAa,CAAC;AACxC,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AACtD,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAGtD,eAAO,MAAM,iBAAiB,YAAc,CAAC;AAM7C,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAMjF;AAGD,wBAAsB,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,CAEjD;AAGD,wBAAsB,qBAAqB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAOhF;AAED,wBAAsB,+BAA+B,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAM1F;AAED,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAMxE;AAED,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAMvE;AAGD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAIzE,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlD,CAAC"}
@@ -3,4 +3,5 @@ export * from "./profiles";
3
3
  export * from "./config";
4
4
  export * from "./paymentFrequency";
5
5
  export * from "./duration";
6
+ export * from "./instruction-converter";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Fluent instruction interface for format conversion between @solana/kit and @solana/web3.js
3
+ */
4
+ import { ConfigSelector } from './config';
5
+ /**
6
+ * @solana/kit instruction format
7
+ */
8
+ export interface KitInstruction {
9
+ accounts: Array<{
10
+ address: string;
11
+ role: number;
12
+ }>;
13
+ programAddress: string;
14
+ data: Uint8Array | {
15
+ [key: string]: number;
16
+ };
17
+ }
18
+ /**
19
+ * @solana/web3.js instruction format
20
+ */
21
+ export interface Web3jsInstruction {
22
+ keys: Array<{
23
+ pubkey: string;
24
+ isWritable: boolean;
25
+ isSigner: boolean;
26
+ }>;
27
+ programId: string;
28
+ data: Uint8Array | {
29
+ [key: string]: number;
30
+ };
31
+ }
32
+ /**
33
+ * Fluent instruction wrapper that provides format conversion methods
34
+ * @example
35
+ * ```typescript
36
+ * // Default returns kit format
37
+ * const kitInstruction = await createContract(params);
38
+ *
39
+ * // Convert to web3.js format
40
+ * const web3jsInstruction = await createContract(params).web3js();
41
+ *
42
+ * // Use with libraries
43
+ * const transaction = new Transaction().add(web3jsInstruction);
44
+ * ```
45
+ */
46
+ export interface FluentInstruction extends KitInstruction {
47
+ /**
48
+ * Convert instruction to @solana/web3.js format
49
+ * @returns Instruction in @solana/web3.js format
50
+ */
51
+ web3js(): Web3jsInstruction;
52
+ }
53
+ /**
54
+ * Fluent config selector that adds format conversion methods
55
+ * This allows chaining both configuration and format conversion
56
+ */
57
+ export interface FluentConfigSelector<T extends FluentInstruction> extends ConfigSelector<T> {
58
+ /**
59
+ * Convert instruction to @solana/web3.js format
60
+ * @returns Promise that resolves to Web3jsInstruction
61
+ */
62
+ web3js(): Promise<Web3jsInstruction>;
63
+ }
64
+ /**
65
+ * Create a fluent instruction wrapper around a kit instruction
66
+ * @param kitInstruction The base instruction in kit format
67
+ * @returns Fluent instruction with conversion methods
68
+ */
69
+ export declare function createFluentInstruction(kitInstruction: KitInstruction): FluentInstruction;
70
+ /**
71
+ * Create a fluent config selector that adds format conversion methods
72
+ * @param baseSelector The base ConfigSelector
73
+ * @returns FluentConfigSelector with additional format conversion methods
74
+ */
75
+ export declare function createFluentConfigSelector<T extends FluentInstruction>(baseSelector: ConfigSelector<T>): FluentConfigSelector<T>;
76
+ //# sourceMappingURL=instruction-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruction-converter.d.ts","sourceRoot":"","sources":["../../../src/utils/instruction-converter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD;;;OAGG;IACH,MAAM,IAAI,iBAAiB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC1F;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,cAAc,GAAG,iBAAiB,CAezF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,iBAAiB,EACpE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,GAC9B,oBAAoB,CAAC,CAAC,CAAC,CAczB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Universal types that work with both @solana/kit and @solana/web3.js
3
+ */
4
+ export type UniversalAddress = string | any;
5
+ export type UniversalInstruction = any;
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,GAAG,CAAC;AAG5C,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC"}