@wuwei-labs/srsly 2.0.0-beta.24 → 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.
- package/README.md +172 -61
- package/dist/cjs/codama/errors/srsly.js +7 -1
- package/dist/cjs/codama/errors/srsly.js.map +1 -1
- package/dist/cjs/contract/create.js +13 -2
- package/dist/cjs/contract/create.js.map +1 -1
- package/dist/cjs/index.js +25 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +12 -5
- package/dist/cjs/types/paymentFrequency.js +58 -0
- package/dist/cjs/types/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/config.js +36 -127
- package/dist/cjs/utils/config.js.map +1 -1
- package/dist/cjs/utils/constants.js +5 -22
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/duration.js +77 -0
- package/dist/cjs/utils/duration.js.map +1 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/pack-functions.js +148 -0
- package/dist/cjs/utils/pack-functions.js.map +1 -0
- package/dist/cjs/utils/paymentFrequency.js +60 -0
- package/dist/cjs/utils/paymentFrequency.js.map +1 -0
- package/dist/cjs/utils/solana-adapter.js +120 -0
- package/dist/cjs/utils/solana-adapter.js.map +1 -0
- package/dist/cjs/utils/types.js +6 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/esm/codama/errors/srsly.js +6 -0
- package/dist/esm/codama/errors/srsly.js.map +1 -1
- package/dist/esm/contract/create.js +13 -2
- package/dist/esm/contract/create.js.map +1 -1
- package/dist/esm/index.js +8 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +12 -5
- package/dist/esm/types/paymentFrequency.js +53 -0
- package/dist/esm/types/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/config.js +36 -128
- package/dist/esm/utils/config.js.map +1 -1
- package/dist/esm/utils/constants.js +4 -20
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/duration.js +68 -0
- package/dist/esm/utils/duration.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/pack-functions.js +110 -0
- package/dist/esm/utils/pack-functions.js.map +1 -0
- package/dist/esm/utils/paymentFrequency.js +55 -0
- package/dist/esm/utils/paymentFrequency.js.map +1 -0
- package/dist/esm/utils/solana-adapter.js +82 -0
- package/dist/esm/utils/solana-adapter.js.map +1 -0
- package/dist/esm/utils/types.js +5 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/types/codama/errors/srsly.d.ts +5 -1
- package/dist/types/codama/errors/srsly.d.ts.map +1 -1
- package/dist/types/contract/create.d.ts +7 -5
- package/dist/types/contract/create.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/paymentFrequency.d.ts +44 -0
- package/dist/types/types/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/config.d.ts +35 -18
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/constants.d.ts +8 -21
- package/dist/types/utils/constants.d.ts.map +1 -1
- package/dist/types/utils/duration.d.ts +56 -0
- package/dist/types/utils/duration.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/pack-functions.d.ts +18 -0
- package/dist/types/utils/pack-functions.d.ts.map +1 -0
- package/dist/types/utils/paymentFrequency.d.ts +18 -0
- package/dist/types/utils/paymentFrequency.d.ts.map +1 -0
- package/dist/types/utils/solana-adapter.d.ts +26 -0
- package/dist/types/utils/solana-adapter.d.ts.map +1 -0
- package/dist/types/utils/types.d.ts +14 -0
- package/dist/types/utils/types.d.ts.map +1 -0
- package/package.json +12 -5
- package/target/idl/srsly.json +10 -0
package/dist/cjs/utils/config.js
CHANGED
|
@@ -40,13 +40,14 @@ exports.resolveProgramAddresses = resolveProgramAddresses;
|
|
|
40
40
|
exports.setConfig = setConfig;
|
|
41
41
|
exports.getConfig = getConfig;
|
|
42
42
|
exports.clearConfig = clearConfig;
|
|
43
|
+
exports.getEffectiveConfig = getEffectiveConfig;
|
|
43
44
|
exports.getModule = getModule;
|
|
44
45
|
exports.getCachedNetworkModule = getCachedNetworkModule;
|
|
45
46
|
exports.createConfigSelector = createConfigSelector;
|
|
46
47
|
// Single codama output - network agnostic
|
|
47
48
|
const instructions = __importStar(require("../codama/instructions"));
|
|
48
49
|
const programs = __importStar(require("../codama/programs"));
|
|
49
|
-
const
|
|
50
|
+
const pack_functions_1 = require("./pack-functions");
|
|
50
51
|
const PROGRAM_SETS = {
|
|
51
52
|
mainnet: {
|
|
52
53
|
SAGE_PROGRAM_ADDRESS: 'SAGE2HAwep459SNq61LHvjxPk4pLPEJLoMETef7f7EE',
|
|
@@ -158,34 +159,6 @@ async function getCachedNetworkModule(modulePath) {
|
|
|
158
159
|
}
|
|
159
160
|
return getModule(modulePath);
|
|
160
161
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Ensures the input is a proper Uint8Array compatible with web3.js
|
|
163
|
-
* Handles various TypedArray formats that @solana/kit might return
|
|
164
|
-
*/
|
|
165
|
-
function ensureUint8Array(input) {
|
|
166
|
-
// If it's already a standard Uint8Array, return as-is
|
|
167
|
-
if (input instanceof Uint8Array && input.constructor === Uint8Array) {
|
|
168
|
-
return input;
|
|
169
|
-
}
|
|
170
|
-
// Handle various ArrayBufferView types (including ReadonlyUint8Array)
|
|
171
|
-
if (ArrayBuffer.isView(input)) {
|
|
172
|
-
return new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
|
|
173
|
-
}
|
|
174
|
-
// Handle objects with buffer property (some Node.js environments)
|
|
175
|
-
if (input && input.buffer && typeof input.byteLength === 'number') {
|
|
176
|
-
return new Uint8Array(input.buffer, input.byteOffset || 0, input.byteLength);
|
|
177
|
-
}
|
|
178
|
-
// Handle array-like objects and iterables
|
|
179
|
-
if (input && typeof input.length === 'number') {
|
|
180
|
-
return new Uint8Array(input);
|
|
181
|
-
}
|
|
182
|
-
// Handle objects that might be iterable but don't have length
|
|
183
|
-
if (input && typeof input[Symbol.iterator] === 'function') {
|
|
184
|
-
return new Uint8Array(Array.from(input));
|
|
185
|
-
}
|
|
186
|
-
// Fallback: try to create from the input directly
|
|
187
|
-
return new Uint8Array(input);
|
|
188
|
-
}
|
|
189
162
|
/**
|
|
190
163
|
* Create a chainable packed transaction that allows .pack().send() without double await
|
|
191
164
|
*
|
|
@@ -243,58 +216,27 @@ function createChainableConfigSelector(executeFn, existingConfig) {
|
|
|
243
216
|
const selector = {
|
|
244
217
|
set: (additionalOptions) => createChainableConfigSelector(executeFn, { ...existingConfig, ...additionalOptions }),
|
|
245
218
|
build: () => executeFn(existingConfig),
|
|
219
|
+
packKit: (feePayer) => {
|
|
220
|
+
const packedTxPromise = (async () => {
|
|
221
|
+
const instruction = await executeFn(existingConfig);
|
|
222
|
+
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
223
|
+
return await (0, pack_functions_1.packWithKit)(instruction, feePayer, effectiveConfig);
|
|
224
|
+
})();
|
|
225
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
226
|
+
},
|
|
227
|
+
packWeb3js: (feePayer) => {
|
|
228
|
+
const packedTxPromise = (async () => {
|
|
229
|
+
const instruction = await executeFn(existingConfig);
|
|
230
|
+
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
231
|
+
return await (0, pack_functions_1.packWithWeb3js)(instruction, feePayer, effectiveConfig);
|
|
232
|
+
})();
|
|
233
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
234
|
+
},
|
|
246
235
|
pack: (feePayer) => {
|
|
247
236
|
const packedTxPromise = (async () => {
|
|
248
237
|
const instruction = await executeFn(existingConfig);
|
|
249
238
|
const effectiveConfig = getEffectiveConfig(existingConfig);
|
|
250
|
-
|
|
251
|
-
if (!resolvedAddresses.rpcUrl) {
|
|
252
|
-
const networkType = effectiveConfig.programs || 'unknown';
|
|
253
|
-
if (networkType === 'atlasnet' || networkType === 'holosim') {
|
|
254
|
-
throw new Error(`RPC URL is required for ${networkType} network. Please provide your RPC endpoint via setConfig({ rpcUrl: "your-rpc-url-with-api-key" }) or .set({ rpcUrl: "your-rpc-url-with-api-key" })`);
|
|
255
|
-
}
|
|
256
|
-
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
|
|
257
|
-
}
|
|
258
|
-
// Create RPC connection to get latest blockhash
|
|
259
|
-
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
260
|
-
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
261
|
-
// Build unsigned transaction message
|
|
262
|
-
const transactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayer)(feePayer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
263
|
-
// Compile to unsigned transaction
|
|
264
|
-
const unsignedTransaction = (0, kit_1.compileTransaction)(transactionMessage);
|
|
265
|
-
// Return raw messageBytes - users can convert to web3.js format if needed:
|
|
266
|
-
// import { VersionedTransaction, VersionedMessage } from '@solana/web3.js';
|
|
267
|
-
// const versionedMessage = VersionedMessage.deserialize(messageBytes);
|
|
268
|
-
// const versionedTx = new VersionedTransaction(versionedMessage);
|
|
269
|
-
const messageBytes = ensureUint8Array(unsignedTransaction.messageBytes);
|
|
270
|
-
// Return PackedTransaction with send() method
|
|
271
|
-
return {
|
|
272
|
-
messageBytes,
|
|
273
|
-
signatures: unsignedTransaction.signatures,
|
|
274
|
-
send: async (signer) => {
|
|
275
|
-
// Create RPC connections for sending
|
|
276
|
-
const sendRpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
277
|
-
const rpcSubscriptions = (0, kit_1.createSolanaRpcSubscriptions)(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
278
|
-
// Build transaction message with signer
|
|
279
|
-
const signerTransactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayerSigner)(signer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
280
|
-
// Sign transaction
|
|
281
|
-
const signedTransaction = await (0, kit_1.signTransactionMessageWithSigners)(signerTransactionMessage);
|
|
282
|
-
// Send and confirm transaction
|
|
283
|
-
const sendAndConfirmTransaction = (0, kit_1.sendAndConfirmTransactionFactory)({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
|
|
284
|
-
try {
|
|
285
|
-
await sendAndConfirmTransaction(signedTransaction, {
|
|
286
|
-
commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
|
|
287
|
-
skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
|
|
288
|
-
});
|
|
289
|
-
// Extract and return the signature
|
|
290
|
-
const signature = (0, kit_1.getSignatureFromTransaction)(signedTransaction);
|
|
291
|
-
return signature;
|
|
292
|
-
}
|
|
293
|
-
catch (error) {
|
|
294
|
-
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
};
|
|
239
|
+
return await (0, pack_functions_1.packWithAuto)(instruction, feePayer, effectiveConfig);
|
|
298
240
|
})();
|
|
299
241
|
return createChainablePackedTransaction(packedTxPromise);
|
|
300
242
|
},
|
|
@@ -328,60 +270,27 @@ function createConfigSelector(executeFn) {
|
|
|
328
270
|
const selector = {
|
|
329
271
|
set: (options) => createChainableConfigSelector(executeFn, getEffectiveConfig(options)),
|
|
330
272
|
build: () => executeFn(getEffectiveConfig()),
|
|
273
|
+
packKit: (feePayer) => {
|
|
274
|
+
const packedTxPromise = (async () => {
|
|
275
|
+
const instruction = await executeFn(getEffectiveConfig());
|
|
276
|
+
const effectiveConfig = getEffectiveConfig();
|
|
277
|
+
return await (0, pack_functions_1.packWithKit)(instruction, feePayer, effectiveConfig);
|
|
278
|
+
})();
|
|
279
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
280
|
+
},
|
|
281
|
+
packWeb3js: (feePayer) => {
|
|
282
|
+
const packedTxPromise = (async () => {
|
|
283
|
+
const instruction = await executeFn(getEffectiveConfig());
|
|
284
|
+
const effectiveConfig = getEffectiveConfig();
|
|
285
|
+
return await (0, pack_functions_1.packWithWeb3js)(instruction, feePayer, effectiveConfig);
|
|
286
|
+
})();
|
|
287
|
+
return createChainablePackedTransaction(packedTxPromise);
|
|
288
|
+
},
|
|
331
289
|
pack: (feePayer) => {
|
|
332
290
|
const packedTxPromise = (async () => {
|
|
333
291
|
const instruction = await executeFn(getEffectiveConfig());
|
|
334
292
|
const effectiveConfig = getEffectiveConfig();
|
|
335
|
-
|
|
336
|
-
if (!resolvedAddresses.rpcUrl) {
|
|
337
|
-
const networkType = effectiveConfig.programs || 'unknown';
|
|
338
|
-
if (networkType === 'atlasnet' || networkType === 'holosim') {
|
|
339
|
-
throw new Error(`RPC URL is required for ${networkType} network. Please provide your RPC endpoint via setConfig({ rpcUrl: "your-rpc-url-with-api-key" }) or .set({ rpcUrl: "your-rpc-url-with-api-key" })`);
|
|
340
|
-
}
|
|
341
|
-
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." }) or provide it in .set({ rpcUrl: "..." })');
|
|
342
|
-
}
|
|
343
|
-
// Create RPC connection to get latest blockhash
|
|
344
|
-
const rpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
345
|
-
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
346
|
-
// Build unsigned transaction message
|
|
347
|
-
const transactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayer)(feePayer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
348
|
-
// Compile to unsigned transaction
|
|
349
|
-
const unsignedTransaction = (0, kit_1.compileTransaction)(transactionMessage);
|
|
350
|
-
// Create a web3.js compatible transaction by converting messageBytes to VersionedMessage
|
|
351
|
-
const { VersionedTransaction, VersionedMessage } = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
352
|
-
const messageUint8Array = ensureUint8Array(unsignedTransaction.messageBytes);
|
|
353
|
-
const versionedMessage = VersionedMessage.deserialize(messageUint8Array);
|
|
354
|
-
const versionedTx = new VersionedTransaction(versionedMessage);
|
|
355
|
-
// Serialize to get proper messageBytes that can be deserialized by web3.js
|
|
356
|
-
const messageBytes = ensureUint8Array(versionedTx.serialize());
|
|
357
|
-
// Return PackedTransaction with send() method
|
|
358
|
-
return {
|
|
359
|
-
messageBytes,
|
|
360
|
-
signatures: unsignedTransaction.signatures,
|
|
361
|
-
send: async (signer) => {
|
|
362
|
-
// Create RPC connections for sending
|
|
363
|
-
const sendRpc = (0, kit_1.createSolanaRpc)(resolvedAddresses.rpcUrl);
|
|
364
|
-
const rpcSubscriptions = (0, kit_1.createSolanaRpcSubscriptions)(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
365
|
-
// Build transaction message with signer
|
|
366
|
-
const signerTransactionMessage = (0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (msg) => (0, kit_1.setTransactionMessageFeePayerSigner)(signer, msg), (msg) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, msg), (msg) => (0, kit_1.appendTransactionMessageInstructions)([instruction], msg));
|
|
367
|
-
// Sign transaction
|
|
368
|
-
const signedTransaction = await (0, kit_1.signTransactionMessageWithSigners)(signerTransactionMessage);
|
|
369
|
-
// Send and confirm transaction
|
|
370
|
-
const sendAndConfirmTransaction = (0, kit_1.sendAndConfirmTransactionFactory)({ rpc: sendRpc, rpcSubscriptions: rpcSubscriptions });
|
|
371
|
-
try {
|
|
372
|
-
await sendAndConfirmTransaction(signedTransaction, {
|
|
373
|
-
commitment: effectiveConfig.transactionOptions?.commitment || 'confirmed',
|
|
374
|
-
skipPreflight: effectiveConfig.transactionOptions?.skipPreflight || false
|
|
375
|
-
});
|
|
376
|
-
// Extract and return the signature
|
|
377
|
-
const signature = (0, kit_1.getSignatureFromTransaction)(signedTransaction);
|
|
378
|
-
return signature;
|
|
379
|
-
}
|
|
380
|
-
catch (error) {
|
|
381
|
-
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
};
|
|
293
|
+
return await (0, pack_functions_1.packWithAuto)(instruction, feePayer, effectiveConfig);
|
|
385
294
|
})();
|
|
386
295
|
return createChainablePackedTransaction(packedTxPromise);
|
|
387
296
|
},
|
|
@@ -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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FACTION_MAPPING = exports.FACTION_SPECIFIC_CSS = exports.
|
|
3
|
+
exports.FACTION_MAPPING = exports.FACTION_SPECIFIC_CSS = exports.ATLAS_TO_STARDUST = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = void 0;
|
|
4
4
|
exports.toAddress = toAddress;
|
|
5
5
|
exports.getSrslyProgramAddress = getSrslyProgramAddress;
|
|
6
6
|
exports.getProgramId = getProgramId;
|
|
@@ -8,15 +8,14 @@ exports.getSageProgramAddress = getSageProgramAddress;
|
|
|
8
8
|
exports.getProfileFactionProgramAddress = getProfileFactionProgramAddress;
|
|
9
9
|
exports.getSageGameId = getSageGameId;
|
|
10
10
|
exports.getAtlasMint = getAtlasMint;
|
|
11
|
-
exports.paymentFrequencyToString = paymentFrequencyToString;
|
|
12
11
|
const config_1 = require("./config");
|
|
13
|
-
const kit_1 = require("@solana/kit");
|
|
14
12
|
/**
|
|
15
13
|
* Converts a string or Address to an Address type
|
|
16
14
|
* This utility ensures consistent address handling across the SDK
|
|
15
|
+
* Note: This is a simple passthrough now since pack functions handle library-specific conversions
|
|
17
16
|
*/
|
|
18
17
|
function toAddress(value) {
|
|
19
|
-
return
|
|
18
|
+
return value;
|
|
20
19
|
}
|
|
21
20
|
// Seed constants
|
|
22
21
|
exports.STARBASE_SEED = 'Starbase';
|
|
@@ -25,18 +24,7 @@ exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
|
|
|
25
24
|
exports.PROFILE_FACTION_SEED = 'profile_faction';
|
|
26
25
|
// Token conversion constants
|
|
27
26
|
exports.ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
|
|
28
|
-
// PaymentFrequency enum
|
|
29
|
-
var PaymentFrequency;
|
|
30
|
-
(function (PaymentFrequency) {
|
|
31
|
-
PaymentFrequency[PaymentFrequency["Hourly"] = 0] = "Hourly";
|
|
32
|
-
PaymentFrequency[PaymentFrequency["Daily"] = 1] = "Daily";
|
|
33
|
-
PaymentFrequency[PaymentFrequency["DailyOld"] = 2] = "DailyOld";
|
|
34
|
-
PaymentFrequency[PaymentFrequency["Weekly"] = 3] = "Weekly";
|
|
35
|
-
PaymentFrequency[PaymentFrequency["Monthly"] = 4] = "Monthly";
|
|
36
|
-
// Development-only frequencies (not available on mainnet)
|
|
37
|
-
PaymentFrequency[PaymentFrequency["Decasecond"] = 5] = "Decasecond";
|
|
38
|
-
PaymentFrequency[PaymentFrequency["Minute"] = 6] = "Minute";
|
|
39
|
-
})(PaymentFrequency || (exports.PaymentFrequency = PaymentFrequency = {}));
|
|
27
|
+
// PaymentFrequency enum is now exported from codama-generated types
|
|
40
28
|
// Network constants are now managed in config.ts
|
|
41
29
|
async function getSrslyProgramAddress(config) {
|
|
42
30
|
const globalConfig = (0, config_1.getConfig)();
|
|
@@ -85,10 +73,5 @@ exports.FACTION_MAPPING = {
|
|
|
85
73
|
2: 'oni',
|
|
86
74
|
3: 'ustur'
|
|
87
75
|
};
|
|
88
|
-
|
|
89
|
-
* Convert PaymentFrequency enum to string
|
|
90
|
-
*/
|
|
91
|
-
function paymentFrequencyToString(freq) {
|
|
92
|
-
return PaymentFrequency[freq].toLowerCase();
|
|
93
|
-
}
|
|
76
|
+
// PaymentFrequency utilities are now in utils/paymentFrequency.ts
|
|
94
77
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.duration = void 0;
|
|
4
|
+
exports.decaseconds = decaseconds;
|
|
5
|
+
exports.minutes = minutes;
|
|
6
|
+
exports.hours = hours;
|
|
7
|
+
exports.days = days;
|
|
8
|
+
exports.weeks = weeks;
|
|
9
|
+
exports.months = months;
|
|
10
|
+
const paymentFrequency_1 = require("../types/paymentFrequency");
|
|
11
|
+
/**
|
|
12
|
+
* Duration helper functions for converting time units to seconds
|
|
13
|
+
* Uses the same constants as the payment frequency system for consistency
|
|
14
|
+
*/
|
|
15
|
+
const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH } = paymentFrequency_1.PAYMENT_FREQUENCY_CONSTANTS;
|
|
16
|
+
/**
|
|
17
|
+
* Convert decaseconds (10 seconds) to seconds
|
|
18
|
+
* @param amount Number of decaseconds
|
|
19
|
+
* @returns Number of seconds
|
|
20
|
+
*/
|
|
21
|
+
function decaseconds(amount) {
|
|
22
|
+
return amount * SECONDS_PER_DECASECOND;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert minutes to seconds
|
|
26
|
+
* @param amount Number of minutes
|
|
27
|
+
* @returns Number of seconds
|
|
28
|
+
*/
|
|
29
|
+
function minutes(amount) {
|
|
30
|
+
return amount * SECONDS_PER_MINUTE;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert hours to seconds
|
|
34
|
+
* @param amount Number of hours
|
|
35
|
+
* @returns Number of seconds
|
|
36
|
+
*/
|
|
37
|
+
function hours(amount) {
|
|
38
|
+
return amount * SECONDS_PER_HOUR;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Convert days to seconds
|
|
42
|
+
* @param amount Number of days
|
|
43
|
+
* @returns Number of seconds
|
|
44
|
+
*/
|
|
45
|
+
function days(amount) {
|
|
46
|
+
return amount * SECONDS_PER_DAY;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Convert weeks to seconds
|
|
50
|
+
* @param amount Number of weeks
|
|
51
|
+
* @returns Number of seconds
|
|
52
|
+
*/
|
|
53
|
+
function weeks(amount) {
|
|
54
|
+
return amount * SECONDS_PER_WEEK;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Convert months to seconds
|
|
58
|
+
* @param amount Number of months (31 days each)
|
|
59
|
+
* @returns Number of seconds
|
|
60
|
+
*/
|
|
61
|
+
function months(amount) {
|
|
62
|
+
return amount * SECONDS_PER_MONTH;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* All duration helper functions
|
|
66
|
+
*/
|
|
67
|
+
exports.duration = {
|
|
68
|
+
decaseconds,
|
|
69
|
+
minutes,
|
|
70
|
+
hours,
|
|
71
|
+
days,
|
|
72
|
+
weeks,
|
|
73
|
+
months,
|
|
74
|
+
// Also expose the raw constants for advanced users
|
|
75
|
+
constants: paymentFrequency_1.PAYMENT_FREQUENCY_CONSTANTS,
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/utils/duration.ts"],"names":[],"mappings":";;;AAqBA,kCAEC;AAOD,0BAEC;AAOD,sBAEC;AAOD,oBAEC;AAOD,sBAEC;AAOD,wBAEC;AApED,gEAAwE;AAExE;;;GAGG;AAEH,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,8CAA2B,CAAC;AAEhC;;;;GAIG;AACH,SAAgB,WAAW,CAAC,MAAc;IACxC,OAAO,MAAM,GAAG,sBAAsB,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,MAAc;IACpC,OAAO,MAAM,GAAG,kBAAkB,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAc;IAClC,OAAO,MAAM,GAAG,gBAAgB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,MAAc;IACjC,OAAO,MAAM,GAAG,eAAe,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAc;IAClC,OAAO,MAAM,GAAG,gBAAgB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAC,MAAc;IACnC,OAAO,MAAM,GAAG,iBAAiB,CAAC;AACpC,CAAC;AAED;;GAEG;AACU,QAAA,QAAQ,GAAG;IACtB,WAAW;IACX,OAAO;IACP,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IAEN,mDAAmD;IACnD,SAAS,EAAE,8CAA2B;CAC9B,CAAC"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -17,4 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./constants"), exports);
|
|
18
18
|
__exportStar(require("./profiles"), exports);
|
|
19
19
|
__exportStar(require("./config"), exports);
|
|
20
|
+
__exportStar(require("./paymentFrequency"), exports);
|
|
21
|
+
__exportStar(require("./duration"), exports);
|
|
20
22
|
//# 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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB;AACzB,qDAAmC;AACnC,6CAA2B"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pack function implementations for different Solana libraries
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.packWithKit = packWithKit;
|
|
40
|
+
exports.packWithWeb3js = packWithWeb3js;
|
|
41
|
+
exports.packWithAuto = packWithAuto;
|
|
42
|
+
const config_1 = require("./config");
|
|
43
|
+
/**
|
|
44
|
+
* Pack instruction using @solana/kit
|
|
45
|
+
*/
|
|
46
|
+
async function packWithKit(instruction, feePayer, config) {
|
|
47
|
+
const kit = await Promise.resolve().then(() => __importStar(require('@solana/kit')));
|
|
48
|
+
const { createSolanaRpc, createSolanaRpcSubscriptions, createTransactionMessage, setTransactionMessageFeePayer, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, appendTransactionMessageInstructions, compileTransaction, signTransactionMessageWithSigners, sendAndConfirmTransactionFactory, getSignatureFromTransaction, pipe, address } = kit;
|
|
49
|
+
const resolvedAddresses = (0, config_1.resolveProgramAddresses)(config);
|
|
50
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
51
|
+
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." })');
|
|
52
|
+
}
|
|
53
|
+
// Create RPC connection to get latest blockhash
|
|
54
|
+
const rpc = createSolanaRpc(resolvedAddresses.rpcUrl);
|
|
55
|
+
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
56
|
+
// Convert feePayer to proper Address type
|
|
57
|
+
const feePayerAddress = typeof feePayer === 'string' ? address(feePayer) : feePayer;
|
|
58
|
+
// Build unsigned transaction message
|
|
59
|
+
const transactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayer(feePayerAddress, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
|
|
60
|
+
// Compile to unsigned transaction
|
|
61
|
+
const unsignedTransaction = compileTransaction(transactionMessage);
|
|
62
|
+
return {
|
|
63
|
+
messageBytes: new Uint8Array(unsignedTransaction.messageBytes),
|
|
64
|
+
signatures: [], // Empty for unsigned transactions
|
|
65
|
+
send: async (signer) => {
|
|
66
|
+
// Create RPC connections for sending
|
|
67
|
+
const sendRpc = createSolanaRpc(resolvedAddresses.rpcUrl);
|
|
68
|
+
const rpcSubscriptions = createSolanaRpcSubscriptions(resolvedAddresses.rpcUrl.replace('https:', 'wss:').replace('http:', 'ws:'));
|
|
69
|
+
// Build transaction message with signer
|
|
70
|
+
const signerTransactionMessage = pipe(createTransactionMessage({ version: 0 }), (msg) => setTransactionMessageFeePayerSigner(signer, msg), (msg) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, msg), (msg) => appendTransactionMessageInstructions([instruction], msg));
|
|
71
|
+
// Sign transaction
|
|
72
|
+
const signedTransaction = await signTransactionMessageWithSigners(signerTransactionMessage);
|
|
73
|
+
// Send and confirm transaction
|
|
74
|
+
const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({
|
|
75
|
+
rpc: sendRpc,
|
|
76
|
+
rpcSubscriptions: rpcSubscriptions
|
|
77
|
+
});
|
|
78
|
+
try {
|
|
79
|
+
await sendAndConfirmTransaction(signedTransaction, {
|
|
80
|
+
commitment: config.transactionOptions?.commitment || 'confirmed',
|
|
81
|
+
skipPreflight: config.transactionOptions?.skipPreflight || false
|
|
82
|
+
});
|
|
83
|
+
// Extract and return the signature
|
|
84
|
+
const signature = getSignatureFromTransaction(signedTransaction);
|
|
85
|
+
return signature;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
throw new Error(`Transaction failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Pack instruction using @solana/web3.js
|
|
95
|
+
*/
|
|
96
|
+
async function packWithWeb3js(instruction, feePayer, config) {
|
|
97
|
+
const web3 = await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
98
|
+
const { Connection, Transaction, PublicKey, sendAndConfirmTransaction } = web3;
|
|
99
|
+
const resolvedAddresses = (0, config_1.resolveProgramAddresses)(config);
|
|
100
|
+
if (!resolvedAddresses.rpcUrl) {
|
|
101
|
+
throw new Error('RPC URL is required for creating transactions. Please set it via setConfig({ rpcUrl: "..." })');
|
|
102
|
+
}
|
|
103
|
+
const connection = new Connection(resolvedAddresses.rpcUrl, 'confirmed');
|
|
104
|
+
// Convert feePayer to PublicKey
|
|
105
|
+
const feePayerPubkey = typeof feePayer === 'string' ? new PublicKey(feePayer) : feePayer;
|
|
106
|
+
// Create transaction and add instruction
|
|
107
|
+
const transaction = new Transaction();
|
|
108
|
+
transaction.add(instruction);
|
|
109
|
+
transaction.feePayer = feePayerPubkey;
|
|
110
|
+
// Get recent blockhash
|
|
111
|
+
const { blockhash } = await connection.getLatestBlockhash();
|
|
112
|
+
transaction.recentBlockhash = blockhash;
|
|
113
|
+
return {
|
|
114
|
+
messageBytes: transaction.serializeMessage(),
|
|
115
|
+
signatures: [],
|
|
116
|
+
transaction, // Include the actual Transaction object
|
|
117
|
+
send: async (signer) => {
|
|
118
|
+
// Sign and send transaction
|
|
119
|
+
transaction.sign(signer);
|
|
120
|
+
const signature = await sendAndConfirmTransaction(connection, transaction, [signer], {
|
|
121
|
+
commitment: config.transactionOptions?.commitment || 'confirmed',
|
|
122
|
+
skipPreflight: config.transactionOptions?.skipPreflight || false
|
|
123
|
+
});
|
|
124
|
+
return signature;
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Auto-detect and pack with the best available library
|
|
130
|
+
*/
|
|
131
|
+
async function packWithAuto(instruction, feePayer, config) {
|
|
132
|
+
// Prefer @solana/kit if available
|
|
133
|
+
try {
|
|
134
|
+
await Promise.resolve().then(() => __importStar(require('@solana/kit')));
|
|
135
|
+
return await packWithKit(instruction, feePayer, config);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Fallback to @solana/web3.js
|
|
139
|
+
try {
|
|
140
|
+
await Promise.resolve().then(() => __importStar(require('@solana/web3.js')));
|
|
141
|
+
return await packWithWeb3js(instruction, feePayer, config);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
throw new Error('No Solana library found. Please install either @solana/kit (recommended) or @solana/web3.js as a peer dependency.');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=pack-functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-functions.js","sourceRoot":"","sources":["../../../src/utils/pack-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.paymentFrequencyToSeconds = paymentFrequencyToSeconds;
|
|
4
|
+
exports.paymentFrequencyStringToSeconds = paymentFrequencyStringToSeconds;
|
|
5
|
+
exports.validateDurationAlignment = validateDurationAlignment;
|
|
6
|
+
const paymentFrequency_1 = require("../codama/types/paymentFrequency");
|
|
7
|
+
const paymentFrequency_2 = require("../types/paymentFrequency");
|
|
8
|
+
/**
|
|
9
|
+
* Payment frequency conversion utilities
|
|
10
|
+
* Mirrors the Rust implementation in programs/srsly/src/utils.rs
|
|
11
|
+
* Uses auto-generated constants and mappings from Rust source
|
|
12
|
+
*/
|
|
13
|
+
// Auto-synced constants from Rust constants.rs
|
|
14
|
+
const { SECONDS_PER_DECASECOND, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH } = paymentFrequency_2.PAYMENT_FREQUENCY_CONSTANTS;
|
|
15
|
+
/**
|
|
16
|
+
* Converts a PaymentFrequency enum value to seconds
|
|
17
|
+
* Mirrors the to_seconds() method from the Rust implementation
|
|
18
|
+
*/
|
|
19
|
+
function paymentFrequencyToSeconds(frequency) {
|
|
20
|
+
switch (frequency) {
|
|
21
|
+
case paymentFrequency_1.PaymentFrequency.Decasecond:
|
|
22
|
+
return SECONDS_PER_DECASECOND;
|
|
23
|
+
case paymentFrequency_1.PaymentFrequency.Minute:
|
|
24
|
+
return SECONDS_PER_MINUTE;
|
|
25
|
+
case paymentFrequency_1.PaymentFrequency.Hourly:
|
|
26
|
+
return SECONDS_PER_HOUR;
|
|
27
|
+
case paymentFrequency_1.PaymentFrequency.Daily:
|
|
28
|
+
case paymentFrequency_1.PaymentFrequency.DailyOld:
|
|
29
|
+
return SECONDS_PER_DAY;
|
|
30
|
+
case paymentFrequency_1.PaymentFrequency.Weekly:
|
|
31
|
+
return SECONDS_PER_WEEK;
|
|
32
|
+
case paymentFrequency_1.PaymentFrequency.Monthly:
|
|
33
|
+
return SECONDS_PER_MONTH;
|
|
34
|
+
default:
|
|
35
|
+
throw new Error(`Unknown payment frequency: ${frequency}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Converts a payment frequency string to seconds
|
|
40
|
+
* Uses auto-generated mapping from Rust PaymentFrequency enum
|
|
41
|
+
*/
|
|
42
|
+
function paymentFrequencyStringToSeconds(frequencyString) {
|
|
43
|
+
const frequency = paymentFrequency_2.PAYMENT_FREQUENCY_MAP[frequencyString];
|
|
44
|
+
if (frequency === undefined) {
|
|
45
|
+
throw new Error(`Invalid payment frequency string: ${frequencyString}`);
|
|
46
|
+
}
|
|
47
|
+
return paymentFrequencyToSeconds(frequency);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Validates that a duration is a multiple of the payment frequency
|
|
51
|
+
* Uses auto-generated types from Rust PaymentFrequency enum
|
|
52
|
+
*/
|
|
53
|
+
function validateDurationAlignment(duration, frequencyString) {
|
|
54
|
+
const durationNumber = Number(duration);
|
|
55
|
+
const frequencySeconds = paymentFrequencyStringToSeconds(frequencyString);
|
|
56
|
+
if (durationNumber % frequencySeconds !== 0) {
|
|
57
|
+
throw new Error(`Duration (${duration} seconds) must be a multiple of ${frequencyString} frequency (${frequencySeconds} seconds)`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=paymentFrequency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentFrequency.js","sourceRoot":"","sources":["../../../src/utils/paymentFrequency.ts"],"names":[],"mappings":";;AA2BA,8DAkBC;AAMD,0EAOC;AAMD,8DAYC;AA5ED,uEAAoE;AACpE,gEAImC;AAEnC;;;;GAIG;AAEH,+CAA+C;AAC/C,MAAM,EACJ,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,8CAA2B,CAAC;AAEhC;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,SAA2B;IACnE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,mCAAgB,CAAC,UAAU;YAC9B,OAAO,sBAAsB,CAAC;QAChC,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,kBAAkB,CAAC;QAC5B,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,mCAAgB,CAAC,KAAK,CAAC;QAC5B,KAAK,mCAAgB,CAAC,QAAQ;YAC5B,OAAO,eAAe,CAAC;QACzB,KAAK,mCAAgB,CAAC,MAAM;YAC1B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,mCAAgB,CAAC,OAAO;YAC3B,OAAO,iBAAiB,CAAC;QAC3B;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,+BAA+B,CAAC,eAAuC;IACrF,MAAM,SAAS,GAAG,wCAAqB,CAAC,eAAe,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CACvC,QAAyB,EACzB,eAAuC;IAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAE1E,IAAI,cAAc,GAAG,gBAAgB,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,aAAa,QAAQ,mCAAmC,eAAe,eAAe,gBAAgB,WAAW,CAClH,CAAC;IACJ,CAAC;AACH,CAAC"}
|