@wuwei-labs/srsly 2.0.0-beta.4 → 2.0.0-beta.5

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 (86) hide show
  1. package/README.md +214 -68
  2. package/dist/cjs/codama/devnet/constants.js +32 -0
  3. package/dist/cjs/codama/devnet/constants.js.map +1 -0
  4. package/dist/cjs/codama/mainnet/constants.js +32 -0
  5. package/dist/cjs/codama/mainnet/constants.js.map +1 -0
  6. package/dist/cjs/contract/close.js +51 -19
  7. package/dist/cjs/contract/close.js.map +1 -1
  8. package/dist/cjs/contract/create.js +31 -19
  9. package/dist/cjs/contract/create.js.map +1 -1
  10. package/dist/cjs/index.js +0 -2
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/rental/accept.js +46 -33
  13. package/dist/cjs/rental/accept.js.map +1 -1
  14. package/dist/cjs/rental/cancel.js +30 -24
  15. package/dist/cjs/rental/cancel.js.map +1 -1
  16. package/dist/cjs/rental/close.js +31 -25
  17. package/dist/cjs/rental/close.js.map +1 -1
  18. package/dist/cjs/rental/reset.js +40 -38
  19. package/dist/cjs/rental/reset.js.map +1 -1
  20. package/dist/cjs/utils/config.js +204 -0
  21. package/dist/cjs/utils/config.js.map +1 -0
  22. package/dist/cjs/utils/constants.js +66 -13
  23. package/dist/cjs/utils/constants.js.map +1 -1
  24. package/dist/cjs/utils/index.js +1 -0
  25. package/dist/cjs/utils/index.js.map +1 -1
  26. package/dist/cjs/utils/profiles.js +38 -18
  27. package/dist/cjs/utils/profiles.js.map +1 -1
  28. package/dist/esm/codama/devnet/constants.js +29 -0
  29. package/dist/esm/codama/devnet/constants.js.map +1 -0
  30. package/dist/esm/codama/mainnet/constants.js +29 -0
  31. package/dist/esm/codama/mainnet/constants.js.map +1 -0
  32. package/dist/esm/contract/close.js +52 -20
  33. package/dist/esm/contract/close.js.map +1 -1
  34. package/dist/esm/contract/create.js +31 -19
  35. package/dist/esm/contract/create.js.map +1 -1
  36. package/dist/esm/index.js +0 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/rental/accept.js +47 -34
  39. package/dist/esm/rental/accept.js.map +1 -1
  40. package/dist/esm/rental/cancel.js +30 -24
  41. package/dist/esm/rental/cancel.js.map +1 -1
  42. package/dist/esm/rental/close.js +31 -25
  43. package/dist/esm/rental/close.js.map +1 -1
  44. package/dist/esm/rental/reset.js +41 -39
  45. package/dist/esm/rental/reset.js.map +1 -1
  46. package/dist/esm/utils/config.js +161 -0
  47. package/dist/esm/utils/config.js.map +1 -0
  48. package/dist/esm/utils/constants.js +60 -10
  49. package/dist/esm/utils/constants.js.map +1 -1
  50. package/dist/esm/utils/index.js +1 -0
  51. package/dist/esm/utils/index.js.map +1 -1
  52. package/dist/esm/utils/profiles.js +39 -19
  53. package/dist/esm/utils/profiles.js.map +1 -1
  54. package/dist/types/codama/devnet/constants.d.ts +33 -0
  55. package/dist/types/codama/devnet/constants.d.ts.map +1 -0
  56. package/dist/types/codama/mainnet/constants.d.ts +33 -0
  57. package/dist/types/codama/mainnet/constants.d.ts.map +1 -0
  58. package/dist/types/contract/close.d.ts +20 -5
  59. package/dist/types/contract/close.d.ts.map +1 -1
  60. package/dist/types/contract/create.d.ts +23 -13
  61. package/dist/types/contract/create.d.ts.map +1 -1
  62. package/dist/types/index.d.ts +0 -1
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/rental/accept.d.ts +35 -6
  65. package/dist/types/rental/accept.d.ts.map +1 -1
  66. package/dist/types/rental/cancel.d.ts +27 -3
  67. package/dist/types/rental/cancel.d.ts.map +1 -1
  68. package/dist/types/rental/close.d.ts +28 -3
  69. package/dist/types/rental/close.d.ts.map +1 -1
  70. package/dist/types/rental/reset.d.ts +32 -4
  71. package/dist/types/rental/reset.d.ts.map +1 -1
  72. package/dist/types/utils/config.d.ts +112 -0
  73. package/dist/types/utils/config.d.ts.map +1 -0
  74. package/dist/types/utils/constants.d.ts +9 -7
  75. package/dist/types/utils/constants.d.ts.map +1 -1
  76. package/dist/types/utils/index.d.ts +1 -0
  77. package/dist/types/utils/index.d.ts.map +1 -1
  78. package/dist/types/utils/profiles.d.ts +14 -8
  79. package/dist/types/utils/profiles.d.ts.map +1 -1
  80. package/package.json +4 -2
  81. package/dist/cjs/network.js +0 -107
  82. package/dist/cjs/network.js.map +0 -1
  83. package/dist/esm/network.js +0 -67
  84. package/dist/esm/network.js.map +0 -1
  85. package/dist/types/network.d.ts +0 -58
  86. package/dist/types/network.d.ts.map +0 -1
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * Network configuration for the SRSLY SDK
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.setConfig = setConfig;
40
+ exports.getConfig = getConfig;
41
+ exports.clearConfig = clearConfig;
42
+ exports.setNetwork = setNetwork;
43
+ exports.getNetwork = getNetwork;
44
+ exports.importNetworkModule = importNetworkModule;
45
+ exports.getCachedNetworkModule = getCachedNetworkModule;
46
+ exports.createConfigSelector = createConfigSelector;
47
+ // Default network when none is specified
48
+ const DEFAULT_NETWORK = 'devnet';
49
+ // Global configuration state
50
+ let globalConfig = {};
51
+ /**
52
+ * Set global configuration options that will be used as defaults for all SDK operations
53
+ * @param config Configuration options to set globally
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Set mainnet as default for all operations
58
+ * setConfig({ network: 'mainnet' });
59
+ *
60
+ * // Now all operations use mainnet by default
61
+ * await createContract(params); // Uses mainnet
62
+ * await acceptRental(params); // Uses mainnet
63
+ *
64
+ * // Can still override per instruction
65
+ * await createContract(params).set({ network: 'devnet' }); // Uses devnet
66
+ * ```
67
+ */
68
+ function setConfig(config) {
69
+ globalConfig = { ...config };
70
+ }
71
+ /**
72
+ * Get the current global configuration
73
+ * @returns Current global configuration options
74
+ */
75
+ function getConfig() {
76
+ return { ...globalConfig };
77
+ }
78
+ /**
79
+ * Clear global configuration (resets to devnet defaults)
80
+ */
81
+ function clearConfig() {
82
+ globalConfig = {};
83
+ }
84
+ /**
85
+ * Set global network (convenience function for backward compatibility)
86
+ * @param network Network to set as global default
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // Set mainnet as default for all operations
91
+ * setNetwork('mainnet');
92
+ *
93
+ * // Equivalent to:
94
+ * setConfig({ network: 'mainnet' });
95
+ * ```
96
+ */
97
+ function setNetwork(network) {
98
+ setConfig({ network });
99
+ }
100
+ /**
101
+ * Get current global network (convenience function for backward compatibility)
102
+ * @returns Current global network or 'devnet' if not set
103
+ */
104
+ function getNetwork() {
105
+ return globalConfig.network || 'devnet';
106
+ }
107
+ /**
108
+ * Get the effective configuration by merging global config with provided overrides
109
+ * @param overrides Optional configuration overrides
110
+ * @returns Merged configuration with global defaults and any overrides
111
+ */
112
+ function getEffectiveConfig(overrides) {
113
+ return { ...globalConfig, ...overrides };
114
+ }
115
+ /**
116
+ * Dynamically import network-specific codama modules
117
+ * @param modulePath The module path relative to the network directory
118
+ * @param network Network to use (defaults to devnet if not specified)
119
+ * @returns Promise resolving to the imported module
120
+ */
121
+ async function importNetworkModule(modulePath, network) {
122
+ const targetNetwork = network || DEFAULT_NETWORK;
123
+ const fullPath = `./codama/${targetNetwork}/${modulePath}`;
124
+ try {
125
+ // Use dynamic import which works in both ESM and CJS with ES2020+
126
+ const module = await Promise.resolve(`${fullPath}`).then(s => __importStar(require(s)));
127
+ return module;
128
+ }
129
+ catch (error) {
130
+ throw new Error(`Failed to import ${fullPath} for network ${targetNetwork}: ${error}`);
131
+ }
132
+ }
133
+ const moduleCache = {};
134
+ /**
135
+ * Cached import for better performance
136
+ * Uses global config network as default if no network specified
137
+ */
138
+ async function getCachedNetworkModule(modulePath, network) {
139
+ const targetNetwork = network || globalConfig.network || DEFAULT_NETWORK;
140
+ const cacheKey = `${targetNetwork}:${modulePath}`;
141
+ if (moduleCache[cacheKey]) {
142
+ return moduleCache[cacheKey];
143
+ }
144
+ const module = await importNetworkModule(modulePath, targetNetwork);
145
+ moduleCache[cacheKey] = module;
146
+ return module;
147
+ }
148
+ /**
149
+ * Create a chainable config selector with existing configuration state.
150
+ * This enables config chaining by merging new options with existing ones.
151
+ *
152
+ * Used internally when .set() is called on an existing ConfigSelector.
153
+ *
154
+ * @param executeFn - The function to execute with merged configuration
155
+ * @param existingConfig - The current configuration state to merge with
156
+ * @returns A ConfigSelector that can chain additional .set() calls
157
+ *
158
+ * @example
159
+ * // This creates a chainable selector that merges { network: 'devnet' }
160
+ * // with any additional config options passed to subsequent .set() calls
161
+ * createChainableConfigSelector(executeFn, { network: 'devnet' })
162
+ */
163
+ function createChainableConfigSelector(executeFn, existingConfig) {
164
+ const selector = {
165
+ set: (additionalOptions) => createChainableConfigSelector(executeFn, { ...existingConfig, ...additionalOptions }),
166
+ build: () => executeFn(existingConfig),
167
+ // Implement PromiseLike to allow direct awaiting
168
+ then(onfulfilled, onrejected) {
169
+ return executeFn(existingConfig).then(onfulfilled, onrejected);
170
+ }
171
+ };
172
+ return selector;
173
+ }
174
+ /**
175
+ * Create the initial fluent config selector for a function.
176
+ * This is the main entry point for the fluent configuration API.
177
+ *
178
+ * The returned selector can be:
179
+ * - Awaited directly (uses global config + devnet fallback)
180
+ * - Configured with .set() to override network/constants
181
+ * - Chained with multiple .set() calls
182
+ *
183
+ * @param executeFn - The function to execute with optional configuration
184
+ * @returns A ConfigSelector that supports fluent configuration
185
+ *
186
+ * @example
187
+ * // Usage patterns:
188
+ * setConfig({ network: 'mainnet' });
189
+ * await createConfigSelector(executeFn) // Direct await (uses global mainnet)
190
+ * await createConfigSelector(executeFn).set({...}) // Override global config
191
+ * await createConfigSelector(executeFn).set({...}).set({...}) // Chained configs
192
+ */
193
+ function createConfigSelector(executeFn) {
194
+ const selector = {
195
+ set: (options) => createChainableConfigSelector(executeFn, getEffectiveConfig(options)),
196
+ build: () => executeFn(getEffectiveConfig()),
197
+ // Implement PromiseLike to allow direct awaiting
198
+ then(onfulfilled, onrejected) {
199
+ return executeFn(getEffectiveConfig()).then(onfulfilled, onrejected);
200
+ }
201
+ };
202
+ return selector;
203
+ }
204
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,86 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FACTION_MAPPING = exports.FACTION_SPECIFIC_CSS = exports.PROFILE_FACTION_SEED = exports.SAGE_PLAYER_PROFILE_SEED = exports.STARBASE_PLAYER_SEED = exports.STARBASE_SEED = exports.DEFAULT_GAME_ID = exports.PROFILE_FACTION_PROGRAM_ADDRESS = exports.SAGE_PROGRAM_ADDRESS = void 0;
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.getPaymentFrequency = getPaymentFrequency;
5
5
  exports.getSrslyProgramAddress = getSrslyProgramAddress;
