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

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 (34) hide show
  1. package/README.md +49 -40
  2. package/dist/cjs/package.json +12 -5
  3. package/dist/cjs/utils/config.js +36 -127
  4. package/dist/cjs/utils/config.js.map +1 -1
  5. package/dist/cjs/utils/constants.js +2 -2
  6. package/dist/cjs/utils/constants.js.map +1 -1
  7. package/dist/cjs/utils/pack-functions.js +148 -0
  8. package/dist/cjs/utils/pack-functions.js.map +1 -0
  9. package/dist/cjs/utils/solana-adapter.js +120 -0
  10. package/dist/cjs/utils/solana-adapter.js.map +1 -0
  11. package/dist/cjs/utils/types.js +6 -0
  12. package/dist/cjs/utils/types.js.map +1 -0
  13. package/dist/esm/package.json +12 -5
  14. package/dist/esm/utils/config.js +36 -128
  15. package/dist/esm/utils/config.js.map +1 -1
  16. package/dist/esm/utils/constants.js +2 -2
  17. package/dist/esm/utils/constants.js.map +1 -1
  18. package/dist/esm/utils/pack-functions.js +110 -0
  19. package/dist/esm/utils/pack-functions.js.map +1 -0
  20. package/dist/esm/utils/solana-adapter.js +82 -0
  21. package/dist/esm/utils/solana-adapter.js.map +1 -0
  22. package/dist/esm/utils/types.js +5 -0
  23. package/dist/esm/utils/types.js.map +1 -0
  24. package/dist/types/utils/config.d.ts +35 -18
  25. package/dist/types/utils/config.d.ts.map +1 -1
  26. package/dist/types/utils/constants.d.ts +8 -8
  27. package/dist/types/utils/constants.d.ts.map +1 -1
  28. package/dist/types/utils/pack-functions.d.ts +18 -0
  29. package/dist/types/utils/pack-functions.d.ts.map +1 -0
  30. package/dist/types/utils/solana-adapter.d.ts +26 -0
  31. package/dist/types/utils/solana-adapter.d.ts.map +1 -0
  32. package/dist/types/utils/types.d.ts +14 -0
  33. package/dist/types/utils/types.d.ts.map +1 -0
  34. package/package.json +12 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-adapter.js","sourceRoot":"","sources":["../../../src/utils/solana-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,uDAAuD;IACvD,MAAM,SAAS,GAAkB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhF,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC;IACrD,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEhD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,aAA4B,MAAM;IAKvE,MAAM,SAAS,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAEhD,IAAI,eAA8B,CAAC;IAEnC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;YACxG,CAAC;YACD,eAAe,GAAG,KAAK,CAAC;YACxB,MAAM;QAER,KAAK,QAAQ;YACX,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC5G,CAAC;YACD,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QAER,KAAK,MAAM,CAAC;QACZ;YACE,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;YACtC,MAAM;IACV,CAAC;IAED,MAAM,MAAM,GAAwD;QAClE,OAAO,EAAE,eAAe;KACzB,CAAC;IAEF,IAAI,eAAe,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Universal types that work with both @solana/kit and @solana/web3.js
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Network configuration for the SRSLY SDK
3
3
  */
4
- import { type Address, type TransactionSigner } from '@solana/kit';
4
+ import { SolanaLibrary } from './solana-adapter';
5
+ import { UniversalAddress, UniversalTransactionSigner } from './types';
5
6
  export type ProgramSet = 'mainnet' | 'atlasnet' | 'holosim';
6
7
  /**
7
8
  * Configuration options that can be set globally or overridden per call
@@ -13,6 +14,7 @@ export interface ConfigOptions {
13
14
  gameId?: string;
14
15
  atlasMint?: string;
15
16
  rpcUrl?: string;
17
+ solanaLibrary?: SolanaLibrary;
16
18
  transactionOptions?: {
17
19
  commitment?: 'processed' | 'confirmed' | 'finalized';
18
20
  skipPreflight?: boolean;
@@ -63,6 +65,12 @@ export declare function getConfig(): ConfigOptions;
63
65
  * Clear global configuration (resets to atlasnet program set defaults)
64
66
  */
65
67
  export declare function clearConfig(): void;
