@no-witness-labs/midday-sdk 0.2.1 → 0.2.3

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/dist/Client.js CHANGED
@@ -34,7 +34,7 @@ import * as Config from './Config.js';
34
34
  import * as Wallet from './Wallet.js';
35
35
  import * as Providers from './Providers.js';
36
36
  import { createWalletProviders } from './wallet/provider.js';
37
- import { runEffectPromise } from './utils/effect-runtime.js';
37
+ import { runEffectWithLogging } from './utils/effect-runtime.js';
38
38
  // =============================================================================
39
39
  // Errors
40
40
  // =============================================================================
@@ -55,31 +55,11 @@ export class ClientError extends Data.TaggedError('ClientError') {
55
55
  export class ContractError extends Data.TaggedError('ContractError') {
56
56
  }
57
57
  // =============================================================================
58
- // Logger Factory
59
- // =============================================================================
60
- function createLogger(enabled) {
61
- if (!enabled) {
62
- return {
63
- info: () => { },
64
- warn: () => { },
65
- error: () => { },
66
- debug: () => { },
67
- };
68
- }
69
- return {
70
- info: (message) => console.log(`[INFO] ${message}`),
71
- warn: (message) => console.warn(`[WARN] ${message}`),
72
- error: (message) => console.error(`[ERROR] ${message}`),
73
- debug: (message) => console.debug(`[DEBUG] ${message}`),
74
- };
75
- }
76
- // =============================================================================
77
58
  // Client - Internal Effect Implementations
78
59
  // =============================================================================
79
60
  function createEffect(config) {
80
61
  return Effect.gen(function* () {
81
62
  const { network = 'local', networkConfig: customNetworkConfig, seed, zkConfigProvider, privateStateProvider, storage, logging = true, } = config;
82
- const logger = createLogger(logging);
83
63
  // Resolve network configuration
84
64
  const networkConfig = customNetworkConfig ?? Config.getNetworkConfig(network);
85
65
  // Resolve seed (use dev wallet only for local network)
@@ -91,7 +71,7 @@ function createEffect(config) {
91
71
  }));
92
72
  }
93
73
  // Initialize wallet
94
- logger.info('Initializing wallet...');
74
+ yield* Effect.logDebug('Initializing wallet...');
95
75
  const walletContext = yield* Wallet.effect.init(walletSeed, networkConfig).pipe(Effect.mapError((e) => new ClientError({
96
76
  cause: e,
97
77
  message: `Failed to initialize wallet: ${e.message}`,
@@ -100,7 +80,7 @@ function createEffect(config) {
100
80
  cause: e,
101
81
  message: `Failed to sync wallet: ${e.message}`,
102
82
  })));
103
- logger.info('Wallet synced');
83
+ yield* Effect.logDebug('Wallet synced');
104
84
  const providerOptions = {
105
85
  networkConfig,
106
86
  zkConfigProvider,
@@ -111,46 +91,42 @@ function createEffect(config) {
111
91
  return {
112
92
  wallet: walletContext,
113
93
  networkConfig,
114
- logger,
115
94
  providers,
95
+ logging,
116
96
  };
117
97
  });
118
98
  }
119
99
  function fromWalletEffect(connection, config) {
120
- return Effect.try({
121
- try: () => {
122
- const { zkConfigProvider, privateStateProvider, logging = true } = config;
123
- const logger = createLogger(logging);
124
- // Create network config from wallet configuration
125
- const networkConfig = {
126
- networkId: connection.config.networkId,
127
- indexer: connection.config.indexerUri,
128
- indexerWS: connection.config.indexerWsUri,
129
- node: connection.config.substrateNodeUri,
130
- proofServer: connection.config.proverServerUri ?? '',
131
- };
132
- // Create wallet providers from connection
133
- const { walletProvider, midnightProvider } = createWalletProviders(connection.wallet, connection.addresses);
134
- const providerOptions = {
135
- networkConfig,
136
- zkConfigProvider,
137
- privateStateProvider,
138
- };
139
- // Create providers using the wallet providers
140
- const providers = Providers.createFromWalletProviders(walletProvider, midnightProvider, providerOptions);
141
- logger.info('Connected to wallet');
142
- return {
143
- wallet: null,
144
- networkConfig,
145
- logger,
146
- providers,
147
- };
148
- },
149
- catch: (cause) => new ClientError({
150
- cause,
151
- message: `Failed to create client from wallet: ${cause instanceof Error ? cause.message : String(cause)}`,
152
- }),
153
- });
100
+ return Effect.gen(function* () {
101
+ const { zkConfigProvider, privateStateProvider, logging = true } = config;
102
+ // Create network config from wallet configuration
103
+ const networkConfig = {
104
+ networkId: connection.config.networkId,
105
+ indexer: connection.config.indexerUri,
106
+ indexerWS: connection.config.indexerWsUri,
107
+ node: connection.config.substrateNodeUri,
108
+ proofServer: connection.config.proverServerUri ?? '',
109
+ };
110
+ // Create wallet providers from connection
111
+ const { walletProvider, midnightProvider } = createWalletProviders(connection.wallet, connection.addresses);
112
+ const providerOptions = {
113
+ networkConfig,
114
+ zkConfigProvider,
115
+ privateStateProvider,
116
+ };
117
+ // Create providers using the wallet providers
118
+ const providers = Providers.createFromWalletProviders(walletProvider, midnightProvider, providerOptions);
119
+ yield* Effect.logDebug('Connected to wallet');
120
+ return {
121
+ wallet: null,
122
+ networkConfig,
123
+ providers,
124
+ logging,
125
+ };
126
+ }).pipe(Effect.catchAllDefect((defect) => Effect.fail(new ClientError({
127
+ cause: defect,
128
+ message: `Failed to create client from wallet: ${defect instanceof Error ? defect.message : String(defect)}`,
129
+ }))));
154
130
  }
155
131
  function contractFromEffect(client, options) {
156
132
  return Effect.try({
@@ -167,7 +143,7 @@ function contractFromEffect(client, options) {
167
143
  return {
168
144
  module,
169
145
  providers: client.providers,
170
- logger: client.logger,
146
+ logging: client.logging,
171
147
  };
172
148
  },
173
149
  catch: (cause) => new ClientError({
@@ -212,7 +188,8 @@ function waitForTxEffect(client, txHash) {
212
188
  * @category constructors
213
189
  */
214
190
  export async function create(config) {
215
- return runEffectPromise(createEffect(config));
191
+ const logging = config.logging ?? true;
192
+ return runEffectWithLogging(createEffect(config), logging);
216
193
  }
217
194
  /**
218
195
  * Create a Midnight client from a connected wallet (browser).
@@ -221,7 +198,8 @@ export async function create(config) {
221
198
  * @category constructors
222
199
  */
223
200
  export async function fromWallet(connection, config) {
224
- return runEffectPromise(fromWalletEffect(connection, config));
201
+ const logging = config.logging ?? true;
202
+ return runEffectWithLogging(fromWalletEffect(connection, config), logging);
225
203
  }
226
204
  /**
227
205
  * Load a contract module for a client.
@@ -237,7 +215,7 @@ export async function fromWallet(connection, config) {
237
215
  * @category operations
238
216
  */
239
217
  export async function contractFrom(client, options) {
240
- return runEffectPromise(contractFromEffect(client, options));
218
+ return runEffectWithLogging(contractFromEffect(client, options), client.logging);
241
219
  }
242
220
  /**
243
221
  * Wait for a transaction to be finalized.
@@ -246,7 +224,7 @@ export async function contractFrom(client, options) {
246
224
  * @category operations
247
225
  */
248
226
  export async function waitForTx(client, txHash) {
249
- return runEffectPromise(waitForTxEffect(client, txHash));
227
+ return runEffectWithLogging(waitForTxEffect(client, txHash), client.logging);
250
228
  }
251
229
  /**
252
230
  * Raw Effect APIs for advanced users.
@@ -267,64 +245,68 @@ export const effect = {
267
245
  waitForTx: waitForTxEffect,
268
246
  };
269
247
  function deployEffect(builder, options) {
270
- return Effect.tryPromise({
271
- try: async () => {
272
- const { initialPrivateState = {} } = options ?? {};
273
- const { module, providers, logger } = builder;
274
- logger.info('Deploying contract...');
275
- const ContractClass = module.Contract;
276
- const contract = new ContractClass(module.witnesses);
248
+ return Effect.gen(function* () {
249
+ const { initialPrivateState = {} } = options ?? {};
250
+ const { module, providers, logging } = builder;
251
+ yield* Effect.logDebug('Deploying contract...');
252
+ const ContractClass = module.Contract;
253
+ const contract = new ContractClass(module.witnesses);
254
+ const deployed = yield* Effect.tryPromise({
255
+ try: () =>
277
256
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
278
- const deployed = await deployContract(providers, {
257
+ deployContract(providers, {
279
258
  contract,
280
259
  privateStateId: module.privateStateId,
281
260
  initialPrivateState,
282
- });
283
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
284
- const address = deployed.deployTxData.public.contractAddress;
285
- logger.info(`Contract deployed at: ${address}`);
286
- return {
287
- address,
288
- instance: deployed,
289
- module,
290
- providers,
291
- logger,
292
- };
293
- },
294
- catch: (cause) => new ContractError({
295
- cause,
296
- message: `Failed to deploy contract: ${cause instanceof Error ? cause.message : String(cause)}`,
297
- }),
261
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
262
+ }),
263
+ catch: (cause) => new ContractError({
264
+ cause,
265
+ message: `Failed to deploy contract: ${cause instanceof Error ? cause.message : String(cause)}`,
266
+ }),
267
+ });
268
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
269
+ const address = deployed.deployTxData.public.contractAddress;
270
+ yield* Effect.logDebug(`Contract deployed at: ${address}`);
271
+ return {
272
+ address,
273
+ instance: deployed,
274
+ module,
275
+ providers,
276
+ logging,
277
+ };
298
278
  });
299
279
  }
300
280
  function joinEffect(builder, address, options) {
301
- return Effect.tryPromise({
302
- try: async () => {
303
- const { initialPrivateState = {} } = options ?? {};
304
- const { module, providers, logger } = builder;
305
- logger.info(`Joining contract at ${address}...`);
306
- const ContractClass = module.Contract;
307
- const contract = new ContractClass(module.witnesses);
281
+ return Effect.gen(function* () {
282
+ const { initialPrivateState = {} } = options ?? {};
283
+ const { module, providers, logging } = builder;
284
+ yield* Effect.logDebug(`Joining contract at ${address}...`);
285
+ const ContractClass = module.Contract;
286
+ const contract = new ContractClass(module.witnesses);
287
+ const deployed = yield* Effect.tryPromise({
288
+ try: () =>
308
289
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
309
- const deployed = await findDeployedContract(providers, {
290
+ findDeployedContract(providers, {
310
291
  contractAddress: address,
311
292
  contract,
312
293
  privateStateId: module.privateStateId,
313
294
  initialPrivateState,
314
- });
315
- logger.info('Contract joined');
316
- return {
317
- address,
318
- instance: deployed,
319
- module,
320
- providers,
321
- logger,
322
- };
323
- },
324
- catch: (cause) => new ContractError({
325
- cause,
326
- message: `Failed to join contract at ${address}: ${cause instanceof Error ? cause.message : String(cause)}`,
327
- }),
295
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
296
+ }),
297
+ catch: (cause) => new ContractError({
298
+ cause,
299
+ message: `Failed to join contract at ${address}: ${cause instanceof Error ? cause.message : String(cause)}`,
300
+ }),
301
+ });
302
+ yield* Effect.logDebug('Contract joined');
303
+ return {
304
+ address,
305
+ instance: deployed,
306
+ module,
307
+ providers,
308
+ logging,
309
+ };
328
310
  });
329
311
  }
330
312
  // =============================================================================
@@ -349,7 +331,7 @@ export const ContractBuilder = {
349
331
  * @category lifecycle
350
332
  */
351
333
  deploy: async (builder, options) => {
352
- return runEffectPromise(deployEffect(builder, options));
334
+ return runEffectWithLogging(deployEffect(builder, options), builder.logging);
353
335
  },
354
336
  /**
355
337
  * Join an existing contract.
@@ -363,7 +345,7 @@ export const ContractBuilder = {
363
345
  * @category lifecycle
364
346
  */
365
347
  join: async (builder, address, options) => {
366
- return runEffectPromise(joinEffect(builder, address, options));
348
+ return runEffectWithLogging(joinEffect(builder, address, options), builder.logging);
367
349
  },
368
350
  /**
369
351
  * Raw Effect APIs for ContractBuilder.
@@ -380,29 +362,32 @@ export const ContractBuilder = {
380
362
  // Contract - Internal Effect Implementations
381
363
  // =============================================================================
382
364
  function callEffect(contract, action, ...args) {
383
- return Effect.tryPromise({
384
- try: async () => {
385
- const { instance, logger } = contract;
386
- logger.info(`Calling ${action}()...`);
387
- const deployed = instance;
388
- const callTx = deployed.callTx;
389
- if (!callTx || typeof callTx[action] !== 'function') {
390
- throw new Error(`Unknown action: ${action}. Available: ${Object.keys(callTx || {}).join(', ')}`);
391
- }
392
- const txData = await callTx[action](...args);
393
- logger.info('Transaction submitted');
394
- logger.info(` TX Hash: ${txData.public.txHash}`);
395
- logger.info(` Block: ${txData.public.blockHeight}`);
396
- return {
397
- txHash: txData.public.txHash,
398
- blockHeight: txData.public.blockHeight,
399
- status: txData.public.status,
400
- };
401
- },
402
- catch: (cause) => new ContractError({
403
- cause,
404
- message: `Failed to call ${action}: ${cause instanceof Error ? cause.message : String(cause)}`,
405
- }),
365
+ return Effect.gen(function* () {
366
+ const { instance } = contract;
367
+ yield* Effect.logDebug(`Calling ${action}()...`);
368
+ const deployed = instance;
369
+ const callTx = deployed.callTx;
370
+ if (!callTx || typeof callTx[action] !== 'function') {
371
+ return yield* Effect.fail(new ContractError({
372
+ cause: new Error(`Unknown action: ${action}`),
373
+ message: `Unknown action: ${action}. Available: ${Object.keys(callTx || {}).join(', ')}`,
374
+ }));
375
+ }
376
+ const txData = yield* Effect.tryPromise({
377
+ try: () => callTx[action](...args),
378
+ catch: (cause) => new ContractError({
379
+ cause,
380
+ message: `Failed to call ${action}: ${cause instanceof Error ? cause.message : String(cause)}`,
381
+ }),
382
+ });
383
+ yield* Effect.logDebug('Transaction submitted');
384
+ yield* Effect.logDebug(` TX Hash: ${txData.public.txHash}`);
385
+ yield* Effect.logDebug(` Block: ${txData.public.blockHeight}`);
386
+ return {
387
+ txHash: txData.public.txHash,
388
+ blockHeight: txData.public.blockHeight,
389
+ status: txData.public.status,
390
+ };
406
391
  });
407
392
  }
408
393
  function stateEffect(contract) {
@@ -468,7 +453,7 @@ export const Contract = {
468
453
  * @category operations
469
454
  */
470
455
  call: async (contract, action, ...args) => {
471
- return runEffectPromise(callEffect(contract, action, ...args));
456
+ return runEffectWithLogging(callEffect(contract, action, ...args), contract.logging);
472
457
  },
473
458
  /**
474
459
  * Get contract state.
@@ -477,7 +462,7 @@ export const Contract = {
477
462
  * @category inspection
478
463
  */
479
464
  state: async (contract) => {
480
- return runEffectPromise(stateEffect(contract));
465
+ return runEffectWithLogging(stateEffect(contract), contract.logging);
481
466
  },
482
467
  /**
483
468
  * Get contract state at a specific block height.
@@ -486,7 +471,7 @@ export const Contract = {
486
471
  * @category inspection
487
472
  */
488
473
  stateAt: async (contract, blockHeight) => {
489
- return runEffectPromise(stateAtEffect(contract, blockHeight));
474
+ return runEffectWithLogging(stateAtEffect(contract, blockHeight), contract.logging);
490
475
  },
491
476
  /**
492
477
  * Get ledger state (parsed through ledger function).
@@ -495,7 +480,7 @@ export const Contract = {
495
480
  * @category inspection
496
481
  */
497
482
  ledgerState: async (contract) => {
498
- return runEffectPromise(ledgerStateEffect(contract));
483
+ return runEffectWithLogging(ledgerStateEffect(contract), contract.logging);
499
484
  },
500
485
  /**
501
486
  * Get ledger state at a specific block height.
@@ -504,7 +489,7 @@ export const Contract = {
504
489
  * @category inspection
505
490
  */
506
491
  ledgerStateAt: async (contract, blockHeight) => {
507
- return runEffectPromise(ledgerStateAtEffect(contract, blockHeight));
492
+ return runEffectWithLogging(ledgerStateAtEffect(contract, blockHeight), contract.logging);
508
493
  },
509
494
  /**
510
495
  * Raw Effect APIs for Contract.
@@ -597,7 +582,10 @@ export const ContractLive = Layer.succeed(ContractService, {
597
582
  // Layer Factories
598
583
  // =============================================================================
599
584
  /**
600
- * Create a Layer providing all Client-related services.
585
+ * Create a Layer providing all Client-related factory services.
586
+ *
587
+ * Use this when you want to create clients on-demand within your Effect programs.
588
+ * For pre-initialized clients, use `Client.layer(config)` instead.
601
589
  *
602
590
  * @example
603
591
  * ```typescript
@@ -610,13 +598,92 @@ export const ContractLive = Layer.succeed(ContractService, {
610
598
  * return client;
611
599
  * });
612
600
  *
613
- * await Effect.runPromise(program.pipe(Effect.provide(Midday.Client.layer())));
601
+ * await Effect.runPromise(program.pipe(Effect.provide(Midday.Client.services())));
614
602
  * ```
615
603
  *
616
604
  * @since 0.3.0
617
605
  * @category layer
618
606
  */
619
- export function layer() {
607
+ export function services() {
620
608
  return Layer.mergeAll(ClientLive, ContractBuilderLive, ContractLive);
621
609
  }
610
+ // =============================================================================
611
+ // Pre-configured Client Layer
612
+ // =============================================================================
613
+ /**
614
+ * Context.Tag for a pre-initialized MidnightClient.
615
+ *
616
+ * Use with `Client.layer(config)` for dependency injection of a configured client.
617
+ *
618
+ * @since 0.3.0
619
+ * @category service
620
+ */
621
+ export class MidnightClientService extends Context.Tag('MidnightClientService')() {
622
+ }
623
+ /**
624
+ * Create a Layer that provides a pre-initialized MidnightClient.
625
+ *
626
+ * This is the recommended way to inject a client into Effect programs
627
+ * when you have a known configuration at startup. Follows the same pattern
628
+ * as `Cluster.layer(config)`.
629
+ *
630
+ * @example
631
+ * ```typescript
632
+ * import { Effect } from 'effect';
633
+ * import * as Midday from '@no-witness-labs/midday-sdk';
634
+ *
635
+ * const clientLayer = Midday.Client.layer({
636
+ * seed: 'your-64-char-hex-seed',
637
+ * networkConfig: Midday.Config.NETWORKS.local,
638
+ * zkConfigProvider: new Midday.HttpZkConfigProvider('http://localhost:3000/zk'),
639
+ * privateStateProvider: Midday.inMemoryPrivateStateProvider(),
640
+ * });
641
+ *
642
+ * const program = Effect.gen(function* () {
643
+ * const client = yield* Midday.MidnightClientService;
644
+ * const builder = yield* Midday.Client.effect.contractFrom(client, { module });
645
+ * return builder;
646
+ * });
647
+ *
648
+ * await Effect.runPromise(program.pipe(Effect.provide(clientLayer)));
649
+ * ```
650
+ *
651
+ * @since 0.3.0
652
+ * @category layer
653
+ */
654
+ export function layer(config) {
655
+ return Layer.effect(MidnightClientService, createEffect(config));
656
+ }
657
+ /**
658
+ * Create a Layer that provides a pre-initialized MidnightClient from a wallet connection.
659
+ *
660
+ * Use this for browser environments with Lace wallet integration.
661
+ *
662
+ * @example
663
+ * ```typescript
664
+ * import { Effect } from 'effect';
665
+ * import * as Midday from '@no-witness-labs/midday-sdk';
666
+ *
667
+ * // After connecting wallet
668
+ * const connection = await Midday.connectWallet('testnet');
669
+ *
670
+ * const clientLayer = Midday.Client.layerFromWallet(connection, {
671
+ * zkConfigProvider: new Midday.HttpZkConfigProvider('https://cdn.example.com/zk'),
672
+ * privateStateProvider: Midday.indexedDBPrivateStateProvider({ privateStateStoreName: 'my-app' }),
673
+ * });
674
+ *
675
+ * const program = Effect.gen(function* () {
676
+ * const client = yield* Midday.MidnightClientService;
677
+ * // Use client...
678
+ * });
679
+ *
680
+ * await Effect.runPromise(program.pipe(Effect.provide(clientLayer)));
681
+ * ```
682
+ *
683
+ * @since 0.3.0
684
+ * @category layer
685
+ */
686
+ export function layerFromWallet(connection, config) {
687
+ return Layer.effect(MidnightClientService, fromWalletEffect(connection, config));
688
+ }
622
689
  //# sourceMappingURL=Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/Config.d.ts CHANGED
@@ -6,7 +6,6 @@
6
6
  */
7
7
  import { Context, Layer } from 'effect';
8
8
  import type { ZKConfigProvider, PrivateStateProvider } from '@midnight-ntwrk/midnight-js-types';
9
- import type { Logger } from './Client.js';
10
9
  import { ZkConfigProviderService } from './providers/HttpZkConfigProvider.js';
11
10
  import { PrivateStateProviderService } from './providers/IndexedDBPrivateStateProvider.js';
12
11
  export { ZkConfigProviderService, PrivateStateProviderService };
@@ -32,15 +31,6 @@ export declare function getNetworkConfig(network?: string): NetworkConfig;
32
31
  * Genesis wallet seed for local development (DO NOT use in production)
33
32
  */
34
33
  export declare const DEV_WALLET_SEED = "0000000000000000000000000000000000000000000000000000000000000001";
35
- declare const LoggerService_base: Context.TagClass<LoggerService, "LoggerService", Logger>;
36
- /**
37
- * Logger service for SDK operations.
38
- *
39
- * @since 0.3.0
40
- * @category services
41
- */
42
- export declare class LoggerService extends LoggerService_base {
43
- }
44
34
  declare const NetworkConfigService_base: Context.TagClass<NetworkConfigService, "NetworkConfigService", NetworkConfig>;
45
35
  /**
46
36
  * Network configuration service.
@@ -57,7 +47,6 @@ export declare class NetworkConfigService extends NetworkConfigService_base {
57
47
  * @category services
58
48
  */
59
49
  export interface SdkConfig {
60
- readonly logger: Logger;
61
50
  readonly networkConfig: NetworkConfig;
62
51
  readonly zkConfigProvider: ZKConfigProvider<string>;
63
52
  readonly privateStateProvider: PrivateStateProvider;
@@ -81,25 +70,26 @@ export declare class SdkConfigService extends SdkConfigService_base {
81
70
  * import * as Midday from '@no-witness-labs/midday-sdk';
82
71
  *
83
72
  * const servicesLayer = Midday.Config.makeSdkLayer({
84
- * logger: console,
85
73
  * networkConfig: Midday.Config.NETWORKS.local,
86
74
  * zkConfigProvider: new Midday.HttpZkConfigProvider('http://localhost:3000/zk'),
87
75
  * privateStateProvider: Midday.inMemoryPrivateStateProvider(),
88
76
  * });
89
77
  *
90
- * // Use in Effect programs
78
+ * // Use in Effect programs with debug logging
91
79
  * const program = Effect.gen(function* () {
92
- * const logger = yield* Midday.Config.LoggerService;
93
80
  * const config = yield* Midday.Config.NetworkConfigService;
94
- * logger.info(`Using network: ${config.networkId}`);
81
+ * yield* Effect.logDebug(`Using network: ${config.networkId}`);
95
82
  * });
96
83
  *
97
- * // Provide all services at once
98
- * await Effect.runPromise(program.pipe(Effect.provide(servicesLayer)));
84
+ * // Provide services and enable debug logging
85
+ * await Effect.runPromise(program.pipe(
86
+ * Effect.provide(servicesLayer),
87
+ * Effect.provide(Midday.SdkLogger.withDebug),
88
+ * ));
99
89
  * ```
100
90
  *
101
91
  * @since 0.3.0
102
92
  * @category services
103
93
  */
104
- export declare function makeSdkLayer(config: SdkConfig): Layer.Layer<LoggerService | NetworkConfigService | ZkConfigProviderService | PrivateStateProviderService | SdkConfigService>;
94
+ export declare function makeSdkLayer(config: SdkConfig): Layer.Layer<NetworkConfigService | ZkConfigProviderService | PrivateStateProviderService | SdkConfigService>;
105
95
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAC;AAMhE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAezC,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAgB,GAAG,aAAa,CAOzE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,qEAAqE,CAAC;;AAMlG;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,kBAAqD;CAAG;;AAE3F;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,yBAGvC;CAAG;AAEN;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACrD;;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,qBAA8D;CAAG;AAEvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,KAAK,CAC1D,aAAa,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,gBAAgB,CAChH,CAQA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEhG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,CAAC;AAMhE,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAezC,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAgB,GAAG,aAAa,CAOzE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,qEAAqE,CAAC;;AAMlG;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,yBAGvC;CAAG;AAEN;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACrD;;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,qBAA8D;CAAG;AAEvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,KAAK,CAC1D,oBAAoB,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,gBAAgB,CAChG,CAOA"}