6
6
  exports.getProgramId = getProgramId;
7
+ exports.getSageProgramAddress = getSageProgramAddress;
8
+ exports.getProfileFactionProgramAddress = getProfileFactionProgramAddress;
9
+ exports.getSageGameId = getSageGameId;
7
10
  exports.paymentFrequencyToString = paymentFrequencyToString;
8
- const network_1 = require("../network");
11
+ const config_1 = require("./config");
12
+ // Seed constants
13
+ exports.STARBASE_SEED = 'Starbase';
14
+ exports.STARBASE_PLAYER_SEED = 'starbase_player';
15
+ exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
16
+ exports.PROFILE_FACTION_SEED = 'profile_faction';
17
+ // Token conversion constants
18
+ exports.ATLAS_TO_STARDUST = 100_000_000; // 1 ATLAS = 100,000,000 stardust
9
19
  // Export async functions to get network-specific constants
10
20
  async function getPaymentFrequency() {
11
- const module = await (0, network_1.getCachedNetworkModule)('types');
21
+ const module = await (0, config_1.getCachedNetworkModule)('types');
12
22
  return module.PaymentFrequency;
13
23
  }
14
24
  async function getSrslyProgramAddress() {
15
- const module = await (0, network_1.getCachedNetworkModule)('programs');
25
+ const module = await (0, config_1.getCachedNetworkModule)('programs');
16
26
  return module.SRSLY_PROGRAM_ADDRESS;
17
27
  }