68
+ /**
69
+ * Get the effective configuration by merging global config with provided overrides
70
+ * @param overrides Optional configuration overrides
71
+ * @returns Merged configuration with global defaults and any overrides
72
+ */
73
+ export declare function getEffectiveConfig(overrides?: ConfigOptions): ConfigOptions;
66
74
  /**
67
75
  * Get the single codama module (network agnostic)
68
76
  * @param modulePath The module type ('instructions' or 'programs')
@@ -83,7 +91,7 @@ export interface PackedTransaction {
83
91
  /** Transaction signature map (empty for unsigned transactions) */
84
92
  signatures: any;
85
93
  /**
86
- * Send the packed transaction using @solana/kit (for server-side/CLI usage)
94
+ * Send the packed transaction using the configured Solana library
87
95
  *
88
96
  * @param signer The transaction signer that will sign and pay for the transaction
89
97
  * @returns Promise resolving to the transaction signature
@@ -101,7 +109,7 @@ export interface PackedTransaction {
101
109
  * .send(signer);
102
110
  * ```
103
111
  */
104
- send(signer: TransactionSigner): Promise<string>;
112
+ send(signer: UniversalTransactionSigner): Promise<string>;
105
113
  }
106
114
  /**
107
115
  * Chainable PackedTransaction that allows fluent .pack().send() without double await
@@ -121,7 +129,7 @@ export interface ChainablePackedTransaction extends PackedTransaction {
121
129
  * .send(signer);
122
130
  * ```
123
131
  */
124
- send(signer: TransactionSigner): Promise<string>;
132
+ send(signer: UniversalTransactionSigner): Promise<string>;
125
133
  }
126
134
  /**
127
135
  * Configuration selector for overriding network and constants
@@ -137,33 +145,42 @@ export interface ConfigSelector<T> extends PromiseLike<T> {
137
145
  */
138
146
  build(): Promise<T>;
139
147
  /**
140
- * Pack the instruction into an unsigned transaction ready for signing and sending
148
+ * Pack using @solana/kit (modern, recommended)
141
149
  *
142
150
  * @param feePayer The address that will pay for the transaction fees
143
- * @returns ChainablePackedTransaction with send() method (no double await needed!)
151
+ * @returns ChainablePackedTransaction optimized for @solana/kit
144
152
  *
145
153
  * @example
146
154
  * ```typescript
147
- * // Option 1: Pack and send (server-side/CLI) - Now chainable!
148
155
  * import { createKeyPairSignerFromBytes } from '@solana/kit';
149
156
  * const signer = await createKeyPairSignerFromBytes(keypairBytes);
150
157
  * const signature = await createContract(params)
151
- * .pack(signer.address)
158
+ * .packKit(signer.address)
152
159
  * .send(signer);
160
+ * ```
161
+ */
162
+ packKit(feePayer: UniversalAddress): ChainablePackedTransaction;
163
+ /**
164
+ * Pack using @solana/web3.js (wallet adapter compatibility)
153
165
  *
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())
166
+ * @param feePayer The address that will pay for the transaction fees
167
+ * @returns ChainablePackedTransaction optimized for @solana/web3.js
161
168
  *
162
- * // Option 3: Get just the raw message bytes for custom handling
163
- * const messageBytes = packedTx.messageBytes;
169
+ * @example
170
+ * ```typescript
171
+ * const packedTx = await createContract(params).packWeb3js(wallet.publicKey);
172
+ * const versionedTx = new VersionedTransaction(VersionedMessage.deserialize(packedTx.messageBytes));
173
+ * const signedTx = await wallet.signTransaction(versionedTx);
164
174
  * ```
165
175
  */
166
- pack(feePayer: Address | string): ChainablePackedTransaction;
176
+ packWeb3js(feePayer: UniversalAddress): ChainablePackedTransaction;
177
+ /**
178
+ * Pack using the configured or best available library
179
+ *
180
+ * @param feePayer The address that will pay for the transaction fees
181
+ * @returns ChainablePackedTransaction using the best available library
182
+ */
183
+ pack(feePayer: UniversalAddress): ChainablePackedTransaction;
167
184
  }