18
28
  // Export async function to get program ID
19
29
  async function getProgramId() {
20
30
  return await getSrslyProgramAddress();
21
31
  }
22
- // Constants for program IDs
23
- exports.SAGE_PROGRAM_ADDRESS = 'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
24
- exports.PROFILE_FACTION_PROGRAM_ADDRESS = 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq';
25
- exports.DEFAULT_GAME_ID = 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr';
26
- // Seed constants
27
- exports.STARBASE_SEED = 'Starbase';
28
- exports.STARBASE_PLAYER_SEED = 'starbase_player';
29
- exports.SAGE_PLAYER_PROFILE_SEED = 'sage_player_profile';
30
- exports.PROFILE_FACTION_SEED = 'profile_faction';
32
+ // Network-specific constants with configuration support
33
+ async function getSageProgramAddress(config) {
34
+ // Merge global config with provided config
35
+ const globalConfig = (0, config_1.getConfig)();
36
+ const effectiveConfig = { ...globalConfig, ...config };
37
+ if (effectiveConfig?.sageProgramAddress)
38
+ return effectiveConfig.sageProgramAddress;
39
+ const targetNetwork = effectiveConfig?.network; // Uses global config or devnet default
40
+ try {
41
+ const constantsModule = await (0, config_1.getCachedNetworkModule)('constants', targetNetwork);
42
+ return constantsModule.SAGE_PROGRAM_ADDRESS;
43
+ }
44
+ catch {
45
+ // Fallback to programs module or hardcoded default
46
+ const programsModule = await (0, config_1.getCachedNetworkModule)('programs', targetNetwork);
47
+ return programsModule.SAGE_PROGRAM_ADDRESS || 'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
48
+ }
49
+ }
50
+ async function getProfileFactionProgramAddress(config) {
51
+ // Merge global config with provided config
52
+ const globalConfig = (0, config_1.getConfig)();
53
+ const effectiveConfig = { ...globalConfig, ...config };
54
+ if (effectiveConfig?.profileFactionProgramAddress)
55
+ return effectiveConfig.profileFactionProgramAddress;
56
+ const targetNetwork = effectiveConfig?.network; // Uses global config or devnet default
57
+ try {
58
+ const constantsModule = await (0, config_1.getCachedNetworkModule)('constants', targetNetwork);
59
+ return constantsModule.PROFILE_FACTION_PROGRAM_ADDRESS;
60
+ }
61
+ catch {
62
+ // Fallback to programs module or hardcoded default
63
+ const programsModule = await (0, config_1.getCachedNetworkModule)('programs', targetNetwork);
64
+ return programsModule.PROFILE_FACTION_PROGRAM_ADDRESS || 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq';
65
+ }
66
+ }
67
+ async function getSageGameId(config) {
68
+ // Merge global config with provided config
69
+ const globalConfig = (0, config_1.getConfig)();
70
+ const effectiveConfig = { ...globalConfig, ...config };
71
+ if (effectiveConfig?.gameId)
72
+ return effectiveConfig.gameId;
73
+ const targetNetwork = effectiveConfig?.network; // Uses global config or devnet default
74
+ try {
75
+ const constantsModule = await (0, config_1.getCachedNetworkModule)('constants', targetNetwork);
76
+ return constantsModule.SAGE_GAME_ID;
77
+ }
78
+ catch {
79
+ // Fallback to programs module or hardcoded default
80
+ const programsModule = await (0, config_1.getCachedNetworkModule)('programs', targetNetwork);
81
+ return programsModule.SAGE_GAME_ID || 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr';
82
+ }
83
+ }
31
84
  // Faction-specific CSS coordinates for starbase derivation