168
185
  /**
169
186
  * 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;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAGvE,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,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,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;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;AAGD;;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,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;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;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;IAEhE;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;IAEnE;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;CAC9D;AA6GD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAChD,cAAc,CAAC,CAAC,CAAC,CAsCnB"}
@@ -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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Pack function implementations for different Solana libraries
3
+ */
4
+ import { UniversalAddress, PackedTransaction } from './types';
5
+ import { ConfigOptions } from './config';
6
+ /**
7
+ * Pack instruction using @solana/kit
8
+ */
9
+ export declare function packWithKit(instruction: any, feePayer: UniversalAddress, config: ConfigOptions): Promise<PackedTransaction>;
10
+ /**
11
+ * Pack instruction using @solana/web3.js
12
+ */
13
+ export declare function packWithWeb3js(instruction: any, feePayer: UniversalAddress, config: ConfigOptions): Promise<PackedTransaction>;
14
+ /**
15
+ * Auto-detect and pack with the best available library
16
+ */
17
+ export declare function packWithAuto(instruction: any, feePayer: UniversalAddress, config: ConfigOptions): Promise<PackedTransaction>;
18
+ //# sourceMappingURL=pack-functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-functions.d.ts","sourceRoot":"","sources":["../../../src/utils/pack-functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,aAAa,EAA2B,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAmF5B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAkD5B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAc5B"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Solana library adapter for handling both @solana/kit and @solana/web3.js
3
+ */
4
+ export type SolanaLibrary = 'kit' | 'web3js' | 'auto';
5
+ export interface LibraryDetection {
6
+ hasKit: boolean;
7
+ hasWeb3js: boolean;
8
+ preferred: SolanaLibrary;
9
+ }
10
+ /**
11
+ * Detects which Solana libraries are available
12
+ */
13
+ export declare function detectSolanaLibraries(): Promise<LibraryDetection>;
14
+ /**
15
+ * Validates that at least one Solana library is available
16
+ */
17
+ export declare function validateSolanaLibraryAvailability(): Promise<void>;
18
+ /**
19
+ * Gets the appropriate Solana library based on preference and availability
20
+ */
21
+ export declare function getSolanaLibrary(preference?: SolanaLibrary): Promise<{
22
+ library: SolanaLibrary;
23
+ kit?: any;
24
+ web3js?: any;
25
+ }>;
26
+ //# sourceMappingURL=solana-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-adapter.d.ts","sourceRoot":"","sources":["../../../src/utils/solana-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAsBvE;AAED;;GAEG;AACH,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,aAAsB,GAAG,OAAO,CAAC;IAClF,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC,CA+CD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Universal types that work with both @solana/kit and @solana/web3.js
3
+ */
4
+ export type UniversalAddress = string | any;
5
+ export type UniversalTransactionSigner = any;
6
+ export type UniversalInstruction = any;
7
+ export interface PackedTransaction {
8
+ messageBytes: Uint8Array;
9
+ signatures: any[];
10
+ send: (signer: UniversalTransactionSigner) => Promise<string>;
11
+ transaction?: any;
12
+ }
13
+ export type { SolanaLibrary } from './solana-adapter';
14
+ //# 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,0BAA0B,GAAG,GAAG,CAAC;AAG7C,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAGvC,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAGD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuwei-labs/srsly",
3
- "version": "2.0.0-beta.25",
3
+ "version": "2.0.0-beta.26",
4
4
  "description": "",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -63,7 +63,6 @@
63
63
  "devDependencies": {
64
64
  "@codama/nodes-from-anchor": "^1.1.13",
65
65
  "@codama/renderers": "^1.0.21",
66
- "@solana/web3.js": "^1.98.2",
67
66
  "@types/node": "^24.0.3",
68
67
  "codama": "^1.2.13",
69
68
  "tsconfig-to-dual-package": "^1.2.0",
@@ -71,8 +70,16 @@
71
70
  "typescript": "^5.8.3",
72
71
  "vitest": "^3.2.4"
73
72
  },
74
- "dependencies": {
75
- "@solana/kit": "^2.1.0",
76
- "@wuwei-labs/srsly": "2.0.0-beta.12"
73
+ "peerDependencies": {
74
+ "@solana/kit": ">=2.0.0",
75
+ "@solana/web3.js": ">=1.95.0"
76
+ },
77
+ "peerDependenciesMeta": {
78
+ "@solana/kit": {
79
+ "optional": true
80
+ },
81
+ "@solana/web3.js": {
82
+ "optional": true
83
+ }
77
84
  }
78
85
  }