32
85
  exports.FACTION_SPECIFIC_CSS = {
33
86
  mud: { x: 0, y: -39 },
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;AAGA,kDAGC;AAED,wDAGC;AAID,oCAEC;AA6BD,4DAGC;AAjDD,wCAAoD;AAEpD,2DAA2D;AACpD,KAAK,UAAU,mBAAmB;IACvC,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,gBAAgB,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,sBAAsB;IAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAsB,EAAC,UAAU,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,qBAAqB,CAAC;AACtC,CAAC;AAGD,0CAA0C;AACnC,KAAK,UAAU,YAAY;IAChC,OAAO,MAAM,sBAAsB,EAAE,CAAC;AACxC,CAAC;AAED,4BAA4B;AACf,QAAA,oBAAoB,GAAG,6CAA6C,CAAC;AACrE,QAAA,+BAA+B,GAAG,6CAA6C,CAAC;AAChF,QAAA,eAAe,GAAG,8CAA8C,CAAC;AAE9E,iBAAiB;AACJ,QAAA,aAAa,GAAG,UAAU,CAAC;AAC3B,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,wBAAwB,GAAG,qBAAqB,CAAC;AACjD,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,2DAA2D;AAC9C,QAAA,oBAAoB,GAA6C;IAC5E,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IACrB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;IACtB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;CACxB,CAAC;AAEW,QAAA,eAAe,GAA2B;IACrD,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;CACX,CAAC;AAEF;;GAEG;AACI,KAAK,UAAU,wBAAwB,CAAC,IAAS;IACtD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACrD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./profiles"), exports);
19
+ __exportStar(require("./config"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAC3B,2CAAyB"}
@@ -7,6 +7,7 @@ exports.deriveStarbasePlayer = deriveStarbasePlayer;
7
7
  exports.deriveGameAccounts = deriveGameAccounts;
8
8
  const kit_1 = require("@solana/kit");
9
9
  const constants_1 = require("./constants");
10
+ const constants_2 = require("./constants");
10
11
  /**
11
12
  * Helper function to convert a string seed to a Uint8Array
12
13
  * This is necessary for @solana/kit's getBytesEncoder().encode()
@@ -21,11 +22,13 @@ function seedToBytes(seed) {
21
22
  * Helper function to derive the borrower's profile faction account
22
23
  *
23
24
  * @param profile The borrower's profile address
25
+ * @param config Optional configuration for network-specific constants
24
26
  * @returns Promise that resolves to the derived profile faction address
25
27
  */
26
- async function deriveProfileFaction(profile) {
28
+ async function deriveProfileFaction(profile, config) {
29
+ const programAddress = await (0, constants_2.getProfileFactionProgramAddress)(config);
27
30
  const [address] = await (0, kit_1.getProgramDerivedAddress)({
28
- programAddress: constants_1.PROFILE_FACTION_PROGRAM_ADDRESS,
31
+ programAddress: programAddress,
29
32
  seeds: [
30
33
  seedToBytes(constants_1.PROFILE_FACTION_SEED),
31
34
  (0, kit_1.getAddressEncoder)().encode(profile)
@@ -37,16 +40,21 @@ async function deriveProfileFaction(profile) {
37
40
  * Helper function to derive the sage player profile
38
41
  *
39
42
  * @param borrowerProfile The borrower's profile address
40
- * @param gameId The game ID (defaults to the standard game ID)
43
+ * @param gameId The game ID (if not provided, uses network-specific default)
44
+ * @param config Optional configuration for network-specific constants
41
45
  * @returns Promise that resolves to the derived sage player profile address
42
46
  */
43
- async function deriveSagePlayerProfile(borrowerProfile, gameId = constants_1.DEFAULT_GAME_ID) {
47
+ async function deriveSagePlayerProfile(borrowerProfile, gameId, config) {
48
+ const [programAddress, actualGameId] = await Promise.all([
49
+ (0, constants_2.getSageProgramAddress)(config),
50
+ gameId || (0, constants_2.getSageGameId)(config)
51
+ ]);
44
52
  const [address] = await (0, kit_1.getProgramDerivedAddress)({
45
- programAddress: constants_1.SAGE_PROGRAM_ADDRESS,
53
+ programAddress: programAddress,
46
54
  seeds: [
47
55
  seedToBytes(constants_1.SAGE_PLAYER_PROFILE_SEED),
48
56
  (0, kit_1.getAddressEncoder)().encode(borrowerProfile),
49
- (0, kit_1.getAddressEncoder)().encode(gameId)
57
+ (0, kit_1.getAddressEncoder)().encode(actualGameId)
50
58
  ]
51
59
  });
52
60
  return address;
@@ -55,10 +63,11 @@ async function deriveSagePlayerProfile(borrowerProfile, gameId = constants_1.DEF
55
63
  * Helper function to derive the starbase address based on faction
56
64
  *
57
65
  * @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
58
- * @param gameId The game ID (defaults to the standard game ID)
66
+ * @param gameId The game ID (if not provided, uses network-specific default)
67
+ * @param config Optional configuration for network-specific constants
59
68
  * @returns Promise that resolves to the derived starbase address
60
69
  */
61
- async function deriveStarbase(faction, gameId = constants_1.DEFAULT_GAME_ID) {
70
+ async function deriveStarbase(faction, gameId, config) {
62
71
  // Convert faction to string representation if it's a number
63
72
  const factionName = typeof faction === 'number'
64
73
  ? constants_1.FACTION_MAPPING[faction]
@@ -69,6 +78,11 @@ async function deriveStarbase(faction, gameId = constants_1.DEFAULT_GAME_ID) {
69
78
  }
70
79
  // Get coordinates for the faction
71
80
  const coords = constants_1.FACTION_SPECIFIC_CSS[factionName];
81
+ // Get network-specific constants
82
+ const [programAddress, actualGameId] = await Promise.all([
83
+ (0, constants_2.getSageProgramAddress)(config),
84
+ gameId || (0, constants_2.getSageGameId)(config)
85
+ ]);
72
86
  // Convert coordinates to bytes (little-endian, two's complement)
73
87
  const xCoord = new DataView(new ArrayBuffer(8));
74
88
  const yCoord = new DataView(new ArrayBuffer(8));
@@ -78,10 +92,10 @@ async function deriveStarbase(faction, gameId = constants_1.DEFAULT_GAME_ID) {
78
92
  const xBytes = new Uint8Array(xCoord.buffer);
79
93
  const yBytes = new Uint8Array(yCoord.buffer);
80
94
  const [address] = await (0, kit_1.getProgramDerivedAddress)({
81
- programAddress: constants_1.SAGE_PROGRAM_ADDRESS,
95
+ programAddress: programAddress,
82
96
  seeds: [
83
97
  seedToBytes(constants_1.STARBASE_SEED),
84
- (0, kit_1.getAddressEncoder)().encode(gameId),
98
+ (0, kit_1.getAddressEncoder)().encode(actualGameId),
85
99
  (0, kit_1.getBytesEncoder)().encode(xBytes),
86
100
  (0, kit_1.getBytesEncoder)().encode(yBytes)
87
101
  ]
@@ -94,15 +108,18 @@ async function deriveStarbase(faction, gameId = constants_1.DEFAULT_GAME_ID) {
94
108
  * @param sagePlayerProfile The sage player profile address
95
109
  * @param starbase The starbase address
96
110
  * @param starbaseSeqId The starbase sequence ID (defaults to 0)
111
+ * @param config Optional configuration for network-specific constants
97
112
  * @returns Promise that resolves to the derived starbase player address
98
113
  */
99
- async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0) {
114
+ async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId = 0, config) {
115
+ // Get network-specific SAGE program address
116
+ const programAddress = await (0, constants_2.getSageProgramAddress)(config);
100
117
  // Convert sequence ID to bytes (little-endian uint16)
101
118
  const seqIdView = new DataView(new ArrayBuffer(2));
102
119
  seqIdView.setUint16(0, starbaseSeqId, true);
103
120
  const seqIdBytes = new Uint8Array(seqIdView.buffer);
104
121
  const [address] = await (0, kit_1.getProgramDerivedAddress)({
105
- programAddress: constants_1.SAGE_PROGRAM_ADDRESS,
122
+ programAddress: programAddress,
106
123
  seeds: [
107
124
  seedToBytes(constants_1.STARBASE_PLAYER_SEED),
108
125
  (0, kit_1.getAddressEncoder)().encode(starbase),
@@ -117,19 +134,22 @@ async function deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId =
117
134
  *
118
135
  * @param profile The borrower's profile address
119
136
  * @param faction The faction (1/2/3 or 'mud'/'oni'/'ustur')
120
- * @param gameId The game ID (defaults to the standard game ID)
137
+ * @param gameId The game ID (if not provided, uses network-specific default)
121
138
  * @param starbaseSeqId The starbase sequence ID (defaults to 0)
139
+ * @param config Optional configuration for network-specific constants
122
140
  * @returns Promise that resolves to the three derived addresses
123
141
  */
124
- async function deriveGameAccounts(profile, faction, gameId = constants_1.DEFAULT_GAME_ID, starbaseSeqId = 0) {
142
+ async function deriveGameAccounts(profile, faction, gameId, starbaseSeqId = 0, config) {
143
+ // Get the actual game ID to use
144
+ const actualGameId = gameId || await (0, constants_2.getSageGameId)(config);
125
145
  // Derive the three accounts in parallel
126
146
  const [profileFaction, sagePlayerProfile, starbase] = await Promise.all([
127
- deriveProfileFaction(profile),
128
- deriveSagePlayerProfile(profile, gameId),
129
- deriveStarbase(faction, gameId)
147
+ deriveProfileFaction(profile, config),
148
+ deriveSagePlayerProfile(profile, actualGameId, config),
149
+ deriveStarbase(faction, actualGameId, config)
130
150
  ]);
131
151
  // Derive starbasePlayer using the results from above
132
- const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId);
152
+ const starbasePlayer = await deriveStarbasePlayer(sagePlayerProfile, starbase, starbaseSeqId, config);
133
153
  return {
134
154
  profileFaction,
135
155
  starbase,
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/utils/profiles.ts"],"names":[],"mappings":";;AAyBA,oDAWC;AASD,0DAaC;AASD,wCAsCC;AAUD,oDAoBC;AAWD,gDAiCC;AAnLD,qCAKqB;AACrB,2CAAiO;AAEjO;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAwB;IAExB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC/C,cAAc,EAAE,2CAAkD;QAClE,KAAK,EAAE;YACL,WAAW,CAAC,gCAAoB,CAAC;YACjC,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SACpC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,uBAAuB,CAC3C,eAAgC,EAChC,SAA0B,2BAAkC;IAE5D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC/C,cAAc,EAAE,gCAAuC;QACvD,KAAK,EAAE;YACL,WAAW,CAAC,oCAAwB,CAAC;YACrC,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,eAAe,CAAC;YAC3C,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC;SACnC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAClC,OAAwB,EACxB,SAA0B,2BAAkC;IAE5D,4DAA4D;IAC5D,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ;QAC7C,CAAC,CAAC,2BAAe,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,OAAO,CAAC;IAEZ,mBAAmB;IACnB,IAAI,CAAC,WAAW,IAAI,CAAC,gCAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,kCAAkC;IAClC,MAAM,MAAM,GAAG,gCAAoB,CAAC,WAAW,CAAC,CAAC;IAEjD,iEAAiE;IACjE,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAE9C,kCAAkC;IAClC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC/C,cAAc,EAAE,gCAAuC;QACvD,KAAK,EAAE;YACL,WAAW,CAAC,yBAAa,CAAC;YAC1B,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,IAAA,qBAAe,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,IAAA,qBAAe,GAAE,CAAC,MAAM,CAAC,MAAM,CAAC;SACjC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CACxC,iBAAkC,EAClC,QAAyB,EACzB,gBAAwB,CAAC;IAEzB,sDAAsD;IACtD,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,8BAAwB,EAAC;QAC/C,cAAc,EAAE,gCAAuC;QACvD,KAAK,EAAE;YACL,WAAW,CAAC,gCAAoB,CAAC;YACjC,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAA,uBAAiB,GAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC7C,IAAA,qBAAe,GAAE,CAAC,MAAM,CAAC,UAAU,CAAC;SACrC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAwB,EACxB,OAAwB,EACxB,SAA0B,2BAAkC,EAC5D,gBAAwB,CAAC;IAMzB,wCAAwC;IACxC,MAAM,CACJ,cAAc,EACd,iBAAiB,EACjB,QAAQ,CACT,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,oBAAoB,CAAC,OAAO,CAAC;QAC7B,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC;QACxC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAC/C,iBAAiB,EACjB,QAAQ,EACR,aAAa,CACd,CAAC;IAEF,OAAO;QACL,cAAc;QACd,QAAQ;QACR,cAAc;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../../src/utils/profiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Network-specific constants for devnet
3
+ *
4
+ * This file is auto-generated from network-configs.mjs
5
+ * DO NOT EDIT MANUALLY - your changes will be overwritten
6
+ *
7
+ * To update these constants:
8
+ * 1. Edit network-configs.mjs
9
+ * 2. Run `pnpm build` to regenerate
10
+ *
11
+ * Generated on: 2025-06-21T19:10:08.579Z
12
+ */
13
+ export const SAGE_PROGRAM_ADDRESS = 'sAgeDEVzwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
14
+ export const PROFILE_FACTION_PROGRAM_ADDRESS = 'pFACDEVobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq';
15
+ export const SAGE_GAME_ID = 'GAMEDEVJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr';
16
+ export const SRSLY_PROGRAM_ADDRESS = 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
17
+ export const ATLAS_TOKEN_MINT = 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx';
18
+ /**
19
+ * Complete network configuration object
20
+ * Useful for runtime access to all constants
21
+ */
22
+ export const NETWORK_CONFIG = {
23
+ SAGE_PROGRAM_ADDRESS: 'sAgeDEVzwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi',
24
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACDEVobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq',
25
+ SAGE_GAME_ID: 'GAMEDEVJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr',
26
+ SRSLY_PROGRAM_ADDRESS: 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT',
27
+ ATLAS_TOKEN_MINT: 'ATLA5nAaVRfH6BNwD4SAyWp96EdQaAh6bBmGeTx956sx',
28
+ };
29
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codama/devnet/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gDAAgD,CAAC;AACrF,MAAM,CAAC,MAAM,+BAA+B,GAAG,6CAA6C,CAAC;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,+CAA+C,CAAC;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oBAAoB,EAAE,gDAAgD;IACtE,+BAA+B,EAAE,6CAA6C;IAC9E,YAAY,EAAE,+CAA+C;IAC7D,qBAAqB,EAAE,6CAA6C;IACpE,gBAAgB,EAAE,8CAA8C;CACxD,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Network-specific constants for mainnet
3
+ *
4
+ * This file is auto-generated from network-configs.mjs
5
+ * DO NOT EDIT MANUALLY - your changes will be overwritten
6
+ *
7
+ * To update these constants:
8
+ * 1. Edit network-configs.mjs
9
+ * 2. Run `pnpm build` to regenerate
10
+ *
11
+ * Generated on: 2025-06-21T19:10:03.037Z
12
+ */
13
+ export const SAGE_PROGRAM_ADDRESS = 'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi';
14
+ export const PROFILE_FACTION_PROGRAM_ADDRESS = 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq';
15
+ export const SAGE_GAME_ID = 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr';
16
+ export const SRSLY_PROGRAM_ADDRESS = 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT';
17
+ export const ATLAS_TOKEN_MINT = 'ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx';
18
+ /**
19
+ * Complete network configuration object
20
+ * Useful for runtime access to all constants
21
+ */
22
+ export const NETWORK_CONFIG = {
23
+ SAGE_PROGRAM_ADDRESS: 'sAgezwJpDb1aHvzNr3o24cKjsETmFEKghBEyJ1askDi',
24
+ PROFILE_FACTION_PROGRAM_ADDRESS: 'pFACSRuobDmvfMKq1bAzwj27t6d2GJhSCHb1VcfnRmq',
25
+ SAGE_GAME_ID: 'GAMEzqJehF8yAnKiTARUuhZMvLvkZVAsCVri5vSfemLr',
26
+ SRSLY_PROGRAM_ADDRESS: 'SRSLY1fq9TJqCk1gNSE7VZL2bztvTn9wm4VR8u8jMKT',
27
+ ATLAS_TOKEN_MINT: 'ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx',
28
+ };
29
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/codama/mainnet/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,6CAA6C,CAAC;AAClF,MAAM,CAAC,MAAM,+BAA+B,GAAG,6CAA6C,CAAC;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,8CAA8C,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oBAAoB,EAAE,6CAA6C;IACnE,+BAA+B,EAAE,6CAA6C;IAC9E,YAAY,EAAE,8CAA8C;IAC5D,qBAAqB,EAAE,6CAA6C;IACpE,gBAAgB,EAAE,8CAA8C;CACxD,CAAC"}